diff --git a/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.canvas.html.ini b/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.canvas.html.ini new file mode 100644 index 00000000000..50084ff0b01 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.canvas.html.ini @@ -0,0 +1,5 @@ +[2d.drawImage.canvas.html] + type: testharness + [Canvas test: 2d.drawImage.canvas] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.1.html.ini b/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.1.html.ini new file mode 100644 index 00000000000..f1466e20fe5 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.1.html.ini @@ -0,0 +1,5 @@ +[2d.drawImage.self.1.html] + type: testharness + [Canvas test: 2d.drawImage.self.1] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.2.html.ini b/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.2.html.ini new file mode 100644 index 00000000000..a7e3656486d --- /dev/null +++ b/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.2.html.ini @@ -0,0 +1,5 @@ +[2d.drawImage.self.2.html] + type: testharness + [Canvas test: 2d.drawImage.self.2] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.nonfinite.html.ini b/tests/wpt/metadata/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.nonfinite.html.ini new file mode 100644 index 00000000000..915e0758635 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.nonfinite.html.ini @@ -0,0 +1,5 @@ +[2d.clearRect.nonfinite.html] + type: testharness + [clearRect() with Infinity/NaN is ignored] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/image-smoothing/imagesmoothing.html.ini b/tests/wpt/metadata/2dcontext/image-smoothing/imagesmoothing.html.ini new file mode 100644 index 00000000000..0aa58081d2f --- /dev/null +++ b/tests/wpt/metadata/2dcontext/image-smoothing/imagesmoothing.html.ini @@ -0,0 +1,5 @@ +[imagesmoothing.html] + type: testharness + [When the CanvasRenderingContext2D object is created, the attribute must be set to true.] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/line-styles/2d.line.cap.butt.html.ini b/tests/wpt/metadata/2dcontext/line-styles/2d.line.cap.butt.html.ini new file mode 100644 index 00000000000..386a0b1cf36 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/line-styles/2d.line.cap.butt.html.ini @@ -0,0 +1,5 @@ +[2d.line.cap.butt.html] + type: testharness + [lineCap \'butt\' is rendered correctly] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/line-styles/2d.line.cap.closed.html.ini b/tests/wpt/metadata/2dcontext/line-styles/2d.line.cap.closed.html.ini new file mode 100644 index 00000000000..20856efda4e --- /dev/null +++ b/tests/wpt/metadata/2dcontext/line-styles/2d.line.cap.closed.html.ini @@ -0,0 +1,5 @@ +[2d.line.cap.closed.html] + type: testharness + [Line caps are not drawn at the corners of an unclosed rectangle] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/line-styles/2d.line.cross.html.ini b/tests/wpt/metadata/2dcontext/line-styles/2d.line.cross.html.ini new file mode 100644 index 00000000000..ca2d0b733fd --- /dev/null +++ b/tests/wpt/metadata/2dcontext/line-styles/2d.line.cross.html.ini @@ -0,0 +1,5 @@ +[2d.line.cross.html] + type: testharness + [Canvas test: 2d.line.cross] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/line-styles/2d.line.join.open.html.ini b/tests/wpt/metadata/2dcontext/line-styles/2d.line.join.open.html.ini new file mode 100644 index 00000000000..2d03bf89eb5 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/line-styles/2d.line.join.open.html.ini @@ -0,0 +1,5 @@ +[2d.line.join.open.html] + type: testharness + [Line joins are not drawn at the corner of an unclosed rectangle] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/line-styles/2d.line.miter.exceeded.html.ini b/tests/wpt/metadata/2dcontext/line-styles/2d.line.miter.exceeded.html.ini new file mode 100644 index 00000000000..9bfac57b79b --- /dev/null +++ b/tests/wpt/metadata/2dcontext/line-styles/2d.line.miter.exceeded.html.ini @@ -0,0 +1,5 @@ +[2d.line.miter.exceeded.html] + type: testharness + [Miter joins are not drawn when the miter limit is exceeded] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/line-styles/2d.line.miter.rightangle.html.ini b/tests/wpt/metadata/2dcontext/line-styles/2d.line.miter.rightangle.html.ini new file mode 100644 index 00000000000..ec3453af662 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/line-styles/2d.line.miter.rightangle.html.ini @@ -0,0 +1,5 @@ +[2d.line.miter.rightangle.html] + type: testharness + [Miter joins are not drawn when the miter limit is exceeded, on exact right angles] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/line-styles/2d.line.width.scaledefault.html.ini b/tests/wpt/metadata/2dcontext/line-styles/2d.line.width.scaledefault.html.ini new file mode 100644 index 00000000000..f5ee638b6a1 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/line-styles/2d.line.width.scaledefault.html.ini @@ -0,0 +1,5 @@ +[2d.line.width.scaledefault.html] + type: testharness + [Default lineWidth strokes are affected by scale transformations] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.empty.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.empty.html.ini new file mode 100644 index 00000000000..8453ab18b35 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.empty.html.ini @@ -0,0 +1,5 @@ +[2d.path.arc.empty.html] + type: testharness + [arc() with an empty path does not draw a straight line to the start point] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.end.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.end.html.ini new file mode 100644 index 00000000000..8aa906851c8 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.end.html.ini @@ -0,0 +1,5 @@ +[2d.path.arc.end.html] + type: testharness + [arc() adds the end point of the arc to the subpath] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.nonempty.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.nonempty.html.ini new file mode 100644 index 00000000000..7855f8b17d1 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.nonempty.html.ini @@ -0,0 +1,5 @@ +[2d.path.arc.nonempty.html] + type: testharness + [arc() with a non-empty path does draw a straight line to the start point] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.selfintersect.1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.selfintersect.1.html.ini new file mode 100644 index 00000000000..64fb4beeedc --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.selfintersect.1.html.ini @@ -0,0 +1,5 @@ +[2d.path.arc.selfintersect.1.html] + type: testharness + [arc() with lineWidth > 2*radius is drawn sensibly] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.1.html.ini new file mode 100644 index 00000000000..005cb67064a --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.1.html.ini @@ -0,0 +1,5 @@ +[2d.path.arc.shape.1.html] + type: testharness + [arc() from 0 to pi does not draw anything in the wrong half] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.3.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.3.html.ini new file mode 100644 index 00000000000..9b7071262b9 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.3.html.ini @@ -0,0 +1,5 @@ +[2d.path.arc.shape.3.html] + type: testharness + [arc() from 0 to -pi/2 does not draw anything in the wrong quadrant] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.5.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.5.html.ini new file mode 100644 index 00000000000..7e2e20baf52 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.shape.5.html.ini @@ -0,0 +1,5 @@ +[2d.path.arc.shape.5.html] + type: testharness + [arc() from 0 to 5pi does not draw crazy things] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.twopie.1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.twopie.1.html.ini new file mode 100644 index 00000000000..de2110b0beb --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.twopie.1.html.ini @@ -0,0 +1,5 @@ +[2d.path.arc.twopie.1.html] + type: testharness + [arc() draws nothing when end = start + 2pi-e and anticlockwise] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.zero.1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.zero.1.html.ini new file mode 100644 index 00000000000..b0c2394bb03 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.zero.1.html.ini @@ -0,0 +1,5 @@ +[2d.path.arc.zero.1.html] + type: testharness + [arc() draws nothing when startAngle = endAngle and anticlockwise] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.zero.2.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.zero.2.html.ini new file mode 100644 index 00000000000..9b1dd1a715b --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.zero.2.html.ini @@ -0,0 +1,5 @@ +[2d.path.arc.zero.2.html] + type: testharness + [arc() draws nothing when startAngle = endAngle and clockwise] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.zeroradius.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.zeroradius.html.ini new file mode 100644 index 00000000000..c0d7eb76e57 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.arc.zeroradius.html.ini @@ -0,0 +1,5 @@ +[2d.path.arc.zeroradius.html] + type: testharness + [arc() with zero radius draws a line to the start point] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.bezierCurveTo.basic.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.bezierCurveTo.basic.html.ini new file mode 100644 index 00000000000..51f7febafc4 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.bezierCurveTo.basic.html.ini @@ -0,0 +1,5 @@ +[2d.path.bezierCurveTo.basic.html] + type: testharness + [Canvas test: 2d.path.bezierCurveTo.basic] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.1.html.ini new file mode 100644 index 00000000000..040e0d40e74 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.1.html.ini @@ -0,0 +1,5 @@ +[2d.path.bezierCurveTo.ensuresubpath.1.html] + type: testharness + [If there is no subpath, the first control point is added (and nothing is drawn up to it)] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.bezierCurveTo.nonfinite.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.bezierCurveTo.nonfinite.html.ini new file mode 100644 index 00000000000..3e6cdd5d089 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.bezierCurveTo.nonfinite.html.ini @@ -0,0 +1,5 @@ +[2d.path.bezierCurveTo.nonfinite.html] + type: testharness + [bezierCurveTo() with Infinity/NaN is ignored] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.bezierCurveTo.scaled.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.bezierCurveTo.scaled.html.ini new file mode 100644 index 00000000000..438a372be12 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.bezierCurveTo.scaled.html.ini @@ -0,0 +1,5 @@ +[2d.path.bezierCurveTo.scaled.html] + type: testharness + [Canvas test: 2d.path.bezierCurveTo.scaled] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.closePath.newline.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.closePath.newline.html.ini new file mode 100644 index 00000000000..72c6c30fb79 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.closePath.newline.html.ini @@ -0,0 +1,5 @@ +[2d.path.closePath.newline.html] + type: testharness + [Canvas test: 2d.path.closePath.newline] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.closePath.nextpoint.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.closePath.nextpoint.html.ini new file mode 100644 index 00000000000..b79e0fc4396 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.closePath.nextpoint.html.ini @@ -0,0 +1,5 @@ +[2d.path.closePath.nextpoint.html] + type: testharness + [Canvas test: 2d.path.closePath.nextpoint] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.basic.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.basic.html.ini new file mode 100644 index 00000000000..9ad2b96500c --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.basic.html.ini @@ -0,0 +1,5 @@ +[2d.path.lineTo.basic.html] + type: testharness + [Canvas test: 2d.path.lineTo.basic] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.1.html.ini new file mode 100644 index 00000000000..7fe70780084 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.1.html.ini @@ -0,0 +1,5 @@ +[2d.path.lineTo.ensuresubpath.1.html] + type: testharness + [If there is no subpath, the point is added and nothing is drawn] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.2.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.2.html.ini new file mode 100644 index 00000000000..87c2f5be4b0 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.2.html.ini @@ -0,0 +1,5 @@ +[2d.path.lineTo.ensuresubpath.2.html] + type: testharness + [If there is no subpath, the point is added and used for subsequent drawing] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.nextpoint.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.nextpoint.html.ini new file mode 100644 index 00000000000..0fdb557edc2 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.nextpoint.html.ini @@ -0,0 +1,5 @@ +[2d.path.lineTo.nextpoint.html] + type: testharness + [Canvas test: 2d.path.lineTo.nextpoint] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.nonfinite.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.nonfinite.html.ini new file mode 100644 index 00000000000..a40bdb285b9 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.lineTo.nonfinite.html.ini @@ -0,0 +1,5 @@ +[2d.path.lineTo.nonfinite.html] + type: testharness + [lineTo() with Infinity/NaN is ignored] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.moveTo.multiple.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.moveTo.multiple.html.ini new file mode 100644 index 00000000000..88ed837c51c --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.moveTo.multiple.html.ini @@ -0,0 +1,5 @@ +[2d.path.moveTo.multiple.html] + type: testharness + [Canvas test: 2d.path.moveTo.multiple] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.moveTo.nonfinite.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.moveTo.nonfinite.html.ini new file mode 100644 index 00000000000..8d6dd344381 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.moveTo.nonfinite.html.ini @@ -0,0 +1,5 @@ +[2d.path.moveTo.nonfinite.html] + type: testharness + [moveTo() with Infinity/NaN is ignored] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.basic.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.basic.html.ini new file mode 100644 index 00000000000..d3b625a5d54 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.basic.html.ini @@ -0,0 +1,5 @@ +[2d.path.quadraticCurveTo.basic.html] + type: testharness + [Canvas test: 2d.path.quadraticCurveTo.basic] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.1.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.1.html.ini new file mode 100644 index 00000000000..0a1545fe4c2 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.1.html.ini @@ -0,0 +1,5 @@ +[2d.path.quadraticCurveTo.ensuresubpath.1.html] + type: testharness + [If there is no subpath, the first control point is added (and nothing is drawn up to it)] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.nonfinite.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.nonfinite.html.ini new file mode 100644 index 00000000000..5f47e04b2f7 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.nonfinite.html.ini @@ -0,0 +1,5 @@ +[2d.path.quadraticCurveTo.nonfinite.html] + type: testharness + [quadraticCurveTo() with Infinity/NaN is ignored] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.scaled.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.scaled.html.ini new file mode 100644 index 00000000000..b5866f7763b --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.quadraticCurveTo.scaled.html.ini @@ -0,0 +1,5 @@ +[2d.path.quadraticCurveTo.scaled.html] + type: testharness + [Canvas test: 2d.path.quadraticCurveTo.scaled] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.empty.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.empty.html.ini new file mode 100644 index 00000000000..0582bcd1000 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.empty.html.ini @@ -0,0 +1,5 @@ +[2d.path.stroke.empty.html] + type: testharness + [Empty subpaths are not stroked] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.prune.closed.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.prune.closed.html.ini new file mode 100644 index 00000000000..e725f778232 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.prune.closed.html.ini @@ -0,0 +1,5 @@ +[2d.path.stroke.prune.closed.html] + type: testharness + [Zero-length line segments from closed paths are removed before stroking] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.prune.corner.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.prune.corner.html.ini new file mode 100644 index 00000000000..42da280f6e4 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.prune.corner.html.ini @@ -0,0 +1,5 @@ +[2d.path.stroke.prune.corner.html] + type: testharness + [Zero-length line segments are removed before stroking with miters] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.prune.curve.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.prune.curve.html.ini new file mode 100644 index 00000000000..8c0ce9d70c1 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.prune.curve.html.ini @@ -0,0 +1,5 @@ +[2d.path.stroke.prune.curve.html] + type: testharness + [Zero-length line segments from quadraticCurveTo and bezierCurveTo are removed before stroking] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.prune.line.html.ini b/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.prune.line.html.ini new file mode 100644 index 00000000000..5a56734aad4 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/path-objects/2d.path.stroke.prune.line.html.ini @@ -0,0 +1,5 @@ +[2d.path.stroke.prune.line.html] + type: testharness + [Zero-length line segments from lineTo are removed before stroking] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html.ini b/tests/wpt/metadata/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html.ini new file mode 100644 index 00000000000..dee5527cb27 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html.ini @@ -0,0 +1,5 @@ +[2d.imageData.get.nonfinite.html] + type: testharness + [getImageData() throws TypeError if arguments are not finite] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html.ini b/tests/wpt/metadata/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html.ini new file mode 100644 index 00000000000..e0f83c5951d --- /dev/null +++ b/tests/wpt/metadata/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html.ini @@ -0,0 +1,5 @@ +[2d.imageData.put.nonfinite.html] + type: testharness + [putImageData() throws TypeError if arguments are not finite] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.stroke.cap.1.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.stroke.cap.1.html.ini new file mode 100644 index 00000000000..eae9eb9866b --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.stroke.cap.1.html.ini @@ -0,0 +1,5 @@ +[2d.shadow.stroke.cap.1.html] + type: testharness + [Shadows are not drawn for areas outside stroke caps] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.stroke.join.1.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.stroke.join.1.html.ini new file mode 100644 index 00000000000..252b5d3ac0e --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.stroke.join.1.html.ini @@ -0,0 +1,5 @@ +[2d.shadow.stroke.join.1.html] + type: testharness + [Shadows are not drawn for areas outside stroke joins] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/shadows/2d.shadow.stroke.join.3.html.ini b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.stroke.join.3.html.ini new file mode 100644 index 00000000000..c0560c8aaba --- /dev/null +++ b/tests/wpt/metadata/2dcontext/shadows/2d.shadow.stroke.join.3.html.ini @@ -0,0 +1,5 @@ +[2d.shadow.stroke.join.3.html] + type: testharness + [Shadows are drawn for stroke joins respecting miter limit] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/transformations/2d.transformation.scale.nonfinite.html.ini b/tests/wpt/metadata/2dcontext/transformations/2d.transformation.scale.nonfinite.html.ini new file mode 100644 index 00000000000..c8974564113 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/transformations/2d.transformation.scale.nonfinite.html.ini @@ -0,0 +1,5 @@ +[2d.transformation.scale.nonfinite.html] + type: testharness + [scale() with Infinity/NaN is ignored] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/transformations/2d.transformation.setTransform.nonfinite.html.ini b/tests/wpt/metadata/2dcontext/transformations/2d.transformation.setTransform.nonfinite.html.ini new file mode 100644 index 00000000000..3b104d0b1e2 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/transformations/2d.transformation.setTransform.nonfinite.html.ini @@ -0,0 +1,5 @@ +[2d.transformation.setTransform.nonfinite.html] + type: testharness + [setTransform() with Infinity/NaN is ignored] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/transformations/2d.transformation.transform.nonfinite.html.ini b/tests/wpt/metadata/2dcontext/transformations/2d.transformation.transform.nonfinite.html.ini new file mode 100644 index 00000000000..f96c4fdfe63 --- /dev/null +++ b/tests/wpt/metadata/2dcontext/transformations/2d.transformation.transform.nonfinite.html.ini @@ -0,0 +1,5 @@ +[2d.transformation.transform.nonfinite.html] + type: testharness + [transform() with Infinity/NaN is ignored] + expected: FAIL + diff --git a/tests/wpt/metadata/2dcontext/transformations/2d.transformation.translate.nonfinite.html.ini b/tests/wpt/metadata/2dcontext/transformations/2d.transformation.translate.nonfinite.html.ini new file mode 100644 index 00000000000..130cfa45cff --- /dev/null +++ b/tests/wpt/metadata/2dcontext/transformations/2d.transformation.translate.nonfinite.html.ini @@ -0,0 +1,5 @@ +[2d.transformation.translate.nonfinite.html] + type: testharness + [translate() with Infinity/NaN is ignored] + expected: FAIL + diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 67335b2c749..77a963fdaee 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -9547,6 +9547,10 @@ "path": "XMLHttpRequest/send-non-same-origin.sub.htm", "url": "/XMLHttpRequest/send-non-same-origin.sub.htm" }, + { + "path": "XMLHttpRequest/send-receive-utf16.htm", + "url": "/XMLHttpRequest/send-receive-utf16.htm" + }, { "path": "XMLHttpRequest/send-redirect-bogus-sync.htm", "url": "/XMLHttpRequest/send-redirect-bogus-sync.htm" @@ -14187,10 +14191,6 @@ "path": "html/semantics/forms/the-textarea-element/textarea-type.html", "url": "/html/semantics/forms/the-textarea-element/textarea-type.html" }, - { - "path": "html/semantics/grouping-content/the-blockquote-element/grouping-blockquote.sub.html", - "url": "/html/semantics/grouping-content/the-blockquote-element/grouping-blockquote.sub.html" - }, { "path": "html/semantics/grouping-content/the-dd-element/grouping-dd.html", "url": "/html/semantics/grouping-content/the-dd-element/grouping-dd.html" @@ -25034,7 +25034,7 @@ } ] }, - "rev": "29dfb8944e535d439ca94cf7d1b1d9138a8ad11f", + "rev": "0d318188757a9c996e20b82db201fd04de5aa255", "url_base": "/", "version": 2 } \ No newline at end of file diff --git a/tests/wpt/metadata/webstorage/event_constructor.html.ini b/tests/wpt/metadata/webstorage/event_constructor.html.ini new file mode 100644 index 00000000000..3ce5130acf1 --- /dev/null +++ b/tests/wpt/metadata/webstorage/event_constructor.html.ini @@ -0,0 +1,9 @@ +[event_constructor.html] + type: testharness + expected: TIMEOUT + [Web Storage] + expected: FAIL + + [storageeventinit test] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webstorage/event_constructor_js.html.ini b/tests/wpt/metadata/webstorage/event_constructor_js.html.ini new file mode 100644 index 00000000000..447e6c26fb6 --- /dev/null +++ b/tests/wpt/metadata/webstorage/event_constructor_js.html.ini @@ -0,0 +1,9 @@ +[event_constructor_js.html] + type: testharness + expected: TIMEOUT + [Web Storage] + expected: FAIL + + [StorageEvent constructor and nulls] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webstorage/event_local_storageeventinit.html.ini b/tests/wpt/metadata/webstorage/event_local_storageeventinit.html.ini new file mode 100644 index 00000000000..0658b8df06c --- /dev/null +++ b/tests/wpt/metadata/webstorage/event_local_storageeventinit.html.ini @@ -0,0 +1,9 @@ +[event_local_storageeventinit.html] + type: testharness + expected: TIMEOUT + [Web Storage] + expected: FAIL + + [storageeventinit test] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webstorage/event_session_storageeventinit.html.ini b/tests/wpt/metadata/webstorage/event_session_storageeventinit.html.ini new file mode 100644 index 00000000000..e4584f0cc12 --- /dev/null +++ b/tests/wpt/metadata/webstorage/event_session_storageeventinit.html.ini @@ -0,0 +1,9 @@ +[event_session_storageeventinit.html] + type: testharness + expected: TIMEOUT + [Web Storage] + expected: FAIL + + [storageeventinit test] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webstorage/missing_arguments.html.ini b/tests/wpt/metadata/webstorage/missing_arguments.html.ini new file mode 100644 index 00000000000..8cf2b387477 --- /dev/null +++ b/tests/wpt/metadata/webstorage/missing_arguments.html.ini @@ -0,0 +1,5 @@ +[missing_arguments.html] + type: testharness + [Should throw TypeError for function "function () { new StorageEvent(); }".] + expected: FAIL + diff --git a/tests/wpt/metadata/webstorage/storage_local_key.html.ini b/tests/wpt/metadata/webstorage/storage_local_key.html.ini new file mode 100644 index 00000000000..6c1b6d8aac8 --- /dev/null +++ b/tests/wpt/metadata/webstorage/storage_local_key.html.ini @@ -0,0 +1,5 @@ +[storage_local_key.html] + type: testharness + [Web Storage 3] + expected: FAIL + diff --git a/tests/wpt/web-platform-tests b/tests/wpt/web-platform-tests deleted file mode 160000 index 29dfb8944e5..00000000000 --- a/tests/wpt/web-platform-tests +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 29dfb8944e535d439ca94cf7d1b1d9138a8ad11f diff --git a/tests/wpt/web-platform-tests/.gitignore b/tests/wpt/web-platform-tests/.gitignore new file mode 100644 index 00000000000..72908a311d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/.gitignore @@ -0,0 +1,11 @@ +*# +*.py[co] +*.sw[po] +*~ +MANIFEST.json +\#* +_certs +config.json +node_modules +scratch +testharness_runner.html diff --git a/tests/wpt/web-platform-tests/.gitmodules b/tests/wpt/web-platform-tests/.gitmodules new file mode 100644 index 00000000000..787d28dde64 --- /dev/null +++ b/tests/wpt/web-platform-tests/.gitmodules @@ -0,0 +1,7 @@ +[submodule "resources"] + path = resources + url = https://github.com/w3c/testharness.js.git + ignore = dirty +[submodule "tools"] + path = tools + url = https://github.com/w3c/wpt-tools.git diff --git a/tests/wpt/web-platform-tests/.travis.yml b/tests/wpt/web-platform-tests/.travis.yml new file mode 100644 index 00000000000..566fe18a9a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/.travis.yml @@ -0,0 +1,7 @@ +language: python +python: + - "2.7" +before_install: + - git submodule update --init --recursive +# command to run tests, e.g. python setup.py test +script: ./lint \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/2dcontext/best-practices/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/best-practices/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/building-paths/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/building-paths/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/building-paths/canvas_complexshapes_arcto_001-ref.htm b/tests/wpt/web-platform-tests/2dcontext/building-paths/canvas_complexshapes_arcto_001-ref.htm new file mode 100644 index 00000000000..6fc212ea482 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/building-paths/canvas_complexshapes_arcto_001-ref.htm @@ -0,0 +1,11 @@ + + + + HTML5 Canvas Test: arcTo() adds to subpath if same point + + + +

Description: If x1,y1 and x2,y2 are the same point, then arcTo must add x1,y1 to the subpath, and connect that point to x0,y0 with a straight line.

+
line
+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/building-paths/canvas_complexshapes_arcto_001.htm b/tests/wpt/web-platform-tests/2dcontext/building-paths/canvas_complexshapes_arcto_001.htm new file mode 100644 index 00000000000..c3f2fb6f436 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/building-paths/canvas_complexshapes_arcto_001.htm @@ -0,0 +1,26 @@ + + + + HTML5 Canvas Test: arcTo() adds to subpath if same point + + + + + + + +

Description: If x1,y1 and x2,y2 are the same point, then arcTo must add x1,y1 to the subpath, and connect that point to x0,y0 with a straight line.

+ Browser does not support HTML5 Canvas. + + diff --git a/tests/wpt/web-platform-tests/2dcontext/building-paths/canvas_complexshapes_beziercurveto_001-ref.htm b/tests/wpt/web-platform-tests/2dcontext/building-paths/canvas_complexshapes_beziercurveto_001-ref.htm new file mode 100644 index 00000000000..935e84c5c85 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/building-paths/canvas_complexshapes_beziercurveto_001-ref.htm @@ -0,0 +1,11 @@ + + + + HTML5 Canvas Test: bezierCurveTo() must ensure subpaths + + + +

Description: bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) must ensure there is a subpath for the point (cp1x,cp1y) if the context has no subpaths, then it must connect the last point in the subpath to the point (x,y).

+
smiley
+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/building-paths/canvas_complexshapes_beziercurveto_001.htm b/tests/wpt/web-platform-tests/2dcontext/building-paths/canvas_complexshapes_beziercurveto_001.htm new file mode 100644 index 00000000000..d04926ebaca --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/building-paths/canvas_complexshapes_beziercurveto_001.htm @@ -0,0 +1,35 @@ + + + + HTML5 Canvas Test: bezierCurveTo() must ensure subpaths + + + + + + + +

Description: bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) must ensure there is a subpath for the point (cp1x,cp1y) if the context has no subpaths, then it must connect the last point in the subpath to the point (x,y).

+ Browser does not support HTML5 Canvas. + + diff --git a/tests/wpt/web-platform-tests/2dcontext/clear-100x50.png b/tests/wpt/web-platform-tests/2dcontext/clear-100x50.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/clear-100x50.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/compositing/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.copy.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.copy.html new file mode 100644 index 00000000000..5f32421fb79 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.copy.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.composite.canvas.copy + + + + + + +

2d.composite.canvas.copy

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.copy.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.copy.png new file mode 100644 index 00000000000..8e0668efb81 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.copy.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-atop.html new file mode 100644 index 00000000000..14261d0be0f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-atop.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.composite.canvas.destination-atop + + + + + + +

2d.composite.canvas.destination-atop

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-atop.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-atop.png new file mode 100644 index 00000000000..59bdc91e909 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-atop.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-in.html new file mode 100644 index 00000000000..2320064fa26 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-in.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.composite.canvas.destination-in + + + + + + +

2d.composite.canvas.destination-in

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-in.png new file mode 100644 index 00000000000..790e418a6b4 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-out.html new file mode 100644 index 00000000000..5d392eebc81 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-out.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.composite.canvas.destination-out + + + + + + +

2d.composite.canvas.destination-out

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-out.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-out.png new file mode 100644 index 00000000000..7f5ed1a8360 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-out.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-over.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-over.html new file mode 100644 index 00000000000..130cbba8fcb --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-over.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.composite.canvas.destination-over + + + + + + +

2d.composite.canvas.destination-over

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-over.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-over.png new file mode 100644 index 00000000000..ac86892233f Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.destination-over.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.lighter.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.lighter.html new file mode 100644 index 00000000000..bab8118617d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.lighter.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.composite.canvas.lighter + + + + + + +

2d.composite.canvas.lighter

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.lighter.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.lighter.png new file mode 100644 index 00000000000..9ffde4198bc Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.lighter.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-atop.html new file mode 100644 index 00000000000..3d19701ddf8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-atop.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.composite.canvas.source-atop + + + + + + +

2d.composite.canvas.source-atop

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-atop.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-atop.png new file mode 100644 index 00000000000..1ef9630195d Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-atop.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-in.html new file mode 100644 index 00000000000..dfc1a5af8bb --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-in.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.composite.canvas.source-in + + + + + + +

2d.composite.canvas.source-in

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-in.png new file mode 100644 index 00000000000..c26cdccf02f Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-out.html new file mode 100644 index 00000000000..a4bd322bef1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-out.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.composite.canvas.source-out + + + + + + +

2d.composite.canvas.source-out

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-out.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-out.png new file mode 100644 index 00000000000..c26cdccf02f Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-out.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-over.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-over.html new file mode 100644 index 00000000000..ff8dc528bf1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-over.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.composite.canvas.source-over + + + + + + +

2d.composite.canvas.source-over

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-over.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-over.png new file mode 100644 index 00000000000..5437608a83b Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.source-over.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.xor.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.xor.html new file mode 100644 index 00000000000..f39a023f6fd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.xor.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.composite.canvas.xor + + + + + + +

2d.composite.canvas.xor

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.xor.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.xor.png new file mode 100644 index 00000000000..1ef9630195d Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.canvas.xor.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.copy.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.copy.html new file mode 100644 index 00000000000..08096cf1fd3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.copy.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.composite.clip.copy + + + + + + +

2d.composite.clip.copy

+

fill() does not affect pixels outside the clip region.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-atop.html new file mode 100644 index 00000000000..c05cd34b5f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-atop.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.composite.clip.destination-atop + + + + + + +

2d.composite.clip.destination-atop

+

fill() does not affect pixels outside the clip region.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-in.html new file mode 100644 index 00000000000..24aff70cdfb --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-in.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.composite.clip.destination-in + + + + + + +

2d.composite.clip.destination-in

+

fill() does not affect pixels outside the clip region.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-out.html new file mode 100644 index 00000000000..afeb00984db --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-out.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.composite.clip.destination-out + + + + + + +

2d.composite.clip.destination-out

+

fill() does not affect pixels outside the clip region.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-over.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-over.html new file mode 100644 index 00000000000..7a258836d49 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.destination-over.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.composite.clip.destination-over + + + + + + +

2d.composite.clip.destination-over

+

fill() does not affect pixels outside the clip region.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.lighter.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.lighter.html new file mode 100644 index 00000000000..ffc864b7b12 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.lighter.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.composite.clip.lighter + + + + + + +

2d.composite.clip.lighter

+

fill() does not affect pixels outside the clip region.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.source-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.source-atop.html new file mode 100644 index 00000000000..4580b54293c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.source-atop.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.composite.clip.source-atop + + + + + + +

2d.composite.clip.source-atop

+

fill() does not affect pixels outside the clip region.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.source-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.source-in.html new file mode 100644 index 00000000000..79c4e16a619 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.source-in.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.composite.clip.source-in + + + + + + +

2d.composite.clip.source-in

+

fill() does not affect pixels outside the clip region.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.source-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.source-out.html new file mode 100644 index 00000000000..53456660dfa --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.source-out.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.composite.clip.source-out + + + + + + +

2d.composite.clip.source-out

+

fill() does not affect pixels outside the clip region.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.source-over.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.source-over.html new file mode 100644 index 00000000000..98b446a1fe3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.source-over.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.composite.clip.source-over + + + + + + +

2d.composite.clip.source-over

+

fill() does not affect pixels outside the clip region.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.xor.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.xor.html new file mode 100644 index 00000000000..b6e36bc11ac --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.clip.xor.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.composite.clip.xor + + + + + + +

2d.composite.clip.xor

+

fill() does not affect pixels outside the clip region.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.canvas.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.canvas.html new file mode 100644 index 00000000000..0b6df493057 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.canvas.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.composite.globalAlpha.canvas + + + + + + +

2d.composite.globalAlpha.canvas

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.canvaspattern.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.canvaspattern.html new file mode 100644 index 00000000000..eeb2442bf37 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.canvaspattern.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.composite.globalAlpha.canvaspattern + + + + + + +

2d.composite.globalAlpha.canvaspattern

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.default.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.default.html new file mode 100644 index 00000000000..f84a340fe21 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.default.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.composite.globalAlpha.default + + + + + + +

2d.composite.globalAlpha.default

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.fill.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.fill.html new file mode 100644 index 00000000000..591fb6b5a5b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.fill.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.composite.globalAlpha.fill + + + + + + +

2d.composite.globalAlpha.fill

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.image.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.image.html new file mode 100644 index 00000000000..b796992dea2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.image.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.composite.globalAlpha.image + + + + + + +

2d.composite.globalAlpha.image

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.imagepattern.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.imagepattern.html new file mode 100644 index 00000000000..ab8633952af --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.imagepattern.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.globalAlpha.imagepattern + + + + + + +

2d.composite.globalAlpha.imagepattern

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.invalid.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.invalid.html new file mode 100644 index 00000000000..980ef8380f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.invalid.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.globalAlpha.invalid + + + + + + +

2d.composite.globalAlpha.invalid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.range.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.range.html new file mode 100644 index 00000000000..14926e6ebf2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.globalAlpha.range.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.composite.globalAlpha.range + + + + + + +

2d.composite.globalAlpha.range

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.copy.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.copy.html new file mode 100644 index 00000000000..96492347b43 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.copy.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.image.copy + + + + + + +

2d.composite.image.copy

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.copy.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.copy.png new file mode 100644 index 00000000000..8e0668efb81 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.copy.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-atop.html new file mode 100644 index 00000000000..221e7b205cc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-atop.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.image.destination-atop + + + + + + +

2d.composite.image.destination-atop

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-atop.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-atop.png new file mode 100644 index 00000000000..59bdc91e909 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-atop.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-in.html new file mode 100644 index 00000000000..b52860205c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-in.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.image.destination-in + + + + + + +

2d.composite.image.destination-in

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-in.png new file mode 100644 index 00000000000..790e418a6b4 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-out.html new file mode 100644 index 00000000000..572ad859ad1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-out.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.image.destination-out + + + + + + +

2d.composite.image.destination-out

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-out.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-out.png new file mode 100644 index 00000000000..7f5ed1a8360 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-out.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-over.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-over.html new file mode 100644 index 00000000000..16131412bce --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-over.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.image.destination-over + + + + + + +

2d.composite.image.destination-over

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-over.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-over.png new file mode 100644 index 00000000000..ac86892233f Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.destination-over.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.lighter.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.lighter.html new file mode 100644 index 00000000000..f44d6dc3238 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.lighter.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.image.lighter + + + + + + +

2d.composite.image.lighter

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.lighter.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.lighter.png new file mode 100644 index 00000000000..9ffde4198bc Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.lighter.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-atop.html new file mode 100644 index 00000000000..2d3a88a8687 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-atop.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.image.source-atop + + + + + + +

2d.composite.image.source-atop

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-atop.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-atop.png new file mode 100644 index 00000000000..1ef9630195d Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-atop.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-in.html new file mode 100644 index 00000000000..a8c1b5848c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-in.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.image.source-in + + + + + + +

2d.composite.image.source-in

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-in.png new file mode 100644 index 00000000000..c26cdccf02f Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-out.html new file mode 100644 index 00000000000..079d342c007 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-out.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.image.source-out + + + + + + +

2d.composite.image.source-out

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-out.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-out.png new file mode 100644 index 00000000000..c26cdccf02f Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-out.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-over.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-over.html new file mode 100644 index 00000000000..bbb00e2e8ff --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-over.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.image.source-over + + + + + + +

2d.composite.image.source-over

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-over.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-over.png new file mode 100644 index 00000000000..5437608a83b Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.source-over.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.xor.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.xor.html new file mode 100644 index 00000000000..a38ece5dda7 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.xor.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.image.xor + + + + + + +

2d.composite.image.xor

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.xor.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.xor.png new file mode 100644 index 00000000000..1ef9630195d Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.image.xor.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.casesensitive.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.casesensitive.html new file mode 100644 index 00000000000..81b72375bc6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.casesensitive.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.composite.operation.casesensitive + + + + + + +

2d.composite.operation.casesensitive

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.clear.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.clear.html new file mode 100644 index 00000000000..7212cd05f1e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.clear.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.composite.operation.clear + + + + + + +

2d.composite.operation.clear

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.darker.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.darker.html new file mode 100644 index 00000000000..ac155ab047e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.darker.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.composite.operation.darker + + + + + + +

2d.composite.operation.darker

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.default.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.default.html new file mode 100644 index 00000000000..165e8b8334a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.default.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.composite.operation.default + + + + + + +

2d.composite.operation.default

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.get.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.get.html new file mode 100644 index 00000000000..53762dafe38 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.get.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.operation.get + + + + + + +

2d.composite.operation.get

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.highlight.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.highlight.html new file mode 100644 index 00000000000..8a3bcf753bc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.highlight.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.composite.operation.highlight + + + + + + +

2d.composite.operation.highlight

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.nullsuffix.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.nullsuffix.html new file mode 100644 index 00000000000..aa3f8ccd5b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.nullsuffix.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.composite.operation.nullsuffix + + + + + + +

2d.composite.operation.nullsuffix

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.over.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.over.html new file mode 100644 index 00000000000..e9b91e83ddb --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.over.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.composite.operation.over + + + + + + +

2d.composite.operation.over

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.unrecognised.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.unrecognised.html new file mode 100644 index 00000000000..ced2accc4f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.operation.unrecognised.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.composite.operation.unrecognised + + + + + + +

2d.composite.operation.unrecognised

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.copy.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.copy.html new file mode 100644 index 00000000000..8bf99f3f82f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.copy.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.solid.copy + + + + + + +

2d.composite.solid.copy

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.copy.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.copy.png new file mode 100644 index 00000000000..fc0883e74fe Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.copy.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-atop.html new file mode 100644 index 00000000000..045caaa0280 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-atop.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.solid.destination-atop + + + + + + +

2d.composite.solid.destination-atop

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-atop.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-atop.png new file mode 100644 index 00000000000..dd04072baf7 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-atop.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-in.html new file mode 100644 index 00000000000..ec27d60b4b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-in.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.solid.destination-in + + + + + + +

2d.composite.solid.destination-in

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-in.png new file mode 100644 index 00000000000..dd04072baf7 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-out.html new file mode 100644 index 00000000000..d96ce76cac3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-out.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.solid.destination-out + + + + + + +

2d.composite.solid.destination-out

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-out.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-out.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-out.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-over.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-over.html new file mode 100644 index 00000000000..08a02387d65 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-over.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.solid.destination-over + + + + + + +

2d.composite.solid.destination-over

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-over.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-over.png new file mode 100644 index 00000000000..dd04072baf7 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.destination-over.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.lighter.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.lighter.html new file mode 100644 index 00000000000..0ffdcbb0fc9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.lighter.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.solid.lighter + + + + + + +

2d.composite.solid.lighter

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.lighter.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.lighter.png new file mode 100644 index 00000000000..bf48767a881 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.lighter.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-atop.html new file mode 100644 index 00000000000..a122e437d1c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-atop.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.solid.source-atop + + + + + + +

2d.composite.solid.source-atop

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-atop.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-atop.png new file mode 100644 index 00000000000..fc0883e74fe Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-atop.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-in.html new file mode 100644 index 00000000000..ae3124ffab3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-in.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.solid.source-in + + + + + + +

2d.composite.solid.source-in

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-in.png new file mode 100644 index 00000000000..fc0883e74fe Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-out.html new file mode 100644 index 00000000000..8ea16796c8f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-out.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.solid.source-out + + + + + + +

2d.composite.solid.source-out

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-out.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-out.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-out.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-over.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-over.html new file mode 100644 index 00000000000..e038d557b18 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-over.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.solid.source-over + + + + + + +

2d.composite.solid.source-over

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-over.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-over.png new file mode 100644 index 00000000000..fc0883e74fe Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.source-over.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.xor.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.xor.html new file mode 100644 index 00000000000..a7b4e821e28 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.xor.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.solid.xor + + + + + + +

2d.composite.solid.xor

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.xor.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.xor.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.solid.xor.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.copy.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.copy.html new file mode 100644 index 00000000000..ede88859e89 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.copy.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.transparent.copy + + + + + + +

2d.composite.transparent.copy

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.copy.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.copy.png new file mode 100644 index 00000000000..170e88183e6 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.copy.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-atop.html new file mode 100644 index 00000000000..350fe2be3f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-atop.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.transparent.destination-atop + + + + + + +

2d.composite.transparent.destination-atop

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-atop.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-atop.png new file mode 100644 index 00000000000..57bbf64ac46 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-atop.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-in.html new file mode 100644 index 00000000000..b2e907d2afc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-in.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.transparent.destination-in + + + + + + +

2d.composite.transparent.destination-in

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-in.png new file mode 100644 index 00000000000..c6895de9850 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-out.html new file mode 100644 index 00000000000..aca47b8bd75 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-out.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.transparent.destination-out + + + + + + +

2d.composite.transparent.destination-out

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-out.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-out.png new file mode 100644 index 00000000000..873a9c45d8b Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-out.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-over.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-over.html new file mode 100644 index 00000000000..676278df770 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-over.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.transparent.destination-over + + + + + + +

2d.composite.transparent.destination-over

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-over.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-over.png new file mode 100644 index 00000000000..c0f0326d266 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.destination-over.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.lighter.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.lighter.html new file mode 100644 index 00000000000..9aba34c48a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.lighter.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.transparent.lighter + + + + + + +

2d.composite.transparent.lighter

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.lighter.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.lighter.png new file mode 100644 index 00000000000..bcb8ab40838 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.lighter.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-atop.html new file mode 100644 index 00000000000..18229d6ae0b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-atop.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.transparent.source-atop + + + + + + +

2d.composite.transparent.source-atop

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-atop.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-atop.png new file mode 100644 index 00000000000..e0afff6b00b Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-atop.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-in.html new file mode 100644 index 00000000000..57124d886e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-in.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.transparent.source-in + + + + + + +

2d.composite.transparent.source-in

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-in.png new file mode 100644 index 00000000000..1459b5e54ea Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-out.html new file mode 100644 index 00000000000..9b4b9d30987 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-out.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.transparent.source-out + + + + + + +

2d.composite.transparent.source-out

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-out.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-out.png new file mode 100644 index 00000000000..1459b5e54ea Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-out.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-over.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-over.html new file mode 100644 index 00000000000..6299e8c8edc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-over.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.transparent.source-over + + + + + + +

2d.composite.transparent.source-over

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-over.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-over.png new file mode 100644 index 00000000000..c92cd956359 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.source-over.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.xor.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.xor.html new file mode 100644 index 00000000000..b53d140489e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.xor.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.transparent.xor + + + + + + +

2d.composite.transparent.xor

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.xor.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.xor.png new file mode 100644 index 00000000000..e0afff6b00b Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.transparent.xor.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.copy.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.copy.html new file mode 100644 index 00000000000..966d7265dfa --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.copy.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.fill.copy + + + + + + +

2d.composite.uncovered.fill.copy

+

fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.copy.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.copy.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.copy.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-atop.html new file mode 100644 index 00000000000..8ffc8db3f34 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-atop.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.fill.destination-atop + + + + + + +

2d.composite.uncovered.fill.destination-atop

+

fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-atop.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-atop.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-atop.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-in.html new file mode 100644 index 00000000000..040fdf3515c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-in.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.fill.destination-in + + + + + + +

2d.composite.uncovered.fill.destination-in

+

fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-in.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.destination-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-in.html new file mode 100644 index 00000000000..4d64f909460 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-in.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.fill.source-in + + + + + + +

2d.composite.uncovered.fill.source-in

+

fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-in.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-out.html new file mode 100644 index 00000000000..d1f39bafff7 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-out.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.fill.source-out + + + + + + +

2d.composite.uncovered.fill.source-out

+

fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-out.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-out.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.fill.source-out.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.copy.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.copy.html new file mode 100644 index 00000000000..43e070dc3ec --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.copy.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.image.copy + + + + + + +

2d.composite.uncovered.image.copy

+

drawImage() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.copy.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.copy.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.copy.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-atop.html new file mode 100644 index 00000000000..e59e8aa89cb --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-atop.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.image.destination-atop + + + + + + +

2d.composite.uncovered.image.destination-atop

+

drawImage() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-atop.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-atop.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-atop.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-in.html new file mode 100644 index 00000000000..2872fd23652 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-in.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.image.destination-in + + + + + + +

2d.composite.uncovered.image.destination-in

+

drawImage() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-in.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.destination-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-in.html new file mode 100644 index 00000000000..234e92472da --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-in.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.image.source-in + + + + + + +

2d.composite.uncovered.image.source-in

+

drawImage() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-in.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-out.html new file mode 100644 index 00000000000..4ab233a4886 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-out.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.image.source-out + + + + + + +

2d.composite.uncovered.image.source-out

+

drawImage() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-out.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-out.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.image.source-out.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.copy.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.copy.html new file mode 100644 index 00000000000..68a93669270 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.copy.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.uncovered.nocontext.copy + + + + + + +

2d.composite.uncovered.nocontext.copy

+

drawImage() of a canvas with no context draws pixels as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.copy.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.copy.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.copy.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-atop.html new file mode 100644 index 00000000000..ad11e21d954 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-atop.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.uncovered.nocontext.destination-atop + + + + + + +

2d.composite.uncovered.nocontext.destination-atop

+

drawImage() of a canvas with no context draws pixels as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-atop.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-atop.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-atop.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-in.html new file mode 100644 index 00000000000..0412a7aa30a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-in.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.uncovered.nocontext.destination-in + + + + + + +

2d.composite.uncovered.nocontext.destination-in

+

drawImage() of a canvas with no context draws pixels as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-in.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.destination-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-in.html new file mode 100644 index 00000000000..d6136630ede --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-in.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.uncovered.nocontext.source-in + + + + + + +

2d.composite.uncovered.nocontext.source-in

+

drawImage() of a canvas with no context draws pixels as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-in.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-out.html new file mode 100644 index 00000000000..be5d6bf1226 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-out.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.composite.uncovered.nocontext.source-out + + + + + + +

2d.composite.uncovered.nocontext.source-out

+

drawImage() of a canvas with no context draws pixels as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-out.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-out.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.nocontext.source-out.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.copy.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.copy.html new file mode 100644 index 00000000000..8c38388c23b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.copy.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.pattern.copy + + + + + + +

2d.composite.uncovered.pattern.copy

+

Pattern fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.copy.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.copy.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.copy.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-atop.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-atop.html new file mode 100644 index 00000000000..7ad35f48df0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-atop.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.pattern.destination-atop + + + + + + +

2d.composite.uncovered.pattern.destination-atop

+

Pattern fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-atop.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-atop.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-atop.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-in.html new file mode 100644 index 00000000000..085851c9164 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-in.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.pattern.destination-in + + + + + + +

2d.composite.uncovered.pattern.destination-in

+

Pattern fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-in.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.destination-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-in.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-in.html new file mode 100644 index 00000000000..7e0b8795c5e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-in.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.pattern.source-in + + + + + + +

2d.composite.uncovered.pattern.source-in

+

Pattern fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-in.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-in.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-in.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-out.html b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-out.html new file mode 100644 index 00000000000..0d34f693c1c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-out.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.composite.uncovered.pattern.source-out + + + + + + +

2d.composite.uncovered.pattern.source-out

+

Pattern fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-out.png b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-out.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/compositing/2d.composite.uncovered.pattern.source-out.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/canvas_compositing_globalcompositeoperation_001-ref.htm b/tests/wpt/web-platform-tests/2dcontext/compositing/canvas_compositing_globalcompositeoperation_001-ref.htm new file mode 100644 index 00000000000..70196fb36ae --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/canvas_compositing_globalcompositeoperation_001-ref.htm @@ -0,0 +1,11 @@ + + + + HTML5 Canvas Test: globalCompositeOperation "destination-over" + + + +

Description: If the globalCompositeOperation is set to "destination-over", display the destination image wherever the destination image is opaque.

+
black rectangle
+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/compositing/canvas_compositing_globalcompositeoperation_001.htm b/tests/wpt/web-platform-tests/2dcontext/compositing/canvas_compositing_globalcompositeoperation_001.htm new file mode 100644 index 00000000000..8d6208eb32e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/compositing/canvas_compositing_globalcompositeoperation_001.htm @@ -0,0 +1,32 @@ + + + + HTML5 Canvas Test: globalCompositeOperation "destination-over" + + + + + + + +

Description: If the globalCompositeOperation is set to "destination-over", display the destination image wherever the destination image is opaque.

+ Browser does not support HTML5 Canvas. + + diff --git a/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.coordinatespace-manual.html b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.coordinatespace-manual.html new file mode 100644 index 00000000000..ba925df1b91 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.coordinatespace-manual.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.coordinatespace + + + + + + +

2d.coordinatespace

+

Coordinate space goes from top-left to bottom-right

+ +

This should not be upside down. +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.coordinatespace.png b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.coordinatespace.png new file mode 100644 index 00000000000..8f8705c1486 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.coordinatespace.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.missingargs.html b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.missingargs.html new file mode 100644 index 00000000000..2c89cf2ac18 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.missingargs.html @@ -0,0 +1,142 @@ + + +Canvas test: 2d.missingargs + + + + + + +

2d.missingargs

+

Missing arguments cause TypeError

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.type.delete.html b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.type.delete.html new file mode 100644 index 00000000000..4097c35dd5c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.type.delete.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.type.delete + + + + + + +

2d.type.delete

+

window.CanvasRenderingContext2D is Configurable

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.voidreturn.html b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.voidreturn.html new file mode 100644 index 00000000000..b23595c174c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/conformance-requirements/2d.voidreturn.html @@ -0,0 +1,63 @@ + + +Canvas test: 2d.voidreturn + + + + + + +

2d.voidreturn

+

void methods return undefined

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.3arg.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.3arg.html new file mode 100644 index 00000000000..b4fd347b9bf --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.3arg.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.drawImage.3arg + + + + + + +

2d.drawImage.3arg

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.5arg.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.5arg.html new file mode 100644 index 00000000000..b2075a607ae --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.5arg.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.drawImage.5arg + + + + + + +

2d.drawImage.5arg

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.basic.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.basic.html new file mode 100644 index 00000000000..8ccecae22fa --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.basic.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.drawImage.9arg.basic + + + + + + +

2d.drawImage.9arg.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.destpos.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.destpos.html new file mode 100644 index 00000000000..e71d1ab4d5d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.destpos.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.drawImage.9arg.destpos + + + + + + +

2d.drawImage.9arg.destpos

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.destsize.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.destsize.html new file mode 100644 index 00000000000..a76e0baa331 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.destsize.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.drawImage.9arg.destsize + + + + + + +

2d.drawImage.9arg.destsize

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcepos.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcepos.html new file mode 100644 index 00000000000..34785c75788 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcepos.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.drawImage.9arg.sourcepos + + + + + + +

2d.drawImage.9arg.sourcepos

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcesize.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcesize.html new file mode 100644 index 00000000000..a640605b1d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.9arg.sourcesize.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.drawImage.9arg.sourcesize + + + + + + +

2d.drawImage.9arg.sourcesize

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.alpha.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.alpha.html new file mode 100644 index 00000000000..8056c96d360 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.alpha.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.drawImage.alpha + + + + + + +

2d.drawImage.alpha

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.apng.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.apng.html new file mode 100644 index 00000000000..bdc64462c92 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.apng.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.drawImage.animated.apng + + + + + + +

2d.drawImage.animated.apng

+

drawImage() of an APNG with no poster frame draws the first frame

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.gif.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.gif.html new file mode 100644 index 00000000000..3cf5e0fb861 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.gif.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.drawImage.animated.gif + + + + + + +

2d.drawImage.animated.gif

+

drawImage() of an animated GIF draws the first frame

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html new file mode 100644 index 00000000000..b0c76c1e5a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.animated.poster.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.drawImage.animated.poster + + + + + + +

2d.drawImage.animated.poster

+

drawImage() of an APNG draws the poster frame

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.broken.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.broken.html new file mode 100644 index 00000000000..f56ece4d0c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.broken.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.drawImage.broken + + + + + + +

2d.drawImage.broken

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.canvas.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.canvas.html new file mode 100644 index 00000000000..7ae9614040e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.canvas.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.drawImage.canvas + + + + + + +

2d.drawImage.canvas

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.clip.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.clip.html new file mode 100644 index 00000000000..fbf86e11cbf --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.clip.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.drawImage.clip + + + + + + +

2d.drawImage.clip

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.composite.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.composite.html new file mode 100644 index 00000000000..e4175312b8e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.composite.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.drawImage.composite + + + + + + +

2d.drawImage.composite

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.floatsource.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.floatsource.html new file mode 100644 index 00000000000..689b1f8ae41 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.floatsource.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.drawImage.floatsource + + + + + + +

2d.drawImage.floatsource

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.emptysrc.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.emptysrc.html new file mode 100644 index 00000000000..132e492c9af --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.emptysrc.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.drawImage.incomplete.emptysrc + + + + + + +

2d.drawImage.incomplete.emptysrc

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.immediate.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.immediate.html new file mode 100644 index 00000000000..1ff5ab2c471 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.immediate.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.drawImage.incomplete.immediate + + + + + + +

2d.drawImage.incomplete.immediate

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.nosrc.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.nosrc.html new file mode 100644 index 00000000000..5067b7a5c81 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.nosrc.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.drawImage.incomplete.nosrc + + + + + + +

2d.drawImage.incomplete.nosrc

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.reload.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.reload.html new file mode 100644 index 00000000000..efd41c938a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.reload.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.drawImage.incomplete.reload + + + + + + +

2d.drawImage.incomplete.reload

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.removedsrc.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.removedsrc.html new file mode 100644 index 00000000000..a744d591d8f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.incomplete.removedsrc.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.drawImage.incomplete.removedsrc + + + + + + +

2d.drawImage.incomplete.removedsrc

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedest.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedest.html new file mode 100644 index 00000000000..2d2c15849a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedest.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.drawImage.negativedest + + + + + + +

2d.drawImage.negativedest

+

Negative destination width/height represents the correct rectangle

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedir.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedir.html new file mode 100644 index 00000000000..a333f8fb9f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedir.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.drawImage.negativedir + + + + + + +

2d.drawImage.negativedir

+

Negative dimensions do not affect the direction of the image

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativesource.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativesource.html new file mode 100644 index 00000000000..af377ffdfe7 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativesource.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.drawImage.negativesource + + + + + + +

2d.drawImage.negativesource

+

Negative source width/height represents the correct rectangle

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.nonfinite.html new file mode 100644 index 00000000000..14e634a627a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.nonfinite.html @@ -0,0 +1,332 @@ + + +Canvas test: 2d.drawImage.nonfinite + + + + + + +

2d.drawImage.nonfinite

+

drawImage() with Infinity/NaN is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.nowrap.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.nowrap.html new file mode 100644 index 00000000000..8b0fa4890c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.nowrap.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.drawImage.nowrap + + + + + + +

2d.drawImage.nowrap

+

Stretched images do not get pixels wrapping around the edges

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.null.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.null.html new file mode 100644 index 00000000000..f4ce00e5623 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.null.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.drawImage.null + + + + + + +

2d.drawImage.null

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.path.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.path.html new file mode 100644 index 00000000000..2e389ebd476 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.path.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.drawImage.path + + + + + + +

2d.drawImage.path

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.1.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.1.html new file mode 100644 index 00000000000..8f05c1445b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.1.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.drawImage.self.1 + + + + + + +

2d.drawImage.self.1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.2.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.2.html new file mode 100644 index 00000000000..4fc1319fc89 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.self.2.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.drawImage.self.2 + + + + + + +

2d.drawImage.self.2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.svg.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.svg.html new file mode 100644 index 00000000000..5935eb8641f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.svg.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.drawImage.svg + + + + + + +

2d.drawImage.svg

+

drawImage() of an SVG image

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.transform.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.transform.html new file mode 100644 index 00000000000..ab3c09a22bc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.transform.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.drawImage.transform + + + + + + +

2d.drawImage.transform

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html new file mode 100644 index 00000000000..cd2a7fc5b8e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.wrongtype.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.drawImage.wrongtype + + + + + + +

2d.drawImage.wrongtype

+

Incorrect image types in drawImage do not match any defined overloads, so WebIDL throws a TypeError

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html new file mode 100644 index 00000000000..e14f5d3b361 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerocanvas.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.drawImage.zerocanvas + + + + + + +

2d.drawImage.zerocanvas

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.html new file mode 100644 index 00000000000..6906284e00a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.drawImage.zerosource + + + + + + +

2d.drawImage.zerosource

+

drawImage with zero-sized source rectangle throws INDEX_SIZE_ERR

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html new file mode 100644 index 00000000000..cda752c31c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-images-to-the-canvas/2d.drawImage.zerosource.image.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.drawImage.zerosource.image + + + + + + +

2d.drawImage.zerosource.image

+

drawImage with zero-sized source rectangle from image throws INDEX_SIZE_ERR

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-model/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/drawing-model/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/canvas_complexshapes_ispointInpath_001.htm b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/canvas_complexshapes_ispointInpath_001.htm new file mode 100644 index 00000000000..4728f9c428c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/canvas_complexshapes_ispointInpath_001.htm @@ -0,0 +1,32 @@ + + + + HTML5 Canvas Test: isPointInPath() unaffected by the current transformation matrix + + + + + + +

Description: isPointInPath must check the point (x, y) as coordinates unaffected by the current transformation matrix.

+

Test passes if the word "PASS" appears below.

+
FAIL
+ Browser does not support HTML5 Canvas. + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/canvas_focus_drawCustomFocusRing_001.html b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/canvas_focus_drawCustomFocusRing_001.html new file mode 100644 index 00000000000..f8442fbb2a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/canvas_focus_drawCustomFocusRing_001.html @@ -0,0 +1,42 @@ + + + + canvas drawCustomFocusRing() step1 test + + + + + + + +

Description

+

This test checks whether drawCustomFocusRing returns false if the element passed as an argument is not focused or is not a descendant of the element with whose context the method is associated.

+
+
+ + +
+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/canvas_focus_drawFocusIfNeeded_AAPI_001-manual.html b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/canvas_focus_drawFocusIfNeeded_AAPI_001-manual.html new file mode 100644 index 00000000000..bf38fa68b7d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/canvas_focus_drawFocusIfNeeded_AAPI_001-manual.html @@ -0,0 +1,50 @@ + + + + drawFocusIfNeeded() - AAPI test + + + + + +

Description

+

This manual test can be used to verify that drawFocusIfNeeded actually updates the accessible location information (i.e. UIAutomation's CurrentBoundingRectangle) in the Accessibility API. To perform this test, you will need an accessibility API inspector. To perform this test, use the tab key to move from the first focusable element to through to the fourth. This test passes if the first parameter of the bounding rectangle increases by 100 when focus is moved from the gray square to the orange square.

+

First focusable element

+ + Second focusable element + Third focusable element + +

Fourth focusable element

+ + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_001.html b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_001.html new file mode 100755 index 00000000000..6daf32a2af9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_001.html @@ -0,0 +1,66 @@ + + + + drawFocusIfNeeded() + + + + + + +

Description

+

This test uses drawFocusIfNeeded to draw a focus ring in the canvas, then compare the ImageData before and after the invocation of the method to check that the focus ring was actually drawn.

+
+

Before:

+ + +

After:

+ + + +
+ +
+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_002.html b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_002.html new file mode 100755 index 00000000000..ec0a4ef427c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_002.html @@ -0,0 +1,68 @@ + + + + drawFocusIfNeeded() + + + + + + +

Description

+

This test uses drawFocusIfNeeded does nothing if the element is not in focus but comparing ImageData from before and after.

+
+

Before:

+ + +

After:

+ + + +
+ +
+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_003.html b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_003.html new file mode 100755 index 00000000000..b62c0641f57 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_003.html @@ -0,0 +1,69 @@ + + + + drawFocusIfNeeded() + + + + + + +

Description

+

This test uses drawFocusIfNeeded does nothing if the element is not a descendant but comparing ImageData from before and after.

+
+

Before:

+ + + +

After:

+ + +
+ +
+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_004.html b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_004.html new file mode 100755 index 00000000000..326db0daa85 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_004.html @@ -0,0 +1,88 @@ + + + + drawFocusIfNeeded() + + + + + + +

Description

+

This test uses drawFocusIfNeeded to draw a complex path focus then compare ImageData from before and after.

+
+

Before:

+ + +

After:

+ + + +
+ +
+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_005.html b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_005.html new file mode 100755 index 00000000000..96a4e3fd5d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-paths-to-the-canvas/drawFocusIfNeeded_005.html @@ -0,0 +1,88 @@ + + + + drawFocusIfNeeded() + + + + + + +

Description

+

This test uses drawFocusIfNeeded to draw a complex path focus then compare ImageData from before and after.

+
+

Before:

+ + +

After:

+ +

This is text.

+
+
+ +
+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.basic.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.basic.html new file mode 100644 index 00000000000..9ec16ed5b6d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.basic.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.clearRect.basic + + + + + + +

2d.clearRect.basic

+

clearRect clears to transparent black

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.clip.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.clip.html new file mode 100644 index 00000000000..bd35e7f0ceb --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.clip.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.clearRect.clip + + + + + + +

2d.clearRect.clip

+

clearRect is affected by clipping regions

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.globalalpha.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.globalalpha.html new file mode 100644 index 00000000000..34c64aec9ef --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.globalalpha.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.clearRect.globalalpha + + + + + + +

2d.clearRect.globalalpha

+

clearRect is not affected by globalAlpha

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.globalcomposite.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.globalcomposite.html new file mode 100644 index 00000000000..96830e1ea75 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.globalcomposite.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.clearRect.globalcomposite + + + + + + +

2d.clearRect.globalcomposite

+

clearRect is not affected by globalCompositeOperation

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.negative.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.negative.html new file mode 100644 index 00000000000..2d1a0cb05a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.negative.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.clearRect.negative + + + + + + +

2d.clearRect.negative

+

clearRect of negative sizes works

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.nonfinite.html new file mode 100644 index 00000000000..35a3d79c1c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.nonfinite.html @@ -0,0 +1,54 @@ + + +Canvas test: 2d.clearRect.nonfinite + + + + + + +

2d.clearRect.nonfinite

+

clearRect() with Infinity/NaN is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.path.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.path.html new file mode 100644 index 00000000000..c5429c8c2e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.path.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.clearRect.path + + + + + + +

2d.clearRect.path

+

clearRect does not affect the current path

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.shadow.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.shadow.html new file mode 100644 index 00000000000..384baf9c7a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.shadow.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.clearRect.shadow + + + + + + +

2d.clearRect.shadow

+

clearRect does not draw shadows

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.transform.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.transform.html new file mode 100644 index 00000000000..8ff20443c81 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.transform.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.clearRect.transform + + + + + + +

2d.clearRect.transform

+

clearRect is affected by transforms

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.zero.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.zero.html new file mode 100644 index 00000000000..73805edd6a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.clearRect.zero.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.clearRect.zero + + + + + + +

2d.clearRect.zero

+

clearRect of zero pixels has no effect

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.basic.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.basic.html new file mode 100644 index 00000000000..455c4b5b224 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.basic.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.fillRect.basic + + + + + + +

2d.fillRect.basic

+

fillRect works

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.clip.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.clip.html new file mode 100644 index 00000000000..efd2d8cbbe4 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.clip.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.fillRect.clip + + + + + + +

2d.fillRect.clip

+

fillRect is affected by clipping regions

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.negative.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.negative.html new file mode 100644 index 00000000000..6e942753937 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.negative.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.fillRect.negative + + + + + + +

2d.fillRect.negative

+

fillRect of negative sizes works

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.nonfinite.html new file mode 100644 index 00000000000..92bb8fbc057 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.nonfinite.html @@ -0,0 +1,55 @@ + + +Canvas test: 2d.fillRect.nonfinite + + + + + + +

2d.fillRect.nonfinite

+

fillRect() with Infinity/NaN is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.path.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.path.html new file mode 100644 index 00000000000..b018cba4419 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.path.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.fillRect.path + + + + + + +

2d.fillRect.path

+

fillRect does not affect the current path

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.html new file mode 100644 index 00000000000..be8de26c406 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.shadow.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.fillRect.shadow + + + + + + +

2d.fillRect.shadow

+

fillRect draws shadows

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.transform.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.transform.html new file mode 100644 index 00000000000..711b6020141 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.transform.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillRect.transform + + + + + + +

2d.fillRect.transform

+

fillRect is affected by transforms

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.zero.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.zero.html new file mode 100644 index 00000000000..c6ea3ae0299 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.fillRect.zero.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.fillRect.zero + + + + + + +

2d.fillRect.zero

+

fillRect of zero pixels has no effect

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.basic.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.basic.html new file mode 100644 index 00000000000..5a3af8b4c57 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.basic.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.strokeRect.basic + + + + + + +

2d.strokeRect.basic

+

strokeRect works

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.clip.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.clip.html new file mode 100644 index 00000000000..6ccb7da4449 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.clip.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.strokeRect.clip + + + + + + +

2d.strokeRect.clip

+

strokeRect is affected by clipping regions

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.globalalpha.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.globalalpha.html new file mode 100644 index 00000000000..3e4cf0769b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.globalalpha.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.strokeRect.globalalpha + + + + + + +

2d.strokeRect.globalalpha

+

strokeRect is affected by globalAlpha

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.globalcomposite.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.globalcomposite.html new file mode 100644 index 00000000000..5239a03d45e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.globalcomposite.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.strokeRect.globalcomposite + + + + + + +

2d.strokeRect.globalcomposite

+

strokeRect is not affected by globalCompositeOperation

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.negative.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.negative.html new file mode 100644 index 00000000000..1973d66253f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.negative.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.strokeRect.negative + + + + + + +

2d.strokeRect.negative

+

strokeRect of negative sizes works

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.nonfinite.html new file mode 100644 index 00000000000..ed4c3edce54 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.nonfinite.html @@ -0,0 +1,56 @@ + + +Canvas test: 2d.strokeRect.nonfinite + + + + + + +

2d.strokeRect.nonfinite

+

strokeRect() with Infinity/NaN is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.path.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.path.html new file mode 100644 index 00000000000..81e7d436254 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.path.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.strokeRect.path + + + + + + +

2d.strokeRect.path

+

strokeRect does not affect the current path

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.shadow.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.shadow.html new file mode 100644 index 00000000000..26aaa0f5d2e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.shadow.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.strokeRect.shadow + + + + + + +

2d.strokeRect.shadow

+

strokeRect draws shadows

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.transform.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.transform.html new file mode 100644 index 00000000000..c9a4a76d907 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.transform.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.strokeRect.transform + + + + + + +

2d.strokeRect.transform

+

fillRect is affected by transforms

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.1.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.1.html new file mode 100644 index 00000000000..915c1252fce --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.1.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.strokeRect.zero.1 + + + + + + +

2d.strokeRect.zero.1

+

strokeRect of 0x0 pixels draws nothing

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.2.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.2.html new file mode 100644 index 00000000000..bec7bdd123a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.2.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.strokeRect.zero.2 + + + + + + +

2d.strokeRect.zero.2

+

strokeRect of 0x0 pixels draws nothing, including caps and joins

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.3.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.3.html new file mode 100644 index 00000000000..44232f5fde1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.3.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.strokeRect.zero.3 + + + + + + +

2d.strokeRect.zero.3

+

strokeRect of Nx0 pixels draws a straight line

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.4.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.4.html new file mode 100644 index 00000000000..3d594147843 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.4.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.strokeRect.zero.4 + + + + + + +

2d.strokeRect.zero.4

+

strokeRect of Nx0 pixels draws a closed line with no caps

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.5.html b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.5.html new file mode 100644 index 00000000000..3e8c7d4bf23 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/2d.strokeRect.zero.5.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.strokeRect.zero.5 + + + + + + +

2d.strokeRect.zero.5

+

strokeRect of Nx0 pixels draws a closed line with joins

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/clear-100x50.png b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/clear-100x50.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/drawing-rectangles-to-the-canvas/clear-100x50.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.center.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.center.html new file mode 100644 index 00000000000..bcbdbd66594 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.center.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.align.center + + + + + + + +

2d.text.draw.align.center

+

textAlign center is the center of the em squares (not the bounding box)

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.end.ltr.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.end.ltr.html new file mode 100644 index 00000000000..681085859c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.end.ltr.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.align.end.ltr + + + + + + + +

2d.text.draw.align.end.ltr

+

textAlign end with ltr is the right edge

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.end.rtl.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.end.rtl.html new file mode 100644 index 00000000000..1ccd2bccb85 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.end.rtl.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.align.end.rtl + + + + + + + +

2d.text.draw.align.end.rtl

+

textAlign end with rtl is the left edge

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.left.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.left.html new file mode 100644 index 00000000000..5e7418e36be --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.left.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.align.left + + + + + + + +

2d.text.draw.align.left

+

textAlign left is the left of the first em square (not the bounding box)

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.right.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.right.html new file mode 100644 index 00000000000..81e3acf36ec --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.right.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.align.right + + + + + + + +

2d.text.draw.align.right

+

textAlign right is the right of the last em square (not the bounding box)

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.start.ltr.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.start.ltr.html new file mode 100644 index 00000000000..f47ef78a7cc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.start.ltr.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.align.start.ltr + + + + + + + +

2d.text.draw.align.start.ltr

+

textAlign start with ltr is the left edge

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.start.rtl.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.start.rtl.html new file mode 100644 index 00000000000..cc09b9e4d1a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.align.start.rtl.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.align.start.rtl + + + + + + + +

2d.text.draw.align.start.rtl

+

textAlign start with rtl is the right edge

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.baseline.alphabetic.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.baseline.alphabetic.html new file mode 100644 index 00000000000..bdb65ab9063 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.baseline.alphabetic.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.baseline.alphabetic + + + + + + + +

2d.text.draw.baseline.alphabetic

+

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.basic-manual.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.basic-manual.html new file mode 100644 index 00000000000..5a4be6d3714 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.basic-manual.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.text.draw.fill.basic + + + + + + +

2d.text.draw.fill.basic

+

fillText draws filled text

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.basic.png b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.basic.png new file mode 100644 index 00000000000..deaef2c95c1 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.basic.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.bound.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.bound.html new file mode 100644 index 00000000000..3282f273e06 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.bound.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.text.draw.fill.maxWidth.bound + + + + + + + +

2d.text.draw.fill.maxWidth.bound

+

fillText handles maxWidth based on line size, not bounding box size

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.fontface.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.fontface.html new file mode 100644 index 00000000000..d138047f6c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.fontface.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.text.draw.fill.maxWidth.fontface + + + + + + + +

2d.text.draw.fill.maxWidth.fontface

+

fillText works on @font-face fonts

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.large-manual.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.large-manual.html new file mode 100644 index 00000000000..5f599c84d2d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.large-manual.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.text.draw.fill.maxWidth.large + + + + + + +

2d.text.draw.fill.maxWidth.large

+

fillText handles maxWidth correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.large.png b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.large.png new file mode 100644 index 00000000000..deaef2c95c1 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.large.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.negative.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.negative.html new file mode 100644 index 00000000000..a6ec4f29063 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.negative.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.text.draw.fill.maxWidth.negative + + + + + + +

2d.text.draw.fill.maxWidth.negative

+

fillText handles maxWidth correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.small.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.small.html new file mode 100644 index 00000000000..d0364d87229 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.small.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.text.draw.fill.maxWidth.small + + + + + + +

2d.text.draw.fill.maxWidth.small

+

fillText handles maxWidth correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.zero.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.zero.html new file mode 100644 index 00000000000..176e43197a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.maxWidth.zero.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.text.draw.fill.maxWidth.zero + + + + + + +

2d.text.draw.fill.maxWidth.zero

+

fillText handles maxWidth correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.rtl-manual.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.rtl-manual.html new file mode 100644 index 00000000000..1066b837d42 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.rtl-manual.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.text.draw.fill.rtl + + + + + + +

2d.text.draw.fill.rtl

+

fillText respects Right-To-Left Override characters

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.rtl.png b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.rtl.png new file mode 100644 index 00000000000..deaef2c95c1 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.rtl.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.unaffected.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.unaffected.html new file mode 100644 index 00000000000..a7ddee41863 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fill.unaffected.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.text.draw.fill.unaffected + + + + + + +

2d.text.draw.fill.unaffected

+

fillText does not start a new path or subpath

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.html new file mode 100644 index 00000000000..7bfbb7feb61 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.text.draw.fontface + + + + + + + +

2d.text.draw.fontface

+

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.notinpage.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.notinpage.html new file mode 100644 index 00000000000..6c4eb49190b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.notinpage.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.text.draw.fontface.notinpage + + + + + + + +

2d.text.draw.fontface.notinpage

+

@font-face fonts should work even if they are not used in the page

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.repeat.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.repeat.html new file mode 100644 index 00000000000..30cfb4c7f0b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.fontface.repeat.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.text.draw.fontface.repeat + + + + + + + +

2d.text.draw.fontface.repeat

+

Draw with the font immediately, then wait a bit until and draw again. (This crashes some version of WebKit.)

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.kern.consistent-manual.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.kern.consistent-manual.html new file mode 100644 index 00000000000..12618f4f6af --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.kern.consistent-manual.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.text.draw.kern.consistent + + + + + + +

2d.text.draw.kern.consistent

+

Stroked and filled text should have exactly the same kerning so it overlaps

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.space.basic.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.space.basic.html new file mode 100644 index 00000000000..046ce7c7aa9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.space.basic.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.text.draw.space.basic + + + + + + + +

2d.text.draw.space.basic

+

U+0020 is rendered the correct size (1em wide)

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.space.collapse.nonspace.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.space.collapse.nonspace.html new file mode 100644 index 00000000000..9dd441ade31 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.space.collapse.nonspace.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.text.draw.space.collapse.nonspace + + + + + + + +

2d.text.draw.space.collapse.nonspace

+

Non-space characters are not converted to U+0020 and collapsed

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.basic-manual.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.basic-manual.html new file mode 100644 index 00000000000..f9eac1f62c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.basic-manual.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.text.draw.stroke.basic + + + + + + +

2d.text.draw.stroke.basic

+

strokeText draws stroked text

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.basic.png b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.basic.png new file mode 100644 index 00000000000..fe1b43b4672 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.basic.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.unaffected.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.unaffected.html new file mode 100644 index 00000000000..1da4d927706 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.draw.stroke.unaffected.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.text.draw.stroke.unaffected + + + + + + +

2d.text.draw.stroke.unaffected

+

strokeText does not start a new path or subpath

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.width.basic.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.width.basic.html new file mode 100644 index 00000000000..40b43deceb8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.width.basic.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.text.measure.width.basic + + + + + + + +

2d.text.measure.width.basic

+

+ + +A +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.width.empty.html b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.width.empty.html new file mode 100644 index 00000000000..67a9b405a0d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.width.empty.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.text.measure.width.empty + + + + + + + +

2d.text.measure.width.empty

+

The empty string has zero width

+ + +A +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/drawingstyle-objects/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/drawingstyle-objects/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/examples/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/examples/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.default.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.default.html new file mode 100644 index 00000000000..a14475d7de5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.default.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.fillStyle.default + + + + + + +

2d.fillStyle.default

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.semitransparent.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.semitransparent.html new file mode 100644 index 00000000000..d8a1d4178cf --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.semitransparent.html @@ -0,0 +1,28 @@ + + +Canvas test: 2d.fillStyle.get.semitransparent + + + + + + +

2d.fillStyle.get.semitransparent

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.solid.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.solid.html new file mode 100644 index 00000000000..8fc44b1c863 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.solid.html @@ -0,0 +1,28 @@ + + +Canvas test: 2d.fillStyle.get.solid + + + + + + +

2d.fillStyle.get.solid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.transparent.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.transparent.html new file mode 100644 index 00000000000..3775cf3f913 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.get.transparent.html @@ -0,0 +1,28 @@ + + +Canvas test: 2d.fillStyle.get.transparent + + + + + + +

2d.fillStyle.get.transparent

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.invalidstring.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.invalidstring.html new file mode 100644 index 00000000000..eaa50dd02ff --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.invalidstring.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.fillStyle.invalidstring + + + + + + +

2d.fillStyle.invalidstring

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.invalidtype.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.invalidtype.html new file mode 100644 index 00000000000..fb778cbfba4 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.invalidtype.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.fillStyle.invalidtype + + + + + + +

2d.fillStyle.invalidtype

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.basic.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.basic.html new file mode 100644 index 00000000000..271adfd8b36 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.basic.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.current.basic + + + + + + +

2d.fillStyle.parse.current.basic

+

currentColor is computed from the canvas element

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.changed.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.changed.html new file mode 100644 index 00000000000..591b6d25602 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.changed.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.fillStyle.parse.current.changed + + + + + + +

2d.fillStyle.parse.current.changed

+

currentColor is computed when the attribute is set, not when it is painted

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.removed.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.removed.html new file mode 100644 index 00000000000..a46e9c975b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.removed.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.fillStyle.parse.current.removed + + + + + + +

2d.fillStyle.parse.current.removed

+

currentColor is solid black when the canvas element is not in a document

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.removed.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.removed.png new file mode 100644 index 00000000000..d638d033868 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.current.removed.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3.html new file mode 100644 index 00000000000..635a59a72f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hex3 + + + + + + +

2d.fillStyle.parse.hex3

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex3.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6.html new file mode 100644 index 00000000000..37a4208009a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hex6 + + + + + + +

2d.fillStyle.parse.hex6

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hex6.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.html new file mode 100644 index 00000000000..53b1f5d403b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsl-1 + + + + + + +

2d.fillStyle.parse.hsl-1

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-1.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-2.html new file mode 100644 index 00000000000..39790e979dd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsl-2 + + + + + + +

2d.fillStyle.parse.hsl-2

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-2.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-2.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-2.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-3.html new file mode 100644 index 00000000000..2befaab2e6d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-3.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsl-3 + + + + + + +

2d.fillStyle.parse.hsl-3

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-3.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-3.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-3.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-4.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-4.html new file mode 100644 index 00000000000..9f8e7cac10c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-4.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsl-4 + + + + + + +

2d.fillStyle.parse.hsl-4

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-4.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-4.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-4.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-5.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-5.html new file mode 100644 index 00000000000..881bc0492b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-5.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsl-5 + + + + + + +

2d.fillStyle.parse.hsl-5

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-5.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-5.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-5.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-6.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-6.html new file mode 100644 index 00000000000..f2636336c87 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-6.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsl-6 + + + + + + +

2d.fillStyle.parse.hsl-6

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-6.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-6.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-6.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-1.html new file mode 100644 index 00000000000..a2fce10dc28 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsl-clamp-1 + + + + + + +

2d.fillStyle.parse.hsl-clamp-1

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-1.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-1.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-1.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-2.html new file mode 100644 index 00000000000..0a245a4df51 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsl-clamp-2 + + + + + + +

2d.fillStyle.parse.hsl-clamp-2

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-2.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-2.png new file mode 100644 index 00000000000..88fd8279855 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-2.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-3.html new file mode 100644 index 00000000000..ed14332f820 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-3.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsl-clamp-3 + + + + + + +

2d.fillStyle.parse.hsl-clamp-3

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-3.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-3.png new file mode 100644 index 00000000000..bf48767a881 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-3.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-4.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-4.html new file mode 100644 index 00000000000..a27379c5e81 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-4.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsl-clamp-4 + + + + + + +

2d.fillStyle.parse.hsl-clamp-4

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-4.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-4.png new file mode 100644 index 00000000000..d638d033868 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsl-clamp-4.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-1.html new file mode 100644 index 00000000000..2e835a8b370 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsla-1 + + + + + + +

2d.fillStyle.parse.hsla-1

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-1.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-1.png new file mode 100644 index 00000000000..2aa6265f066 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-1.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-2.html new file mode 100644 index 00000000000..a7db6ac1055 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsla-2 + + + + + + +

2d.fillStyle.parse.hsla-2

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-2.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-2.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-2.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-1.html new file mode 100644 index 00000000000..13652aab140 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsla-clamp-1 + + + + + + +

2d.fillStyle.parse.hsla-clamp-1

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-1.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-1.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-1.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-2.html new file mode 100644 index 00000000000..98f2505a54d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsla-clamp-2 + + + + + + +

2d.fillStyle.parse.hsla-clamp-2

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-2.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-2.png new file mode 100644 index 00000000000..88fd8279855 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-2.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-3.html new file mode 100644 index 00000000000..0aa08807a0b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-3.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsla-clamp-3 + + + + + + +

2d.fillStyle.parse.hsla-clamp-3

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-3.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-3.png new file mode 100644 index 00000000000..bf48767a881 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-3.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-4.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-4.html new file mode 100644 index 00000000000..ab5da396ce5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-4.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsla-clamp-4 + + + + + + +

2d.fillStyle.parse.hsla-clamp-4

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-4.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-4.png new file mode 100644 index 00000000000..d638d033868 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-4.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-5.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-5.html new file mode 100644 index 00000000000..a64f89303e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-5.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsla-clamp-5 + + + + + + +

2d.fillStyle.parse.hsla-clamp-5

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-5.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-5.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-5.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-6.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-6.html new file mode 100644 index 00000000000..60b464a6247 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-6.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.hsla-clamp-6 + + + + + + +

2d.fillStyle.parse.hsla-clamp-6

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-6.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-6.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.hsla-clamp-6.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.html4.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.html4.html new file mode 100644 index 00000000000..3dd7d37eb9f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.html4.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.html4 + + + + + + +

2d.fillStyle.parse.html4

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.html4.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.html4.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.html4.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex1.html new file mode 100644 index 00000000000..36a9489e16b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hex1 + + + + + + +

2d.fillStyle.parse.invalid.hex1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex2.html new file mode 100644 index 00000000000..5a1758fc5f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hex2 + + + + + + +

2d.fillStyle.parse.invalid.hex2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex3.html new file mode 100644 index 00000000000..f1ada9f190f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex3.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hex3 + + + + + + +

2d.fillStyle.parse.invalid.hex3

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex4.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex4.html new file mode 100644 index 00000000000..5307cd4184c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex4.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hex4 + + + + + + +

2d.fillStyle.parse.invalid.hex4

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex5.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex5.html new file mode 100644 index 00000000000..19abea32af7 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex5.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hex5 + + + + + + +

2d.fillStyle.parse.invalid.hex5

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex6.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex6.html new file mode 100644 index 00000000000..c600b983113 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex6.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hex6 + + + + + + +

2d.fillStyle.parse.invalid.hex6

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex7.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex7.html new file mode 100644 index 00000000000..cee88055e4e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex7.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hex7 + + + + + + +

2d.fillStyle.parse.invalid.hex7

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex8.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex8.html new file mode 100644 index 00000000000..11b11ce0ccf --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hex8.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hex8 + + + + + + +

2d.fillStyle.parse.invalid.hex8

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-1.html new file mode 100644 index 00000000000..3acee1f3917 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hsl-1 + + + + + + +

2d.fillStyle.parse.invalid.hsl-1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-2.html new file mode 100644 index 00000000000..c2c34f52461 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hsl-2 + + + + + + +

2d.fillStyle.parse.invalid.hsl-2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-3.html new file mode 100644 index 00000000000..616639a1ec5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-3.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hsl-3 + + + + + + +

2d.fillStyle.parse.invalid.hsl-3

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-4.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-4.html new file mode 100644 index 00000000000..aaa2a8dc0d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-4.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hsl-4 + + + + + + +

2d.fillStyle.parse.invalid.hsl-4

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-5.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-5.html new file mode 100644 index 00000000000..87b6a5731ce --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-5.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hsl-5 + + + + + + +

2d.fillStyle.parse.invalid.hsl-5

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-6.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-6.html new file mode 100644 index 00000000000..008e278b558 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsl-6.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hsl-6 + + + + + + +

2d.fillStyle.parse.invalid.hsl-6

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-1.html new file mode 100644 index 00000000000..dbddb0f5593 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hsla-1 + + + + + + +

2d.fillStyle.parse.invalid.hsla-1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-2.html new file mode 100644 index 00000000000..8a9643f887a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.hsla-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.hsla-2 + + + + + + +

2d.fillStyle.parse.invalid.hsla-2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-1.html new file mode 100644 index 00000000000..45dcfca0c55 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.name-1 + + + + + + +

2d.fillStyle.parse.invalid.name-1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-2.html new file mode 100644 index 00000000000..a3016b2a11f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.name-2 + + + + + + +

2d.fillStyle.parse.invalid.name-2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-3.html new file mode 100644 index 00000000000..1d56151b6de --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-3.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.name-3 + + + + + + +

2d.fillStyle.parse.invalid.name-3

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-4.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-4.html new file mode 100644 index 00000000000..e2619ffa8f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-4.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.name-4 + + + + + + +

2d.fillStyle.parse.invalid.name-4

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-5.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-5.html new file mode 100644 index 00000000000..f515ff32e05 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.name-5.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.name-5 + + + + + + +

2d.fillStyle.parse.invalid.name-5

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-1.html new file mode 100644 index 00000000000..fc0433eae59 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgb-1 + + + + + + +

2d.fillStyle.parse.invalid.rgb-1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-2.html new file mode 100644 index 00000000000..68c06e5ebec --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgb-2 + + + + + + +

2d.fillStyle.parse.invalid.rgb-2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-3.html new file mode 100644 index 00000000000..f864c9f2bc4 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-3.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgb-3 + + + + + + +

2d.fillStyle.parse.invalid.rgb-3

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-4.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-4.html new file mode 100644 index 00000000000..e4d78b20e14 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-4.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgb-4 + + + + + + +

2d.fillStyle.parse.invalid.rgb-4

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-5.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-5.html new file mode 100644 index 00000000000..92f933db799 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-5.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgb-5 + + + + + + +

2d.fillStyle.parse.invalid.rgb-5

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-6.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-6.html new file mode 100644 index 00000000000..e3de9df5387 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-6.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgb-6 + + + + + + +

2d.fillStyle.parse.invalid.rgb-6

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-7.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-7.html new file mode 100644 index 00000000000..bc0bb5ef6f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgb-7.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgb-7 + + + + + + +

2d.fillStyle.parse.invalid.rgb-7

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-1.html new file mode 100644 index 00000000000..774aed13d51 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgba-1 + + + + + + +

2d.fillStyle.parse.invalid.rgba-1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-2.html new file mode 100644 index 00000000000..14065e63426 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgba-2 + + + + + + +

2d.fillStyle.parse.invalid.rgba-2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-3.html new file mode 100644 index 00000000000..5947169fe55 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-3.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgba-3 + + + + + + +

2d.fillStyle.parse.invalid.rgba-3

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-4.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-4.html new file mode 100644 index 00000000000..9870b14f9d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-4.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgba-4 + + + + + + +

2d.fillStyle.parse.invalid.rgba-4

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-5.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-5.html new file mode 100644 index 00000000000..4274996cae3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-5.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgba-5 + + + + + + +

2d.fillStyle.parse.invalid.rgba-5

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-6.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-6.html new file mode 100644 index 00000000000..3e7f06ad436 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-6.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgba-6 + + + + + + +

2d.fillStyle.parse.invalid.rgba-6

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-7.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-7.html new file mode 100644 index 00000000000..06580f64816 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.invalid.rgba-7.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.invalid.rgba-7 + + + + + + +

2d.fillStyle.parse.invalid.rgba-7

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-1.html new file mode 100644 index 00000000000..807a4961b53 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgb-clamp-1 + + + + + + +

2d.fillStyle.parse.rgb-clamp-1

+

+ +

Assumes colours are clamped to [0,255]. +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-1.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-1.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-1.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2.html new file mode 100644 index 00000000000..46b3b6daa05 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgb-clamp-2 + + + + + + +

2d.fillStyle.parse.rgb-clamp-2

+

+ +

Assumes colours are clamped to [0,255]. +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-2.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-3.html new file mode 100644 index 00000000000..75dbe19c694 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-3.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgb-clamp-3 + + + + + + +

2d.fillStyle.parse.rgb-clamp-3

+

+ +

Assumes colours are clamped to [0,255]. +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-3.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-3.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-3.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-4.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-4.html new file mode 100644 index 00000000000..4888816b66d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-4.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgb-clamp-4 + + + + + + +

2d.fillStyle.parse.rgb-clamp-4

+

+ +

Assumes colours are clamped to [0,255]. +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-4.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-4.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-4.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-5.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-5.html new file mode 100644 index 00000000000..3f7a94433cf --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-5.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgb-clamp-5 + + + + + + +

2d.fillStyle.parse.rgb-clamp-5

+

+ +

Assumes colours are clamped to [0,255]. +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-5.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-5.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-clamp-5.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-eof.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-eof.html new file mode 100644 index 00000000000..0d2833cebc1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-eof.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgb-eof + + + + + + +

2d.fillStyle.parse.rgb-eof

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-eof.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-eof.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-eof.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-num.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-num.html new file mode 100644 index 00000000000..85fc99280f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-num.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgb-num + + + + + + +

2d.fillStyle.parse.rgb-num

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-num.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-num.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-num.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-percent.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-percent.html new file mode 100644 index 00000000000..295e72b0d2b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-percent.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgb-percent + + + + + + +

2d.fillStyle.parse.rgb-percent

+

+ +

CSS3 Color says "The integer value 255 corresponds to 100%". (In particular, it is not 254...) +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-percent.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-percent.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgb-percent.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-1.html new file mode 100644 index 00000000000..0ec2ea0a18e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgba-clamp-1 + + + + + + +

2d.fillStyle.parse.rgba-clamp-1

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-1.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-1.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-1.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-2.html new file mode 100644 index 00000000000..fe352015737 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgba-clamp-2 + + + + + + +

2d.fillStyle.parse.rgba-clamp-2

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-2.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-2.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-clamp-2.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-eof.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-eof.html new file mode 100644 index 00000000000..d8856813d9d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-eof.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgba-eof + + + + + + +

2d.fillStyle.parse.rgba-eof

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-eof.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-eof.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-eof.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-1.html new file mode 100644 index 00000000000..98dd9bf877e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgba-num-1 + + + + + + +

2d.fillStyle.parse.rgba-num-1

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-1.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-1.png new file mode 100644 index 00000000000..2aa6265f066 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-1.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2.html new file mode 100644 index 00000000000..5cadec16cc0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgba-num-2 + + + + + + +

2d.fillStyle.parse.rgba-num-2

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2.png new file mode 100644 index 00000000000..2aa6265f066 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-num-2.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-percent.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-percent.html new file mode 100644 index 00000000000..63f8c9ea9f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-percent.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgba-percent + + + + + + +

2d.fillStyle.parse.rgba-percent

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-percent.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-percent.png new file mode 100644 index 00000000000..2aa6265f066 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-percent.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-1.html new file mode 100644 index 00000000000..0d08a4921ff --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgba-solid-1 + + + + + + +

2d.fillStyle.parse.rgba-solid-1

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-1.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-1.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-1.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-2.html new file mode 100644 index 00000000000..2a9db38ed5c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgba-solid-2 + + + + + + +

2d.fillStyle.parse.rgba-solid-2

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-2.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-2.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-2.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-3.html new file mode 100644 index 00000000000..81bf257cd8b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-3.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgba-solid-3 + + + + + + +

2d.fillStyle.parse.rgba-solid-3

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-3.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-3.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-3.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-4.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-4.html new file mode 100644 index 00000000000..82d450c01c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-4.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.rgba-solid-4 + + + + + + +

2d.fillStyle.parse.rgba-solid-4

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-4.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-4.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.rgba-solid-4.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-1.html new file mode 100644 index 00000000000..c49620f0349 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.svg-1 + + + + + + +

2d.fillStyle.parse.svg-1

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-1.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-1.png new file mode 100644 index 00000000000..5bc39cc699b Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-1.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-2.html new file mode 100644 index 00000000000..3a7e3d97ef9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.svg-2 + + + + + + +

2d.fillStyle.parse.svg-2

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-2.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-2.png new file mode 100644 index 00000000000..5bc39cc699b Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.svg-2.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.system.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.system.html new file mode 100644 index 00000000000..9bb43c6237e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.system.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.fillStyle.parse.system + + + + + + +

2d.fillStyle.parse.system

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-1.html new file mode 100644 index 00000000000..36cc8043710 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-1.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.transparent-1 + + + + + + +

2d.fillStyle.parse.transparent-1

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-1.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-1.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-1.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-2.html new file mode 100644 index 00000000000..66e28259838 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.fillStyle.parse.transparent-2 + + + + + + +

2d.fillStyle.parse.transparent-2

+

+ +

+

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-2.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-2.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.fillStyle.parse.transparent-2.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.empty.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.empty.html new file mode 100644 index 00000000000..e087f53c348 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.empty.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.gradient.empty + + + + + + +

2d.gradient.empty

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.alpha.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.alpha.html new file mode 100644 index 00000000000..7bf486da4f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.alpha.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.gradient.interpolate.alpha + + + + + + +

2d.gradient.interpolate.alpha

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.alpha.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.alpha.png new file mode 100644 index 00000000000..67f34435995 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.alpha.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colour.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colour.html new file mode 100644 index 00000000000..a5fd632b50f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colour.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.gradient.interpolate.colour + + + + + + +

2d.gradient.interpolate.colour

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colour.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colour.png new file mode 100644 index 00000000000..67f34435995 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colour.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colouralpha.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colouralpha.html new file mode 100644 index 00000000000..3e20e6faa3f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colouralpha.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.gradient.interpolate.colouralpha + + + + + + +

2d.gradient.interpolate.colouralpha

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colouralpha.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colouralpha.png new file mode 100644 index 00000000000..af6e50b7dc3 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.colouralpha.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.multiple.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.multiple.html new file mode 100644 index 00000000000..b6b8de13594 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.multiple.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.gradient.interpolate.multiple + + + + + + +

2d.gradient.interpolate.multiple

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.multiple.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.multiple.png new file mode 100644 index 00000000000..8f31ec3691e Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.multiple.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.outside.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.outside.html new file mode 100644 index 00000000000..7577c95e34d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.outside.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.gradient.interpolate.outside + + + + + + +

2d.gradient.interpolate.outside

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap.html new file mode 100644 index 00000000000..ad2152f12d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap.html @@ -0,0 +1,52 @@ + + +Canvas test: 2d.gradient.interpolate.overlap + + + + + + +

2d.gradient.interpolate.overlap

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap.png new file mode 100644 index 00000000000..7d4dad8def7 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap2.html new file mode 100644 index 00000000000..7f99c1f32c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.overlap2.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.gradient.interpolate.overlap2 + + + + + + +

2d.gradient.interpolate.overlap2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.solid.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.solid.html new file mode 100644 index 00000000000..46e53d3264a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.solid.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.gradient.interpolate.solid + + + + + + +

2d.gradient.interpolate.solid

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.vertical.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.vertical.html new file mode 100644 index 00000000000..a4c3453cf56 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.vertical.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.gradient.interpolate.vertical + + + + + + +

2d.gradient.interpolate.vertical

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.vertical.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.vertical.png new file mode 100644 index 00000000000..1d895a18f65 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.vertical.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fill.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fill.html new file mode 100644 index 00000000000..92777bfef98 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fill.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.gradient.interpolate.zerosize.fill + + + + + + +

2d.gradient.interpolate.zerosize.fill

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillRect.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillRect.html new file mode 100644 index 00000000000..98efeda7c63 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillRect.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.gradient.interpolate.zerosize.fillRect + + + + + + +

2d.gradient.interpolate.zerosize.fillRect

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillText.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillText.html new file mode 100644 index 00000000000..93397b976c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.fillText.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.gradient.interpolate.zerosize.fillText + + + + + + +

2d.gradient.interpolate.zerosize.fillText

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.stroke.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.stroke.html new file mode 100644 index 00000000000..69e2de6f40b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.stroke.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.interpolate.zerosize.stroke + + + + + + +

2d.gradient.interpolate.zerosize.stroke

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.strokeRect.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.strokeRect.html new file mode 100644 index 00000000000..7eff74d80b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.strokeRect.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.gradient.interpolate.zerosize.strokeRect + + + + + + +

2d.gradient.interpolate.zerosize.strokeRect

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.strokeText.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.strokeText.html new file mode 100644 index 00000000000..d384cc01d99 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.interpolate.zerosize.strokeText.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.gradient.interpolate.zerosize.strokeText + + + + + + +

2d.gradient.interpolate.zerosize.strokeText

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html new file mode 100644 index 00000000000..b60b304385e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.nonfinite.html @@ -0,0 +1,49 @@ + + +Canvas test: 2d.gradient.linear.nonfinite + + + + + + +

2d.gradient.linear.nonfinite

+

createLinearGradient() throws TypeError if arguments are not finite

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.1.html new file mode 100644 index 00000000000..3a4d24a3980 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.1.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.gradient.linear.transform.1 + + + + + + +

2d.gradient.linear.transform.1

+

Linear gradient coordinates are relative to the coordinate space at the time of filling

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.2.html new file mode 100644 index 00000000000..56957a0a295 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.2.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.gradient.linear.transform.2 + + + + + + +

2d.gradient.linear.transform.2

+

Linear gradient coordinates are relative to the coordinate space at the time of filling

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.3.html new file mode 100644 index 00000000000..6cc2ead2f5b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.linear.transform.3.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.gradient.linear.transform.3 + + + + + + +

2d.gradient.linear.transform.3

+

Linear gradient transforms do not experience broken caching effects

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.compare.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.compare.html new file mode 100644 index 00000000000..67089a073d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.compare.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.gradient.object.compare + + + + + + +

2d.gradient.object.compare

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.crosscanvas.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.crosscanvas.html new file mode 100644 index 00000000000..95144c6afdd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.crosscanvas.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.gradient.object.crosscanvas + + + + + + +

2d.gradient.object.crosscanvas

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.current.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.current.html new file mode 100644 index 00000000000..35709cbd1da --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.current.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.gradient.object.current + + + + + + +

2d.gradient.object.current

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.current.png b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.current.png new file mode 100644 index 00000000000..d638d033868 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.current.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html new file mode 100644 index 00000000000..7687d0b94ea --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidcolour.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.gradient.object.invalidcolour + + + + + + +

2d.gradient.object.invalidcolour

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html new file mode 100644 index 00000000000..60071f6dc89 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.invalidoffset.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.gradient.object.invalidoffset + + + + + + +

2d.gradient.object.invalidoffset

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.return.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.return.html new file mode 100644 index 00000000000..bcb4dc7af46 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.return.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.gradient.object.return + + + + + + +

2d.gradient.object.return

+

createLinearGradient() and createRadialGradient() returns objects implementing CanvasGradient

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.type.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.type.html new file mode 100644 index 00000000000..27c91312c6a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.type.html @@ -0,0 +1,28 @@ + + +Canvas test: 2d.gradient.object.type + + + + + + +

2d.gradient.object.type

+

window.CanvasGradient exists and has the right properties

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.update.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.update.html new file mode 100644 index 00000000000..8151c42f954 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.object.update.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.gradient.object.update + + + + + + +

2d.gradient.object.update

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.behind.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.behind.html new file mode 100644 index 00000000000..5bf367ea09f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.behind.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.cone.behind + + + + + + +

2d.gradient.radial.cone.behind

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.beside.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.beside.html new file mode 100644 index 00000000000..6c7dbaa2ab5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.beside.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.cone.beside + + + + + + +

2d.gradient.radial.cone.beside

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.bottom.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.bottom.html new file mode 100644 index 00000000000..362d232935c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.bottom.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.cone.bottom + + + + + + +

2d.gradient.radial.cone.bottom

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.cylinder.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.cylinder.html new file mode 100644 index 00000000000..a2f189d83f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.cylinder.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.cone.cylinder + + + + + + +

2d.gradient.radial.cone.cylinder

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.front.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.front.html new file mode 100644 index 00000000000..3ed6190b24c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.front.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.cone.front + + + + + + +

2d.gradient.radial.cone.front

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape1.html new file mode 100644 index 00000000000..992c068055c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape1.html @@ -0,0 +1,53 @@ + + +Canvas test: 2d.gradient.radial.cone.shape1 + + + + + + +

2d.gradient.radial.cone.shape1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html new file mode 100644 index 00000000000..cf9bd6d4290 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.shape2.html @@ -0,0 +1,53 @@ + + +Canvas test: 2d.gradient.radial.cone.shape2 + + + + + + +

2d.gradient.radial.cone.shape2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.top.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.top.html new file mode 100644 index 00000000000..fa60a0cfc14 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.cone.top.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.cone.top + + + + + + +

2d.gradient.radial.cone.top

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.equal.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.equal.html new file mode 100644 index 00000000000..f96b9761cf2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.equal.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.equal + + + + + + +

2d.gradient.radial.equal

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside1.html new file mode 100644 index 00000000000..ab656ce2785 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside1.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.inside1 + + + + + + +

2d.gradient.radial.inside1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside2.html new file mode 100644 index 00000000000..30f4c49b835 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside2.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.inside2 + + + + + + +

2d.gradient.radial.inside2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside3.html new file mode 100644 index 00000000000..56c12a5b8e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.inside3.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.gradient.radial.inside3 + + + + + + +

2d.gradient.radial.inside3

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.negative.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.negative.html new file mode 100644 index 00000000000..29242165fd9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.negative.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.gradient.radial.negative + + + + + + +

2d.gradient.radial.negative

+

createRadialGradient() throws INDEX_SIZE_ERR if either radius is negative

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html new file mode 100644 index 00000000000..e12d5142a25 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.nonfinite.html @@ -0,0 +1,101 @@ + + +Canvas test: 2d.gradient.radial.nonfinite + + + + + + +

2d.gradient.radial.nonfinite

+

createRadialGradient() throws TypeError if arguments are not finite

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside1.html new file mode 100644 index 00000000000..e2c68d66bd0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside1.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.outside1 + + + + + + +

2d.gradient.radial.outside1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside2.html new file mode 100644 index 00000000000..254db4574b1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside2.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.outside2 + + + + + + +

2d.gradient.radial.outside2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside3.html new file mode 100644 index 00000000000..4324bc717ba --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.outside3.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.gradient.radial.outside3 + + + + + + +

2d.gradient.radial.outside3

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch1.html new file mode 100644 index 00000000000..5e42c4094ac --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch1.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.touch1 + + + + + + +

2d.gradient.radial.touch1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch2.html new file mode 100644 index 00000000000..37dfd5ea896 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch2.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.gradient.radial.touch2 + + + + + + +

2d.gradient.radial.touch2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch3.html new file mode 100644 index 00000000000..e401d19b4f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.touch3.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.gradient.radial.touch3 + + + + + + +

2d.gradient.radial.touch3

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.1.html new file mode 100644 index 00000000000..92355825e51 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.1.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.gradient.radial.transform.1 + + + + + + +

2d.gradient.radial.transform.1

+

Radial gradient coordinates are relative to the coordinate space at the time of filling

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.2.html new file mode 100644 index 00000000000..ce7841f3b0e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.2.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.gradient.radial.transform.2 + + + + + + +

2d.gradient.radial.transform.2

+

Radial gradient coordinates are relative to the coordinate space at the time of filling

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.3.html new file mode 100644 index 00000000000..ee9e6303bc1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.gradient.radial.transform.3.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.gradient.radial.transform.3 + + + + + + +

2d.gradient.radial.transform.3

+

Radial gradient transforms do not experience broken caching effects

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.animated.gif.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.animated.gif.html new file mode 100644 index 00000000000..c78ef377b8d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.animated.gif.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.pattern.animated.gif + + + + + + +

2d.pattern.animated.gif

+

createPattern() of an animated GIF draws the first frame

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.canvas.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.canvas.html new file mode 100644 index 00000000000..3bdc679c5f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.canvas.html @@ -0,0 +1,49 @@ + + +Canvas test: 2d.pattern.basic.canvas + + + + + + +

2d.pattern.basic.canvas

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.image.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.image.html new file mode 100644 index 00000000000..9ae64e4f5b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.image.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.pattern.basic.image + + + + + + +

2d.pattern.basic.image

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.nocontext.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.nocontext.html new file mode 100644 index 00000000000..a24958702b1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.nocontext.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.pattern.basic.nocontext + + + + + + +

2d.pattern.basic.nocontext

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.type.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.type.html new file mode 100644 index 00000000000..07ca3992370 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.type.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.pattern.basic.type + + + + + + +

2d.pattern.basic.type

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html new file mode 100644 index 00000000000..aa393b8f7a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.basic.zerocanvas.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.pattern.basic.zerocanvas + + + + + + +

2d.pattern.basic.zerocanvas

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.crosscanvas.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.crosscanvas.html new file mode 100644 index 00000000000..dc80720bb7c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.crosscanvas.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.pattern.crosscanvas + + + + + + +

2d.pattern.crosscanvas

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.broken.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.broken.html new file mode 100644 index 00000000000..31c8e8f2ab0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.broken.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.pattern.image.broken + + + + + + +

2d.pattern.image.broken

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.emptysrc.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.emptysrc.html new file mode 100644 index 00000000000..23f453ac1de --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.emptysrc.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.pattern.image.incomplete.emptysrc + + + + + + +

2d.pattern.image.incomplete.emptysrc

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.immediate.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.immediate.html new file mode 100644 index 00000000000..176cf722ae9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.immediate.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.pattern.image.incomplete.immediate + + + + + + +

2d.pattern.image.incomplete.immediate

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.nosrc.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.nosrc.html new file mode 100644 index 00000000000..88b8801b285 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.nosrc.html @@ -0,0 +1,28 @@ + + +Canvas test: 2d.pattern.image.incomplete.nosrc + + + + + + +

2d.pattern.image.incomplete.nosrc

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.reload.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.reload.html new file mode 100644 index 00000000000..095055c21e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.reload.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.pattern.image.incomplete.reload + + + + + + +

2d.pattern.image.incomplete.reload

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.removedsrc.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.removedsrc.html new file mode 100644 index 00000000000..514f0609c9d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.incomplete.removedsrc.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.pattern.image.incomplete.removedsrc + + + + + + +

2d.pattern.image.incomplete.removedsrc

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.null.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.null.html new file mode 100644 index 00000000000..5b8c688175c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.null.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.pattern.image.null + + + + + + +

2d.pattern.image.null

+

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.string.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.string.html new file mode 100644 index 00000000000..834d9218752 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.string.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.pattern.image.string + + + + + + +

2d.pattern.image.string

+

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.undefined.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.undefined.html new file mode 100644 index 00000000000..24f650d9707 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.image.undefined.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.pattern.image.undefined + + + + + + +

2d.pattern.image.undefined

+

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.canvas1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.canvas1.html new file mode 100644 index 00000000000..f60da5bac05 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.canvas1.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.pattern.modify.canvas1 + + + + + + +

2d.pattern.modify.canvas1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.canvas2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.canvas2.html new file mode 100644 index 00000000000..db7a8b8423e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.canvas2.html @@ -0,0 +1,49 @@ + + +Canvas test: 2d.pattern.modify.canvas2 + + + + + + +

2d.pattern.modify.canvas2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.image1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.image1.html new file mode 100644 index 00000000000..cfc8a965dfc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.image1.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.pattern.modify.image1 + + + + + + +

2d.pattern.modify.image1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.image2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.image2.html new file mode 100644 index 00000000000..c7f2ee3bff1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.modify.image2.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.pattern.modify.image2 + + + + + + +

2d.pattern.modify.image2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.basic.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.basic.html new file mode 100644 index 00000000000..431437e5bf1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.basic.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.pattern.paint.norepeat.basic + + + + + + +

2d.pattern.paint.norepeat.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord1.html new file mode 100644 index 00000000000..a560fd8dcad --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord1.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.pattern.paint.norepeat.coord1 + + + + + + +

2d.pattern.paint.norepeat.coord1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord2.html new file mode 100644 index 00000000000..9ae28987238 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord2.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.pattern.paint.norepeat.coord2 + + + + + + +

2d.pattern.paint.norepeat.coord2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord3.html new file mode 100644 index 00000000000..9c1b5ae6dce --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.coord3.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.pattern.paint.norepeat.coord3 + + + + + + +

2d.pattern.paint.norepeat.coord3

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.outside.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.outside.html new file mode 100644 index 00000000000..3dce7a68625 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.norepeat.outside.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.pattern.paint.norepeat.outside + + + + + + +

2d.pattern.paint.norepeat.outside

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.orientation.canvas.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.orientation.canvas.html new file mode 100644 index 00000000000..70966e00aa6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.orientation.canvas.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.pattern.paint.orientation.canvas + + + + + + +

2d.pattern.paint.orientation.canvas

+

Canvas patterns do not get flipped when painted

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.orientation.image.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.orientation.image.html new file mode 100644 index 00000000000..7d109c55a28 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.orientation.image.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.pattern.paint.orientation.image + + + + + + +

2d.pattern.paint.orientation.image

+

Image patterns do not get flipped when painted

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.basic.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.basic.html new file mode 100644 index 00000000000..501fe67e48e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.basic.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.pattern.paint.repeat.basic + + + + + + +

2d.pattern.paint.repeat.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord1.html new file mode 100644 index 00000000000..4aa75d15579 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord1.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.pattern.paint.repeat.coord1 + + + + + + +

2d.pattern.paint.repeat.coord1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord2.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord2.html new file mode 100644 index 00000000000..0fe8b6a5605 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord2.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.pattern.paint.repeat.coord2 + + + + + + +

2d.pattern.paint.repeat.coord2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord3.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord3.html new file mode 100644 index 00000000000..b361c91f233 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.coord3.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.pattern.paint.repeat.coord3 + + + + + + +

2d.pattern.paint.repeat.coord3

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.outside.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.outside.html new file mode 100644 index 00000000000..68d2fe84ee0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeat.outside.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.pattern.paint.repeat.outside + + + + + + +

2d.pattern.paint.repeat.outside

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.basic.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.basic.html new file mode 100644 index 00000000000..3cec292a4d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.basic.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.pattern.paint.repeatx.basic + + + + + + +

2d.pattern.paint.repeatx.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.coord1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.coord1.html new file mode 100644 index 00000000000..1e864a729ae --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.coord1.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.pattern.paint.repeatx.coord1 + + + + + + +

2d.pattern.paint.repeatx.coord1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.outside.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.outside.html new file mode 100644 index 00000000000..074c4afa446 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeatx.outside.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.pattern.paint.repeatx.outside + + + + + + +

2d.pattern.paint.repeatx.outside

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.basic.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.basic.html new file mode 100644 index 00000000000..0da99d28df1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.basic.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.pattern.paint.repeaty.basic + + + + + + +

2d.pattern.paint.repeaty.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.coord1.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.coord1.html new file mode 100644 index 00000000000..2f42a4e2ddc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.coord1.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.pattern.paint.repeaty.coord1 + + + + + + +

2d.pattern.paint.repeaty.coord1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.outside.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.outside.html new file mode 100644 index 00000000000..9ec618a9dc1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.paint.repeaty.outside.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.pattern.paint.repeaty.outside + + + + + + +

2d.pattern.paint.repeaty.outside

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.case.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.case.html new file mode 100644 index 00000000000..5a4bf344b83 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.case.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.pattern.repeat.case + + + + + + +

2d.pattern.repeat.case

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.empty.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.empty.html new file mode 100644 index 00000000000..a7190872130 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.empty.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.pattern.repeat.empty + + + + + + +

2d.pattern.repeat.empty

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.null.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.null.html new file mode 100644 index 00000000000..25caf6c2eb7 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.null.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.pattern.repeat.null + + + + + + +

2d.pattern.repeat.null

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html new file mode 100644 index 00000000000..37130420471 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.nullsuffix.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.pattern.repeat.nullsuffix + + + + + + +

2d.pattern.repeat.nullsuffix

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.undefined.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.undefined.html new file mode 100644 index 00000000000..74cd84b333b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.undefined.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.pattern.repeat.undefined + + + + + + +

2d.pattern.repeat.undefined

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html new file mode 100644 index 00000000000..ff4d50a7337 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognised.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.pattern.repeat.unrecognised + + + + + + +

2d.pattern.repeat.unrecognised

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html new file mode 100644 index 00000000000..57df03be6db --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.pattern.repeat.unrecognisednull.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.pattern.repeat.unrecognisednull + + + + + + +

2d.pattern.repeat.unrecognisednull

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.strokeStyle.default.html b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.strokeStyle.default.html new file mode 100644 index 00000000000..6e07d608601 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/2d.strokeStyle.default.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.strokeStyle.default + + + + + + +

2d.strokeStyle.default

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/canvas_colorsandstyles_createlineargradient_001.htm b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/canvas_colorsandstyles_createlineargradient_001.htm new file mode 100644 index 00000000000..a1b9ca90b17 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/fill-and-stroke-styles/canvas_colorsandstyles_createlineargradient_001.htm @@ -0,0 +1,35 @@ + + + + HTML5 Canvas Test: createlinearGradient() with two points same + + + + + + +

Description: If the two points in a linear gradient have identical x,y coordinates, the canvas must paint nothing.

+

Test passes if there is one left-to-right, green-to-blue linear gradient seen on the page and no red is seen on the page.

+ Browser does not support HTML5 Canvas. + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/2dcontext/green-100x50.png b/tests/wpt/web-platform-tests/2dcontext/green-100x50.png new file mode 100644 index 00000000000..2733836c998 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/green-100x50.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/hit-regions/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/hit-regions/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/hit-regions/addHitRegions-NotSupportedError-01.html b/tests/wpt/web-platform-tests/2dcontext/hit-regions/addHitRegions-NotSupportedError-01.html new file mode 100644 index 00000000000..05818aeb8bb --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/hit-regions/addHitRegions-NotSupportedError-01.html @@ -0,0 +1,89 @@ + + + + +Hit regions: addHitRegion throws NotSupportedError + + + + +
+
+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/hit-regions/hitregions-members-exist.html b/tests/wpt/web-platform-tests/2dcontext/hit-regions/hitregions-members-exist.html new file mode 100644 index 00000000000..b9203f56067 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/hit-regions/hitregions-members-exist.html @@ -0,0 +1,29 @@ + +Canvas test: 2d.hitregions.members.exist + + + + + +

2d.hitregions.members.exist

+ +
+ + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/2dcontext/image-smoothing/imagesmoothing.html b/tests/wpt/web-platform-tests/2dcontext/image-smoothing/imagesmoothing.html new file mode 100644 index 00000000000..efd503cabf6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/image-smoothing/imagesmoothing.html @@ -0,0 +1,46 @@ + + + + CanvasRenderingContext2D imageSmoothingEnabled test + + + + + + + +
+ + + + + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/line-styles/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.butt.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.butt.html new file mode 100644 index 00000000000..353676233a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.butt.html @@ -0,0 +1,61 @@ + + +Canvas test: 2d.line.cap.butt + + + + + + +

2d.line.cap.butt

+

lineCap 'butt' is rendered correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.closed.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.closed.html new file mode 100644 index 00000000000..f8e233a4101 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.closed.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.line.cap.closed + + + + + + +

2d.line.cap.closed

+

Line caps are not drawn at the corners of an unclosed rectangle

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.invalid.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.invalid.html new file mode 100644 index 00000000000..1db32a9d6d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.invalid.html @@ -0,0 +1,52 @@ + + +Canvas test: 2d.line.cap.invalid + + + + + + +

2d.line.cap.invalid

+

Setting lineCap to invalid values is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.open.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.open.html new file mode 100644 index 00000000000..499773085b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.open.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.line.cap.open + + + + + + +

2d.line.cap.open

+

Line caps are drawn at the corners of an unclosed rectangle

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.round.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.round.html new file mode 100644 index 00000000000..675d11ce2c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.round.html @@ -0,0 +1,77 @@ + + +Canvas test: 2d.line.cap.round + + + + + + +

2d.line.cap.round

+

lineCap 'round' is rendered correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.square.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.square.html new file mode 100644 index 00000000000..ea1e4d94977 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.square.html @@ -0,0 +1,61 @@ + + +Canvas test: 2d.line.cap.square + + + + + + +

2d.line.cap.square

+

lineCap 'square' is rendered correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.valid.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.valid.html new file mode 100644 index 00000000000..6ac119d4a25 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cap.valid.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.line.cap.valid + + + + + + +

2d.line.cap.valid

+

Setting lineCap to valid values works

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cross.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cross.html new file mode 100644 index 00000000000..61b2125c401 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.cross.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.line.cross + + + + + + +

2d.line.cross

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.defaults.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.defaults.html new file mode 100644 index 00000000000..8b680785d9d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.defaults.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.line.defaults + + + + + + +

2d.line.defaults

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.bevel.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.bevel.html new file mode 100644 index 00000000000..72c0186e1dd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.bevel.html @@ -0,0 +1,80 @@ + + +Canvas test: 2d.line.join.bevel + + + + + + +

2d.line.join.bevel

+

lineJoin 'bevel' is rendered correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.closed.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.closed.html new file mode 100644 index 00000000000..1f2bf5cb75d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.closed.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.line.join.closed + + + + + + +

2d.line.join.closed

+

Line joins are drawn at the corner of a closed rectangle

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.invalid.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.invalid.html new file mode 100644 index 00000000000..9d54d90b19f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.invalid.html @@ -0,0 +1,52 @@ + + +Canvas test: 2d.line.join.invalid + + + + + + +

2d.line.join.invalid

+

Setting lineJoin to invalid values is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.miter.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.miter.html new file mode 100644 index 00000000000..8a6d4a60ebf --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.miter.html @@ -0,0 +1,71 @@ + + +Canvas test: 2d.line.join.miter + + + + + + +

2d.line.join.miter

+

lineJoin 'miter' is rendered correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.open.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.open.html new file mode 100644 index 00000000000..a72291bc397 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.open.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.line.join.open + + + + + + +

2d.line.join.open

+

Line joins are not drawn at the corner of an unclosed rectangle

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.parallel.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.parallel.html new file mode 100644 index 00000000000..2a8956d7e9f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.parallel.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.line.join.parallel + + + + + + +

2d.line.join.parallel

+

Line joins are drawn at 180-degree joins

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.round.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.round.html new file mode 100644 index 00000000000..4a827adcec9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.round.html @@ -0,0 +1,78 @@ + + +Canvas test: 2d.line.join.round + + + + + + +

2d.line.join.round

+

lineJoin 'round' is rendered correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.valid.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.valid.html new file mode 100644 index 00000000000..98fec4cb7bc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.join.valid.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.line.join.valid + + + + + + +

2d.line.join.valid

+

Setting lineJoin to valid values works

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.acute.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.acute.html new file mode 100644 index 00000000000..f11a32164bd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.acute.html @@ -0,0 +1,52 @@ + + +Canvas test: 2d.line.miter.acute + + + + + + +

2d.line.miter.acute

+

Miter joins are drawn correctly with acute angles

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.exceeded.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.exceeded.html new file mode 100644 index 00000000000..1cbcd3cad36 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.exceeded.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.line.miter.exceeded + + + + + + +

2d.line.miter.exceeded

+

Miter joins are not drawn when the miter limit is exceeded

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.invalid.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.invalid.html new file mode 100644 index 00000000000..4f7fd69bcd6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.invalid.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.line.miter.invalid + + + + + + +

2d.line.miter.invalid

+

Setting miterLimit to invalid values is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.lineedge.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.lineedge.html new file mode 100644 index 00000000000..54c2ce53938 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.lineedge.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.line.miter.lineedge + + + + + + +

2d.line.miter.lineedge

+

Miter joins are not drawn when the miter limit is exceeded at the corners of a zero-height rectangle

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.obtuse.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.obtuse.html new file mode 100644 index 00000000000..40ebdd1f8d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.obtuse.html @@ -0,0 +1,52 @@ + + +Canvas test: 2d.line.miter.obtuse + + + + + + +

2d.line.miter.obtuse

+

Miter joins are drawn correctly with obtuse angles

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.rightangle.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.rightangle.html new file mode 100644 index 00000000000..ebcfb261a5f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.rightangle.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.line.miter.rightangle + + + + + + +

2d.line.miter.rightangle

+

Miter joins are not drawn when the miter limit is exceeded, on exact right angles

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.valid.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.valid.html new file mode 100644 index 00000000000..59148aa5656 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.valid.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.line.miter.valid + + + + + + +

2d.line.miter.valid

+

Setting miterLimit to valid values works

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.within.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.within.html new file mode 100644 index 00000000000..5ed57e0cce3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.miter.within.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.line.miter.within + + + + + + +

2d.line.miter.within

+

Miter joins are drawn when the miter limit is not quite exceeded

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.union.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.union.html new file mode 100644 index 00000000000..92fa2f1a2d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.union.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.line.union + + + + + + +

2d.line.union

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.basic.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.basic.html new file mode 100644 index 00000000000..b61baaf24c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.basic.html @@ -0,0 +1,63 @@ + + +Canvas test: 2d.line.width.basic + + + + + + +

2d.line.width.basic

+

lineWidth determines the width of line strokes

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.invalid.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.invalid.html new file mode 100644 index 00000000000..d5cd3ab0af1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.invalid.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.line.width.invalid + + + + + + +

2d.line.width.invalid

+

Setting lineWidth to invalid values is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.scaledefault.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.scaledefault.html new file mode 100644 index 00000000000..154d7b58261 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.scaledefault.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.line.width.scaledefault + + + + + + +

2d.line.width.scaledefault

+

Default lineWidth strokes are affected by scale transformations

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.transformed.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.transformed.html new file mode 100644 index 00000000000..903321f44cd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.transformed.html @@ -0,0 +1,69 @@ + + +Canvas test: 2d.line.width.transformed + + + + + + +

2d.line.width.transformed

+

Line stroke widths are affected by scale transformations

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.valid.html b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.valid.html new file mode 100644 index 00000000000..c89fa56a653 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/2d.line.width.valid.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.line.width.valid + + + + + + +

2d.line.width.valid

+

Setting lineWidth to valid values works

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/canvas_linestyles_linecap_001-ref.htm b/tests/wpt/web-platform-tests/2dcontext/line-styles/canvas_linestyles_linecap_001-ref.htm new file mode 100644 index 00000000000..f85af9aab2e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/canvas_linestyles_linecap_001-ref.htm @@ -0,0 +1,11 @@ + + + + HTML5 Canvas Test: "square" lineCap + + + +

Description: The square value of lineCap means that a rectangle with the length of the line width and the width of half the line width, placed flat against the edge perpendicular to the direction of the line, must be added at the end of each line.

+
black rect
+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/line-styles/canvas_linestyles_linecap_001.htm b/tests/wpt/web-platform-tests/2dcontext/line-styles/canvas_linestyles_linecap_001.htm new file mode 100644 index 00000000000..583dbc9d134 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/line-styles/canvas_linestyles_linecap_001.htm @@ -0,0 +1,37 @@ + + + + HTML5 Canvas Test: "square" lineCap + + + + + + + +

Description: The square value of lineCap means that a rectangle with the length of the line width and the width of half the line width, placed flat against the edge perpendicular to the direction of the line, must be added at the end of each line.

+ Browser does not support HTML5 Canvas. + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/path-objects/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.1.html new file mode 100644 index 00000000000..06ac1665d40 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.1.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arc.angle.1 + + + + + + +

2d.path.arc.angle.1

+

arc() draws pi/2 .. -pi anticlockwise correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.2.html new file mode 100644 index 00000000000..328756cceab --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.2.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arc.angle.2 + + + + + + +

2d.path.arc.angle.2

+

arc() draws -3pi/2 .. -pi anticlockwise correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.3.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.3.html new file mode 100644 index 00000000000..a0696d625fd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.3.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arc.angle.3 + + + + + + +

2d.path.arc.angle.3

+

arc() wraps angles mod 2pi when anticlockwise and end > start+2pi

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.4.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.4.html new file mode 100644 index 00000000000..bad839d8004 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.4.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.path.arc.angle.4 + + + + + + +

2d.path.arc.angle.4

+

arc() draws a full circle when clockwise and end > start+2pi

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.5.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.5.html new file mode 100644 index 00000000000..5a053445257 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.5.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arc.angle.5 + + + + + + +

2d.path.arc.angle.5

+

arc() wraps angles mod 2pi when clockwise and start > end+2pi

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.6.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.6.html new file mode 100644 index 00000000000..3b645cb2773 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.angle.6.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.path.arc.angle.6 + + + + + + +

2d.path.arc.angle.6

+

arc() draws a full circle when anticlockwise and start > end+2pi

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.default.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.default.html new file mode 100644 index 00000000000..3ccfd99148d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.default.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arc.default + + + + + + +

2d.path.arc.default

+

arc() with missing last argument defaults to clockwise

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.empty.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.empty.html new file mode 100644 index 00000000000..fa59b66f50f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.empty.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arc.empty + + + + + + +

2d.path.arc.empty

+

arc() with an empty path does not draw a straight line to the start point

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.end.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.end.html new file mode 100644 index 00000000000..13b1188d17a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.end.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.path.arc.end + + + + + + +

2d.path.arc.end

+

arc() adds the end point of the arc to the subpath

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.negative.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.negative.html new file mode 100644 index 00000000000..c82769046be --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.negative.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.path.arc.negative + + + + + + +

2d.path.arc.negative

+

arc() with negative radius throws INDEX_SIZE_ERR

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.nonempty.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.nonempty.html new file mode 100644 index 00000000000..ffc0b8c0c2a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.nonempty.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.arc.nonempty + + + + + + +

2d.path.arc.nonempty

+

arc() with a non-empty path does draw a straight line to the start point

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.nonfinite.html new file mode 100644 index 00000000000..d8cffe4467c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.nonfinite.html @@ -0,0 +1,77 @@ + + +Canvas test: 2d.path.arc.nonfinite + + + + + + +

2d.path.arc.nonfinite

+

arc() with Infinity/NaN is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.scale.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.scale.1.html new file mode 100644 index 00000000000..fcb2b52ae99 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.scale.1.html @@ -0,0 +1,54 @@ + + +Canvas test: 2d.path.arc.scale.1 + + + + + + +

2d.path.arc.scale.1

+

Non-uniformly scaled arcs are the right shape

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.scale.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.scale.2.html new file mode 100644 index 00000000000..59d182c92f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.scale.2.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.path.arc.scale.2 + + + + + + +

2d.path.arc.scale.2

+

Highly scaled arcs are the right shape

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.selfintersect.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.selfintersect.1.html new file mode 100644 index 00000000000..e212b49b45a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.selfintersect.1.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.path.arc.selfintersect.1 + + + + + + +

2d.path.arc.selfintersect.1

+

arc() with lineWidth > 2*radius is drawn sensibly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.selfintersect.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.selfintersect.2.html new file mode 100644 index 00000000000..8bc9fea70f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.selfintersect.2.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.path.arc.selfintersect.2 + + + + + + +

2d.path.arc.selfintersect.2

+

arc() with lineWidth > 2*radius is drawn sensibly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.1.html new file mode 100644 index 00000000000..dcaac9bb163 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.1.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.path.arc.shape.1 + + + + + + +

2d.path.arc.shape.1

+

arc() from 0 to pi does not draw anything in the wrong half

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.2.html new file mode 100644 index 00000000000..dee4b3841da --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.2.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.path.arc.shape.2 + + + + + + +

2d.path.arc.shape.2

+

arc() from 0 to pi draws stuff in the right half

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.3.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.3.html new file mode 100644 index 00000000000..0090411faf0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.3.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.path.arc.shape.3 + + + + + + +

2d.path.arc.shape.3

+

arc() from 0 to -pi/2 does not draw anything in the wrong quadrant

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.4.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.4.html new file mode 100644 index 00000000000..dc12ef6c116 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.4.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.path.arc.shape.4 + + + + + + +

2d.path.arc.shape.4

+

arc() from 0 to -pi/2 draws stuff in the right quadrant

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.5.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.5.html new file mode 100644 index 00000000000..2a84dde748b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.shape.5.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.path.arc.shape.5 + + + + + + +

2d.path.arc.shape.5

+

arc() from 0 to 5pi does not draw crazy things

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.1.html new file mode 100644 index 00000000000..25fc393aa9d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.1.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arc.twopie.1 + + + + + + +

2d.path.arc.twopie.1

+

arc() draws nothing when end = start + 2pi-e and anticlockwise

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.2.html new file mode 100644 index 00000000000..775a87c223a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.2.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arc.twopie.2 + + + + + + +

2d.path.arc.twopie.2

+

arc() draws a full circle when end = start + 2pi-e and clockwise

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.3.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.3.html new file mode 100644 index 00000000000..19680022f74 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.3.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arc.twopie.3 + + + + + + +

2d.path.arc.twopie.3

+

arc() draws a full circle when end = start + 2pi+e and anticlockwise

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.4.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.4.html new file mode 100644 index 00000000000..bddf7fb49b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.twopie.4.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arc.twopie.4 + + + + + + +

2d.path.arc.twopie.4

+

arc() draws nothing when end = start + 2pi+e and clockwise

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.zero.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.zero.1.html new file mode 100644 index 00000000000..e18a84919f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.zero.1.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arc.zero.1 + + + + + + +

2d.path.arc.zero.1

+

arc() draws nothing when startAngle = endAngle and anticlockwise

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.zero.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.zero.2.html new file mode 100644 index 00000000000..398a74d2aae --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.zero.2.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arc.zero.2 + + + + + + +

2d.path.arc.zero.2

+

arc() draws nothing when startAngle = endAngle and clockwise

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.zeroradius.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.zeroradius.html new file mode 100644 index 00000000000..af1ccf74129 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arc.zeroradius.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.arc.zeroradius + + + + + + +

2d.path.arc.zeroradius

+

arc() with zero radius draws a line to the start point

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.coincide.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.coincide.1.html new file mode 100644 index 00000000000..936034e38d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.coincide.1.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.path.arcTo.coincide.1 + + + + + + +

2d.path.arcTo.coincide.1

+

arcTo() has no effect if P0 = P1

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.coincide.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.coincide.2.html new file mode 100644 index 00000000000..c64fa4c81a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.coincide.2.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.path.arcTo.coincide.2 + + + + + + +

2d.path.arcTo.coincide.2

+

arcTo() draws a straight line to P1 if P1 = P2

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.1.html new file mode 100644 index 00000000000..196dbc4459d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.1.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.path.arcTo.collinear.1 + + + + + + +

2d.path.arcTo.collinear.1

+

arcTo() with all points on a line, and P1 between P0/P2, draws a straight line to P1

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.2.html new file mode 100644 index 00000000000..75998b308f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.2.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.path.arcTo.collinear.2 + + + + + + +

2d.path.arcTo.collinear.2

+

arcTo() with all points on a line, and P2 between P0/P1, draws a straight line to P1

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.3.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.3.html new file mode 100644 index 00000000000..8a0e9a8887b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.collinear.3.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.path.arcTo.collinear.3 + + + + + + +

2d.path.arcTo.collinear.3

+

arcTo() with all points on a line, and P0 between P1/P2, draws a straight line to P1

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.1.html new file mode 100644 index 00000000000..cae097116ab --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.1.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.arcTo.ensuresubpath.1 + + + + + + +

2d.path.arcTo.ensuresubpath.1

+

If there is no subpath, the first control point is added (and nothing is drawn up to it)

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.2.html new file mode 100644 index 00000000000..4d25a84f446 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.ensuresubpath.2.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.arcTo.ensuresubpath.2 + + + + + + +

2d.path.arcTo.ensuresubpath.2

+

If there is no subpath, the first control point is added

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.negative.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.negative.html new file mode 100644 index 00000000000..5aa7baa4c22 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.negative.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.path.arcTo.negative + + + + + + +

2d.path.arcTo.negative

+

arcTo() with negative radius throws an exception

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.nonfinite.html new file mode 100644 index 00000000000..354d62186ed --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.nonfinite.html @@ -0,0 +1,75 @@ + + +Canvas test: 2d.path.arcTo.nonfinite + + + + + + +

2d.path.arcTo.nonfinite

+

arcTo() with Infinity/NaN is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.scale.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.scale.html new file mode 100644 index 00000000000..0de2336d7c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.scale.html @@ -0,0 +1,47 @@ + + +Canvas test: 2d.path.arcTo.scale + + + + + + +

2d.path.arcTo.scale

+

arcTo scales the curve, not just the control points

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.curve1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.curve1.html new file mode 100644 index 00000000000..fa06b5bd1aa --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.curve1.html @@ -0,0 +1,60 @@ + + +Canvas test: 2d.path.arcTo.shape.curve1 + + + + + + +

2d.path.arcTo.shape.curve1

+

arcTo() curves in the right kind of shape

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.curve2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.curve2.html new file mode 100644 index 00000000000..ae0722c54dc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.curve2.html @@ -0,0 +1,59 @@ + + +Canvas test: 2d.path.arcTo.shape.curve2 + + + + + + +

2d.path.arcTo.shape.curve2

+

arcTo() curves in the right kind of shape

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.end.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.end.html new file mode 100644 index 00000000000..44137138b4c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.end.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.path.arcTo.shape.end + + + + + + +

2d.path.arcTo.shape.end

+

arcTo() does not draw anything from P1 to P2

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.start.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.start.html new file mode 100644 index 00000000000..c7677af8dc0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.shape.start.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.path.arcTo.shape.start + + + + + + +

2d.path.arcTo.shape.start

+

arcTo() draws a straight line from P0 to P1

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.transformation.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.transformation.html new file mode 100644 index 00000000000..351495c3882 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.transformation.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.path.arcTo.transformation + + + + + + +

2d.path.arcTo.transformation

+

arcTo joins up to the last subpath point correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.zero.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.zero.1.html new file mode 100644 index 00000000000..fa172b5a9a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.zero.1.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.path.arcTo.zero.1 + + + + + + +

2d.path.arcTo.zero.1

+

arcTo() with zero radius draws a straight line from P0 to P1

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.zero.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.zero.2.html new file mode 100644 index 00000000000..ede4480fd31 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.arcTo.zero.2.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.path.arcTo.zero.2 + + + + + + +

2d.path.arcTo.zero.2

+

arcTo() with zero radius draws a straight line from P0 to P1, even when all points are collinear

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.beginPath.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.beginPath.html new file mode 100644 index 00000000000..86c7b0721c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.beginPath.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.path.beginPath + + + + + + +

2d.path.beginPath

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.basic.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.basic.html new file mode 100644 index 00000000000..2628fee4567 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.basic.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.bezierCurveTo.basic + + + + + + +

2d.path.bezierCurveTo.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.1.html new file mode 100644 index 00000000000..37f3c6a9a9d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.1.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.bezierCurveTo.ensuresubpath.1 + + + + + + +

2d.path.bezierCurveTo.ensuresubpath.1

+

If there is no subpath, the first control point is added (and nothing is drawn up to it)

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.2.html new file mode 100644 index 00000000000..4fd2a0e3c55 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.ensuresubpath.2.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.bezierCurveTo.ensuresubpath.2 + + + + + + +

2d.path.bezierCurveTo.ensuresubpath.2

+

If there is no subpath, the first control point is added

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.nonfinite.html new file mode 100644 index 00000000000..28639c657f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.nonfinite.html @@ -0,0 +1,109 @@ + + +Canvas test: 2d.path.bezierCurveTo.nonfinite + + + + + + +

2d.path.bezierCurveTo.nonfinite

+

bezierCurveTo() with Infinity/NaN is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.scaled.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.scaled.html new file mode 100644 index 00000000000..6546d5d6489 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.scaled.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.path.bezierCurveTo.scaled + + + + + + +

2d.path.bezierCurveTo.scaled

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.shape.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.shape.html new file mode 100644 index 00000000000..26b502a982e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.bezierCurveTo.shape.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.path.bezierCurveTo.shape + + + + + + +

2d.path.bezierCurveTo.shape

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.basic.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.basic.1.html new file mode 100644 index 00000000000..e15a0e3bb6c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.basic.1.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.path.clip.basic.1 + + + + + + +

2d.path.clip.basic.1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.basic.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.basic.2.html new file mode 100644 index 00000000000..65f9eff737e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.basic.2.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.path.clip.basic.2 + + + + + + +

2d.path.clip.basic.2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.empty.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.empty.html new file mode 100644 index 00000000000..9a437b16e4a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.empty.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.path.clip.empty + + + + + + +

2d.path.clip.empty

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.intersect.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.intersect.html new file mode 100644 index 00000000000..3ef64feb365 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.intersect.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.path.clip.intersect + + + + + + +

2d.path.clip.intersect

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.unaffected.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.unaffected.html new file mode 100644 index 00000000000..606c3417444 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.unaffected.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.path.clip.unaffected + + + + + + +

2d.path.clip.unaffected

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.winding.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.winding.1.html new file mode 100644 index 00000000000..9fe007b4093 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.winding.1.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.path.clip.winding.1 + + + + + + +

2d.path.clip.winding.1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.winding.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.winding.2.html new file mode 100644 index 00000000000..dd9b6ad6cb0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.clip.winding.2.html @@ -0,0 +1,49 @@ + + +Canvas test: 2d.path.clip.winding.2 + + + + + + +

2d.path.clip.winding.2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.closePath.empty.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.closePath.empty.html new file mode 100644 index 00000000000..8ee68dc8397 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.closePath.empty.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.path.closePath.empty + + + + + + +

2d.path.closePath.empty

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.closePath.newline.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.closePath.newline.html new file mode 100644 index 00000000000..391451e6f43 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.closePath.newline.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.path.closePath.newline + + + + + + +

2d.path.closePath.newline

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.closePath.nextpoint.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.closePath.nextpoint.html new file mode 100644 index 00000000000..e98458b183f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.closePath.nextpoint.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.path.closePath.nextpoint + + + + + + +

2d.path.closePath.nextpoint

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.closed.basic.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.closed.basic.html new file mode 100644 index 00000000000..b0fbee75451 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.closed.basic.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.path.fill.closed.basic + + + + + + +

2d.path.fill.closed.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.closed.unaffected.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.closed.unaffected.html new file mode 100644 index 00000000000..a1d11287c66 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.closed.unaffected.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.path.fill.closed.unaffected + + + + + + +

2d.path.fill.closed.unaffected

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.overlap.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.overlap.html new file mode 100644 index 00000000000..d69999c24c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.overlap.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.path.fill.overlap + + + + + + +

2d.path.fill.overlap

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.overlap.png b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.overlap.png new file mode 100644 index 00000000000..e2a35d48d4c Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.overlap.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.add.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.add.html new file mode 100644 index 00000000000..3eaa0f1bf4d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.add.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.path.fill.winding.add + + + + + + +

2d.path.fill.winding.add

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.1.html new file mode 100644 index 00000000000..50a2a1dbb76 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.1.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.path.fill.winding.subtract.1 + + + + + + +

2d.path.fill.winding.subtract.1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.2.html new file mode 100644 index 00000000000..b9423507c7b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.2.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.path.fill.winding.subtract.2 + + + + + + +

2d.path.fill.winding.subtract.2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.3.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.3.html new file mode 100644 index 00000000000..131672d1018 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.fill.winding.subtract.3.html @@ -0,0 +1,47 @@ + + +Canvas test: 2d.path.fill.winding.subtract.3 + + + + + + +

2d.path.fill.winding.subtract.3

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.initial.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.initial.html new file mode 100644 index 00000000000..9dadad80098 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.initial.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.path.initial + + + + + + +

2d.path.initial

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.arc.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.arc.html new file mode 100644 index 00000000000..2d6cfcce5d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.arc.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.isPointInPath.arc + + + + + + +

2d.path.isPointInPath.arc

+

isPointInPath() works on arcs

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.basic.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.basic.1.html new file mode 100644 index 00000000000..31818b0ad30 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.basic.1.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.path.isPointInPath.basic.1 + + + + + + +

2d.path.isPointInPath.basic.1

+

isPointInPath() detects whether the point is inside the path

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.basic.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.basic.2.html new file mode 100644 index 00000000000..138368ec173 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.basic.2.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.path.isPointInPath.basic.2 + + + + + + +

2d.path.isPointInPath.basic.2

+

isPointInPath() detects whether the point is inside the path

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.bezier.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.bezier.html new file mode 100644 index 00000000000..aa246f63c7e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.bezier.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.path.isPointInPath.bezier + + + + + + +

2d.path.isPointInPath.bezier

+

isPointInPath() works on Bezier curves

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.bigarc.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.bigarc.html new file mode 100644 index 00000000000..1565aeeba59 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.bigarc.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.isPointInPath.bigarc + + + + + + +

2d.path.isPointInPath.bigarc

+

isPointInPath() works on unclosed arcs larger than 2pi

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.edge.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.edge.html new file mode 100644 index 00000000000..70faf8054c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.edge.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.path.isPointInPath.edge + + + + + + +

2d.path.isPointInPath.edge

+

isPointInPath() counts points on the path as being inside

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.empty.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.empty.html new file mode 100644 index 00000000000..b1e4b2dbdba --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.empty.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.path.isPointInPath.empty + + + + + + +

2d.path.isPointInPath.empty

+

isPointInPath() works when there is no path

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.nonfinite.html new file mode 100644 index 00000000000..f70e6628837 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.nonfinite.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.isPointInPath.nonfinite + + + + + + +

2d.path.isPointInPath.nonfinite

+

isPointInPath() returns false for non-finite arguments

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.outside.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.outside.html new file mode 100644 index 00000000000..1abe324838a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.outside.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.isPointInPath.outside + + + + + + +

2d.path.isPointInPath.outside

+

isPointInPath() works on paths outside the canvas

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.subpath.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.subpath.html new file mode 100644 index 00000000000..34bd0c7762e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.subpath.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.isPointInPath.subpath + + + + + + +

2d.path.isPointInPath.subpath

+

isPointInPath() uses the current path, not just the subpath

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.1.html new file mode 100644 index 00000000000..20777390cf8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.1.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.isPointInPath.transform.1 + + + + + + +

2d.path.isPointInPath.transform.1

+

isPointInPath() handles transformations correctly

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.2.html new file mode 100644 index 00000000000..bde026e4fcf --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.2.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.isPointInPath.transform.2 + + + + + + +

2d.path.isPointInPath.transform.2

+

isPointInPath() handles transformations correctly

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.3.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.3.html new file mode 100644 index 00000000000..c612aae6090 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.3.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.isPointInPath.transform.3 + + + + + + +

2d.path.isPointInPath.transform.3

+

isPointInPath() handles transformations correctly

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.4.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.4.html new file mode 100644 index 00000000000..50fc45d2f47 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.transform.4.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.path.isPointInPath.transform.4 + + + + + + +

2d.path.isPointInPath.transform.4

+

isPointInPath() handles transformations correctly

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.unclosed.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.unclosed.html new file mode 100644 index 00000000000..a137592532b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.unclosed.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.path.isPointInPath.unclosed + + + + + + +

2d.path.isPointInPath.unclosed

+

isPointInPath() works on unclosed subpaths

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.winding.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.winding.html new file mode 100644 index 00000000000..afa83810bfb --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.isPointInPath.winding.html @@ -0,0 +1,47 @@ + + +Canvas test: 2d.path.isPointInPath.winding + + + + + + +

2d.path.isPointInPath.winding

+

isPointInPath() uses the non-zero winding number rule

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.basic.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.basic.html new file mode 100644 index 00000000000..8606f890067 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.basic.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.lineTo.basic + + + + + + +

2d.path.lineTo.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.1.html new file mode 100644 index 00000000000..a4c0efb7e3f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.1.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.lineTo.ensuresubpath.1 + + + + + + +

2d.path.lineTo.ensuresubpath.1

+

If there is no subpath, the point is added and nothing is drawn

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.2.html new file mode 100644 index 00000000000..94e6edddabf --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.ensuresubpath.2.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.lineTo.ensuresubpath.2 + + + + + + +

2d.path.lineTo.ensuresubpath.2

+

If there is no subpath, the point is added and used for subsequent drawing

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.nextpoint.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.nextpoint.html new file mode 100644 index 00000000000..c2032f7c5a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.nextpoint.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.path.lineTo.nextpoint + + + + + + +

2d.path.lineTo.nextpoint

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.nonfinite.html new file mode 100644 index 00000000000..52982d2f68d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.lineTo.nonfinite.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.path.lineTo.nonfinite + + + + + + +

2d.path.lineTo.nonfinite

+

lineTo() with Infinity/NaN is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.moveTo.basic.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.moveTo.basic.html new file mode 100644 index 00000000000..999518fcedd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.moveTo.basic.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.path.moveTo.basic + + + + + + +

2d.path.moveTo.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.moveTo.multiple.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.moveTo.multiple.html new file mode 100644 index 00000000000..123d39314f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.moveTo.multiple.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.path.moveTo.multiple + + + + + + +

2d.path.moveTo.multiple

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.moveTo.newsubpath.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.moveTo.newsubpath.html new file mode 100644 index 00000000000..caff9f81d45 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.moveTo.newsubpath.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.path.moveTo.newsubpath + + + + + + +

2d.path.moveTo.newsubpath

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.moveTo.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.moveTo.nonfinite.html new file mode 100644 index 00000000000..c531f4d05c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.moveTo.nonfinite.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.path.moveTo.nonfinite + + + + + + +

2d.path.moveTo.nonfinite

+

moveTo() with Infinity/NaN is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.basic.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.basic.html new file mode 100644 index 00000000000..247b6800590 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.basic.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.quadraticCurveTo.basic + + + + + + +

2d.path.quadraticCurveTo.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.1.html new file mode 100644 index 00000000000..ac7bab21220 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.1.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.quadraticCurveTo.ensuresubpath.1 + + + + + + +

2d.path.quadraticCurveTo.ensuresubpath.1

+

If there is no subpath, the first control point is added (and nothing is drawn up to it)

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.html new file mode 100644 index 00000000000..95951a2ad13 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.ensuresubpath.2.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.path.quadraticCurveTo.ensuresubpath.2 + + + + + + +

2d.path.quadraticCurveTo.ensuresubpath.2

+

If there is no subpath, the first control point is added

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.nonfinite.html new file mode 100644 index 00000000000..637d10954fd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.nonfinite.html @@ -0,0 +1,57 @@ + + +Canvas test: 2d.path.quadraticCurveTo.nonfinite + + + + + + +

2d.path.quadraticCurveTo.nonfinite

+

quadraticCurveTo() with Infinity/NaN is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.scaled.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.scaled.html new file mode 100644 index 00000000000..36801da9408 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.scaled.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.path.quadraticCurveTo.scaled + + + + + + +

2d.path.quadraticCurveTo.scaled

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.shape.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.shape.html new file mode 100644 index 00000000000..9311fc2a3b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.quadraticCurveTo.shape.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.path.quadraticCurveTo.shape + + + + + + +

2d.path.quadraticCurveTo.shape

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.basic.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.basic.html new file mode 100644 index 00000000000..a5a6a733ea3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.basic.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.path.rect.basic + + + + + + +

2d.path.rect.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.closed.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.closed.html new file mode 100644 index 00000000000..98f06480df0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.closed.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.rect.closed + + + + + + +

2d.path.rect.closed

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.end.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.end.1.html new file mode 100644 index 00000000000..4cfe05817b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.end.1.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.rect.end.1 + + + + + + +

2d.path.rect.end.1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.end.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.end.2.html new file mode 100644 index 00000000000..f961b9c5215 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.end.2.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.path.rect.end.2 + + + + + + +

2d.path.rect.end.2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.negative.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.negative.html new file mode 100644 index 00000000000..382623a5e26 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.negative.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.path.rect.negative + + + + + + +

2d.path.rect.negative

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.newsubpath.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.newsubpath.html new file mode 100644 index 00000000000..e0e841b8c3d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.newsubpath.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.path.rect.newsubpath + + + + + + +

2d.path.rect.newsubpath

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.nonfinite.html new file mode 100644 index 00000000000..173fd383f56 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.nonfinite.html @@ -0,0 +1,57 @@ + + +Canvas test: 2d.path.rect.nonfinite + + + + + + +

2d.path.rect.nonfinite

+

rect() with Infinity/NaN is ignored

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.selfintersect.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.selfintersect.html new file mode 100644 index 00000000000..16be6232b26 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.selfintersect.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.rect.selfintersect + + + + + + +

2d.path.rect.selfintersect

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.winding.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.winding.html new file mode 100644 index 00000000000..194e5733b51 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.winding.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.path.rect.winding + + + + + + +

2d.path.rect.winding

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.1.html new file mode 100644 index 00000000000..dd4b1a45628 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.1.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.rect.zero.1 + + + + + + +

2d.path.rect.zero.1

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.2.html new file mode 100644 index 00000000000..0bdfe380e4a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.2.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.rect.zero.2 + + + + + + +

2d.path.rect.zero.2

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.3.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.3.html new file mode 100644 index 00000000000..67dd2410ba6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.3.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.rect.zero.3 + + + + + + +

2d.path.rect.zero.3

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.4.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.4.html new file mode 100644 index 00000000000..a74399567fa --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.4.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.rect.zero.4 + + + + + + +

2d.path.rect.zero.4

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.5.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.5.html new file mode 100644 index 00000000000..81566fb7f23 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.5.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.path.rect.zero.5 + + + + + + +

2d.path.rect.zero.5

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.6.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.6.html new file mode 100644 index 00000000000..37b1c524c52 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.rect.zero.6.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.path.rect.zero.6 + + + + + + +

2d.path.rect.zero.6

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.empty.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.empty.html new file mode 100644 index 00000000000..671c4552b09 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.empty.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.path.stroke.empty + + + + + + +

2d.path.stroke.empty

+

Empty subpaths are not stroked

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.overlap.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.overlap.html new file mode 100644 index 00000000000..8a4d6989e2d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.overlap.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.path.stroke.overlap + + + + + + +

2d.path.stroke.overlap

+

Stroked subpaths are combined before being drawn

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.overlap.png b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.overlap.png new file mode 100644 index 00000000000..e2a35d48d4c Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.overlap.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.arc.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.arc.html new file mode 100644 index 00000000000..fc4c23ffc31 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.arc.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.path.stroke.prune.arc + + + + + + +

2d.path.stroke.prune.arc

+

Zero-length line segments from arcTo and arc are removed before stroking

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.closed.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.closed.html new file mode 100644 index 00000000000..d356c91fa41 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.closed.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.path.stroke.prune.closed + + + + + + +

2d.path.stroke.prune.closed

+

Zero-length line segments from closed paths are removed before stroking

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.corner.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.corner.html new file mode 100644 index 00000000000..687777426de --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.corner.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.path.stroke.prune.corner + + + + + + +

2d.path.stroke.prune.corner

+

Zero-length line segments are removed before stroking with miters

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.curve.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.curve.html new file mode 100644 index 00000000000..721cb6eb081 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.curve.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.path.stroke.prune.curve + + + + + + +

2d.path.stroke.prune.curve

+

Zero-length line segments from quadraticCurveTo and bezierCurveTo are removed before stroking

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.line.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.line.html new file mode 100644 index 00000000000..aa04d457ec9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.line.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.path.stroke.prune.line + + + + + + +

2d.path.stroke.prune.line

+

Zero-length line segments from lineTo are removed before stroking

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.rect.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.rect.html new file mode 100644 index 00000000000..45ead6db43c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.prune.rect.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.path.stroke.prune.rect + + + + + + +

2d.path.stroke.prune.rect

+

Zero-length line segments from rect and strokeRect are removed before stroking

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.scale1.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.scale1.html new file mode 100644 index 00000000000..ae63be20738 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.scale1.html @@ -0,0 +1,54 @@ + + +Canvas test: 2d.path.stroke.scale1 + + + + + + +

2d.path.stroke.scale1

+

Stroke line widths are scaled by the current transformation matrix

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.scale2.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.scale2.html new file mode 100644 index 00000000000..de8dd5e340c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.scale2.html @@ -0,0 +1,56 @@ + + +Canvas test: 2d.path.stroke.scale2 + + + + + + +

2d.path.stroke.scale2

+

Stroke line widths are scaled by the current transformation matrix

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.skew.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.skew.html new file mode 100644 index 00000000000..6c6e0a4d7ed --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.skew.html @@ -0,0 +1,70 @@ + + +Canvas test: 2d.path.stroke.skew + + + + + + +

2d.path.stroke.skew

+

Strokes lines are skewed by the current transformation matrix

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.unaffected.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.unaffected.html new file mode 100644 index 00000000000..6980a0cfd80 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.unaffected.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.path.stroke.unaffected + + + + + + +

2d.path.stroke.unaffected

+

Stroking does not start a new path or subpath

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.union.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.union.html new file mode 100644 index 00000000000..bf1f28a5b09 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.stroke.union.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.path.stroke.union + + + + + + +

2d.path.stroke.union

+

Strokes in opposite directions are unioned, not subtracted

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.transformation.basic.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.transformation.basic.html new file mode 100644 index 00000000000..52803215320 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.transformation.basic.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.path.transformation.basic + + + + + + +

2d.path.transformation.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.transformation.changing.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.transformation.changing.html new file mode 100644 index 00000000000..24c32062d37 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.transformation.changing.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.path.transformation.changing + + + + + + +

2d.path.transformation.changing

+

Transformations are applied while building paths, not when drawing

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.transformation.multiple.html b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.transformation.multiple.html new file mode 100644 index 00000000000..5d78d28c910 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/path-objects/2d.path.transformation.multiple.html @@ -0,0 +1,47 @@ + + +Canvas test: 2d.path.transformation.multiple + + + + + + +

2d.path.transformation.multiple

+

Transformations are applied while building paths, not when drawing

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.basic.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.basic.html new file mode 100644 index 00000000000..cf236cd3381 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.basic.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.imageData.create1.basic + + + + + + +

2d.imageData.create1.basic

+

createImageData(imgdata) exists and returns something

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.initial.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.initial.html new file mode 100644 index 00000000000..15f67b72bb9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.initial.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.imageData.create1.initial + + + + + + +

2d.imageData.create1.initial

+

createImageData(imgdata) returns transparent black data of the right size

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.this.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.this.html new file mode 100644 index 00000000000..1b9b2e0952d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.this.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.imageData.create1.this + + + + + + +

2d.imageData.create1.this

+

createImageData(imgdata) should throw when called with the wrong |this|

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.type.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.type.html new file mode 100644 index 00000000000..8884035508d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.type.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.imageData.create1.type + + + + + + +

2d.imageData.create1.type

+

createImageData(imgdata) returns an ImageData object containing a Uint8ClampedArray object

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.zero.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.zero.html new file mode 100644 index 00000000000..928c430f832 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create1.zero.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.imageData.create1.zero + + + + + + +

2d.imageData.create1.zero

+

createImageData(null) throws TypeError

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.basic.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.basic.html new file mode 100644 index 00000000000..51d3c13f9f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.basic.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.imageData.create2.basic + + + + + + +

2d.imageData.create2.basic

+

createImageData(sw, sh) exists and returns something

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.initial.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.initial.html new file mode 100644 index 00000000000..a858c243781 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.initial.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.imageData.create2.initial + + + + + + +

2d.imageData.create2.initial

+

createImageData(sw, sh) returns transparent black data of the right size

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.large.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.large.html new file mode 100644 index 00000000000..113a2319401 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.large.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.imageData.create2.large + + + + + + +

2d.imageData.create2.large

+

createImageData(sw, sh) works for sizes much larger than the canvas

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.negative.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.negative.html new file mode 100644 index 00000000000..7a06ed45cea --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.negative.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.imageData.create2.negative + + + + + + +

2d.imageData.create2.negative

+

createImageData(sw, sh) takes the absolute magnitude of the size arguments

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.nonfinite.html new file mode 100644 index 00000000000..3dabc30a63e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.nonfinite.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.imageData.create2.nonfinite + + + + + + +

2d.imageData.create2.nonfinite

+

createImageData() throws TypeError if arguments are not finite

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.round.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.round.html new file mode 100644 index 00000000000..84c2001783b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.round.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.imageData.create2.round + + + + + + +

2d.imageData.create2.round

+

createImageData(w, h) is rounded the same as getImageData(0, 0, w, h)

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.this.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.this.html new file mode 100644 index 00000000000..ff55218cff1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.this.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.imageData.create2.this + + + + + + +

2d.imageData.create2.this

+

createImageData(sw, sh) should throw when called with the wrong |this|

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.tiny.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.tiny.html new file mode 100644 index 00000000000..dac0e5e6025 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.tiny.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.imageData.create2.tiny + + + + + + +

2d.imageData.create2.tiny

+

createImageData(sw, sh) works for sizes smaller than one pixel

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.type.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.type.html new file mode 100644 index 00000000000..4e7b444cc17 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.type.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.imageData.create2.type + + + + + + +

2d.imageData.create2.type

+

createImageData(sw, sh) returns an ImageData object containing a Uint8ClampedArray object

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.zero.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.zero.html new file mode 100644 index 00000000000..c8957caac76 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.create2.zero.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.imageData.create2.zero + + + + + + +

2d.imageData.create2.zero

+

createImageData(sw, sh) throws INDEX_SIZE_ERR if size is zero

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.basic.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.basic.html new file mode 100644 index 00000000000..d8bad1fd5d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.basic.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.imageData.get.basic + + + + + + +

2d.imageData.get.basic

+

getImageData() exists and returns something

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.clamp.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.clamp.html new file mode 100644 index 00000000000..cc235bac0d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.clamp.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.imageData.get.clamp + + + + + + +

2d.imageData.get.clamp

+

getImageData() clamps colours to the range [0, 255]

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.length.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.length.html new file mode 100644 index 00000000000..8bc30621c76 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.length.html @@ -0,0 +1,28 @@ + + +Canvas test: 2d.imageData.get.length + + + + + + +

2d.imageData.get.length

+

getImageData() returns a correctly-sized Uint8ClampedArray

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html new file mode 100644 index 00000000000..176b7d8bb4f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonfinite.html @@ -0,0 +1,75 @@ + + +Canvas test: 2d.imageData.get.nonfinite + + + + + + +

2d.imageData.get.nonfinite

+

getImageData() throws TypeError if arguments are not finite

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonpremul.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonpremul.html new file mode 100644 index 00000000000..e8bce96f87b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.nonpremul.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.imageData.get.nonpremul + + + + + + +

2d.imageData.get.nonpremul

+

getImageData() returns non-premultiplied colours

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.alpha.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.alpha.html new file mode 100644 index 00000000000..e2453c49701 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.alpha.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.imageData.get.order.alpha + + + + + + +

2d.imageData.get.order.alpha

+

getImageData() returns A in the fourth component

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.cols.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.cols.html new file mode 100644 index 00000000000..123831380de --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.cols.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.imageData.get.order.cols + + + + + + +

2d.imageData.get.order.cols

+

getImageData() returns leftmost columns first

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.rgb.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.rgb.html new file mode 100644 index 00000000000..37531ecfa2e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.rgb.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.imageData.get.order.rgb + + + + + + +

2d.imageData.get.order.rgb

+

getImageData() returns R then G then B

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.rows.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.rows.html new file mode 100644 index 00000000000..de77dc6dde9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.order.rows.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.imageData.get.order.rows + + + + + + +

2d.imageData.get.order.rows

+

getImageData() returns topmost rows first

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.range.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.range.html new file mode 100644 index 00000000000..5f34e35df24 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.range.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.imageData.get.range + + + + + + +

2d.imageData.get.range

+

getImageData() returns values in the range [0, 255]

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.negative.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.negative.html new file mode 100644 index 00000000000..4bab359fb81 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.negative.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.imageData.get.source.negative + + + + + + +

2d.imageData.get.source.negative

+

getImageData() works with negative width and height, and returns top-to-bottom left-to-right

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.outside.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.outside.html new file mode 100644 index 00000000000..9950b60fffc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.outside.html @@ -0,0 +1,86 @@ + + +Canvas test: 2d.imageData.get.source.outside + + + + + + +

2d.imageData.get.source.outside

+

getImageData() returns transparent black outside the canvas

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.size.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.size.html new file mode 100644 index 00000000000..0782b115127 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.source.size.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.imageData.get.source.size + + + + + + +

2d.imageData.get.source.size

+

getImageData() returns bigger ImageData for bigger source rectangle

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.tiny.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.tiny.html new file mode 100644 index 00000000000..982f3f28b6f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.tiny.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.imageData.get.tiny + + + + + + +

2d.imageData.get.tiny

+

getImageData() works for sizes smaller than one pixel

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.type.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.type.html new file mode 100644 index 00000000000..76f711d583d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.type.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.imageData.get.type + + + + + + +

2d.imageData.get.type

+

getImageData() returns an ImageData object containing a Uint8ClampedArray object

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.unaffected.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.unaffected.html new file mode 100644 index 00000000000..06afdb96083 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.unaffected.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.imageData.get.unaffected + + + + + + +

2d.imageData.get.unaffected

+

getImageData() is not affected by context state

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.zero.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.zero.html new file mode 100644 index 00000000000..ed152172309 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.get.zero.html @@ -0,0 +1,29 @@ + + +Canvas test: 2d.imageData.get.zero + + + + + + +

2d.imageData.get.zero

+

getImageData() throws INDEX_SIZE_ERR if size is zero

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.clamp.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.clamp.html new file mode 100644 index 00000000000..61e10eea1df --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.clamp.html @@ -0,0 +1,55 @@ + + +Canvas test: 2d.imageData.object.clamp + + + + + + +

2d.imageData.object.clamp

+

ImageData.data clamps numbers to [0, 255]

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.html new file mode 100644 index 00000000000..c325966267c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.ctor.html @@ -0,0 +1,28 @@ + + +Canvas test: 2d.imageData.object.ctor + + + + + + +

2d.imageData.object.ctor

+

ImageData does not have a usable constructor

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.nan.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.nan.html new file mode 100644 index 00000000000..4294b12f668 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.nan.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.imageData.object.nan + + + + + + +

2d.imageData.object.nan

+

ImageData.data converts NaN to 0

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.properties.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.properties.html new file mode 100644 index 00000000000..a9ed94247f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.properties.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.imageData.object.properties + + + + + + +

2d.imageData.object.properties

+

ImageData objects have the right properties

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.readonly.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.readonly.html new file mode 100644 index 00000000000..6f183373329 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.readonly.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.imageData.object.readonly + + + + + + +

2d.imageData.object.readonly

+

ImageData objects properties are read-only

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.round.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.round.html new file mode 100644 index 00000000000..7f50a92c6ad --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.round.html @@ -0,0 +1,55 @@ + + +Canvas test: 2d.imageData.object.round + + + + + + +

2d.imageData.object.round

+

ImageData.data rounds numbers with round-to-zero

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.set.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.set.html new file mode 100644 index 00000000000..dd63ceb90ad --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.set.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.imageData.object.set + + + + + + +

2d.imageData.object.set

+

ImageData.data can be modified

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.string.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.string.html new file mode 100644 index 00000000000..625b5575094 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.string.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.imageData.object.string + + + + + + +

2d.imageData.object.string

+

ImageData.data converts strings to numbers with ToNumber

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.undefined.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.undefined.html new file mode 100644 index 00000000000..1abf84330fa --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.object.undefined.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.imageData.object.undefined + + + + + + +

2d.imageData.object.undefined

+

ImageData.data converts undefined to 0

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.alpha.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.alpha.html new file mode 100644 index 00000000000..9d19471492c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.alpha.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.imageData.put.alpha + + + + + + +

2d.imageData.put.alpha

+

putImageData() puts non-solid image data correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.alpha.png b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.alpha.png new file mode 100644 index 00000000000..5428c65524e Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.alpha.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.basic.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.basic.html new file mode 100644 index 00000000000..7d7de3cc4fd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.basic.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.imageData.put.basic + + + + + + +

2d.imageData.put.basic

+

putImageData() puts image data from getImageData() onto the canvas

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.clip.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.clip.html new file mode 100644 index 00000000000..8e8b19a6095 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.clip.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.imageData.put.clip + + + + + + +

2d.imageData.put.clip

+

putImageData() is not affected by clipping regions

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.created.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.created.html new file mode 100644 index 00000000000..4b1dd11bdb8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.created.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.imageData.put.created + + + + + + +

2d.imageData.put.created

+

putImageData() puts image data from createImageData() onto the canvas

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.cross.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.cross.html new file mode 100644 index 00000000000..5fc59090a9a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.cross.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.imageData.put.cross + + + + + + +

2d.imageData.put.cross

+

putImageData() accepts image data got from a different canvas

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.negative.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.negative.html new file mode 100644 index 00000000000..67cf410cc34 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.negative.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.imageData.put.dirty.negative + + + + + + +

2d.imageData.put.dirty.negative

+

putImageData() handles negative-sized dirty rectangles correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.outside.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.outside.html new file mode 100644 index 00000000000..81dc98ca971 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.outside.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.imageData.put.dirty.outside + + + + + + +

2d.imageData.put.dirty.outside

+

putImageData() handles dirty rectangles outside the canvas correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.rect1.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.rect1.html new file mode 100644 index 00000000000..b94a9f58149 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.rect1.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.imageData.put.dirty.rect1 + + + + + + +

2d.imageData.put.dirty.rect1

+

putImageData() only modifies areas inside the dirty rectangle, using width and height

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.rect2.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.rect2.html new file mode 100644 index 00000000000..1fb5c141664 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.rect2.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.imageData.put.dirty.rect2 + + + + + + +

2d.imageData.put.dirty.rect2

+

putImageData() only modifies areas inside the dirty rectangle, using x and y

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.zero.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.zero.html new file mode 100644 index 00000000000..726fdb80956 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.dirty.zero.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.imageData.put.dirty.zero + + + + + + +

2d.imageData.put.dirty.zero

+

putImageData() with zero-sized dirty rectangle puts nothing

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.modified.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.modified.html new file mode 100644 index 00000000000..5815aeb26b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.modified.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.imageData.put.modified + + + + + + +

2d.imageData.put.modified

+

putImageData() puts modified image data correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html new file mode 100644 index 00000000000..861545ff3a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.nonfinite.html @@ -0,0 +1,109 @@ + + +Canvas test: 2d.imageData.put.nonfinite + + + + + + +

2d.imageData.put.nonfinite

+

putImageData() throws TypeError if arguments are not finite

+ +

Defined in "Web IDL" (draft) +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.null.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.null.html new file mode 100644 index 00000000000..f827babc5a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.null.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.imageData.put.null + + + + + + +

2d.imageData.put.null

+

putImageData() with null imagedata throws TypeError

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.path.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.path.html new file mode 100644 index 00000000000..7994e8647c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.path.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.imageData.put.path + + + + + + +

2d.imageData.put.path

+

putImageData() does not affect the current path

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.unaffected.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.unaffected.html new file mode 100644 index 00000000000..8eee159958f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.unaffected.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.imageData.put.unaffected + + + + + + +

2d.imageData.put.unaffected

+

putImageData() is not affected by context state

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.unchanged.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.unchanged.html new file mode 100644 index 00000000000..59e05fbce22 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.unchanged.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.imageData.put.unchanged + + + + + + +

2d.imageData.put.unchanged

+

putImageData(getImageData(...), ...) has no effect

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.wrongtype.html b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.wrongtype.html new file mode 100644 index 00000000000..085097fd4ec --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/pixel-manipulation/2d.imageData.put.wrongtype.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.imageData.put.wrongtype + + + + + + +

2d.imageData.put.wrongtype

+

putImageData() does not accept non-ImageData objects

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/shadows/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.1.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.1.html new file mode 100644 index 00000000000..d541cd4b8ca --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.1.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.shadow.alpha.1 + + + + + + +

2d.shadow.alpha.1

+

Shadow colour alpha components are used

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.2.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.2.html new file mode 100644 index 00000000000..2176182927a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.2.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.shadow.alpha.2 + + + + + + +

2d.shadow.alpha.2

+

Shadow colour alpha components are used

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.2.png b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.2.png new file mode 100644 index 00000000000..8764e89b371 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.2.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.3.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.3.html new file mode 100644 index 00000000000..970575478b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.3.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.shadow.alpha.3 + + + + + + +

2d.shadow.alpha.3

+

Shadows are affected by globalAlpha

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.3.png b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.3.png new file mode 100644 index 00000000000..8764e89b371 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.3.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.4.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.4.html new file mode 100644 index 00000000000..0621af631fc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.4.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.shadow.alpha.4 + + + + + + +

2d.shadow.alpha.4

+

Shadows with alpha components are correctly affected by globalAlpha

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.4.png b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.4.png new file mode 100644 index 00000000000..8764e89b371 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.4.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.5.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.5.html new file mode 100644 index 00000000000..95cb2f39930 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.5.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.shadow.alpha.5 + + + + + + +

2d.shadow.alpha.5

+

Shadows of shapes with alpha components are drawn correctly

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.5.png b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.5.png new file mode 100644 index 00000000000..8764e89b371 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.alpha.5.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.initial.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.initial.html new file mode 100644 index 00000000000..7b65cac6f4e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.initial.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.shadow.attributes.shadowBlur.initial + + + + + + +

2d.shadow.attributes.shadowBlur.initial

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.invalid.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.invalid.html new file mode 100644 index 00000000000..c4bf2ba991c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.invalid.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.shadow.attributes.shadowBlur.invalid + + + + + + +

2d.shadow.attributes.shadowBlur.invalid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.valid.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.valid.html new file mode 100644 index 00000000000..6aa9f9b1ae9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowBlur.valid.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.shadow.attributes.shadowBlur.valid + + + + + + +

2d.shadow.attributes.shadowBlur.valid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.initial.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.initial.html new file mode 100644 index 00000000000..3f7471333d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.initial.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.shadow.attributes.shadowColor.initial + + + + + + +

2d.shadow.attributes.shadowColor.initial

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.invalid.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.invalid.html new file mode 100644 index 00000000000..5f28ecbae06 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.invalid.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.shadow.attributes.shadowColor.invalid + + + + + + +

2d.shadow.attributes.shadowColor.invalid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.valid.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.valid.html new file mode 100644 index 00000000000..02ce65c905d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowColor.valid.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.shadow.attributes.shadowColor.valid + + + + + + +

2d.shadow.attributes.shadowColor.valid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.initial.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.initial.html new file mode 100644 index 00000000000..35f1317f2f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.initial.html @@ -0,0 +1,28 @@ + + +Canvas test: 2d.shadow.attributes.shadowOffset.initial + + + + + + +

2d.shadow.attributes.shadowOffset.initial

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.invalid.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.invalid.html new file mode 100644 index 00000000000..0b1ef728c4f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.invalid.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.shadow.attributes.shadowOffset.invalid + + + + + + +

2d.shadow.attributes.shadowOffset.invalid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.valid.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.valid.html new file mode 100644 index 00000000000..4133ebb94eb --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.attributes.shadowOffset.valid.html @@ -0,0 +1,50 @@ + + +Canvas test: 2d.shadow.attributes.shadowOffset.valid + + + + + + +

2d.shadow.attributes.shadowOffset.valid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.blur.high-manual.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.blur.high-manual.html new file mode 100644 index 00000000000..957f5b802d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.blur.high-manual.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.shadow.blur.high + + + + + + +

2d.shadow.blur.high

+

Shadows look correct for large blurs

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.blur.high.png b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.blur.high.png new file mode 100644 index 00000000000..743640b79f8 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.blur.high.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.blur.low-manual.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.blur.low-manual.html new file mode 100644 index 00000000000..548db5c5ea1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.blur.low-manual.html @@ -0,0 +1,39 @@ + + +Canvas test: 2d.shadow.blur.low + + + + + + +

2d.shadow.blur.low

+

Shadows look correct for small blurs

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.blur.low.png b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.blur.low.png new file mode 100644 index 00000000000..e1922ae79fe Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.blur.low.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.alpha.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.alpha.html new file mode 100644 index 00000000000..584703dff29 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.alpha.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.shadow.canvas.alpha + + + + + + +

2d.shadow.canvas.alpha

+

Shadows are drawn correctly for partially-transparent canvases

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.alpha.png b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.alpha.png new file mode 100644 index 00000000000..8764e89b371 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.alpha.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.basic.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.basic.html new file mode 100644 index 00000000000..824c66894cc --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.basic.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.shadow.canvas.basic + + + + + + +

2d.shadow.canvas.basic

+

Shadows are drawn for canvases

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.transparent.1.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.transparent.1.html new file mode 100644 index 00000000000..13ddd33e151 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.transparent.1.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.shadow.canvas.transparent.1 + + + + + + +

2d.shadow.canvas.transparent.1

+

Shadows are not drawn for transparent canvases

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.transparent.2.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.transparent.2.html new file mode 100644 index 00000000000..e795fa1e2da --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.canvas.transparent.2.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.shadow.canvas.transparent.2 + + + + + + +

2d.shadow.canvas.transparent.2

+

Shadows are not drawn for transparent parts of canvases

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.clip.1.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.clip.1.html new file mode 100644 index 00000000000..50fbb8711b1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.clip.1.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.shadow.clip.1 + + + + + + +

2d.shadow.clip.1

+

Shadows of clipped shapes are still drawn within the clipping region

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.clip.2.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.clip.2.html new file mode 100644 index 00000000000..239b43b98ba --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.clip.2.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.shadow.clip.2 + + + + + + +

2d.shadow.clip.2

+

Shadows are not drawn outside the clipping region

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.clip.3.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.clip.3.html new file mode 100644 index 00000000000..6b1bb02fcb5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.clip.3.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.shadow.clip.3 + + + + + + +

2d.shadow.clip.3

+

Shadows of clipped shapes are still drawn within the clipping region

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.composite.1.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.composite.1.html new file mode 100644 index 00000000000..e27c1e2c07c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.composite.1.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.shadow.composite.1 + + + + + + +

2d.shadow.composite.1

+

Shadows are drawn using globalCompositeOperation

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.composite.2.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.composite.2.html new file mode 100644 index 00000000000..960b44b5419 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.composite.2.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.shadow.composite.2 + + + + + + +

2d.shadow.composite.2

+

Shadows are drawn using globalCompositeOperation

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.composite.3.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.composite.3.html new file mode 100644 index 00000000000..feee1ce5e8d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.composite.3.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.shadow.composite.3 + + + + + + +

2d.shadow.composite.3

+

Areas outside shadows are drawn correctly with destination-out

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.blur.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.blur.html new file mode 100644 index 00000000000..f94f5f69f51 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.blur.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.shadow.enable.blur + + + + + + +

2d.shadow.enable.blur

+

Shadows are drawn if shadowBlur is set

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.off.1.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.off.1.html new file mode 100644 index 00000000000..161ec52c4f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.off.1.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.shadow.enable.off.1 + + + + + + +

2d.shadow.enable.off.1

+

Shadows are not drawn when only shadowColor is set

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.off.2.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.off.2.html new file mode 100644 index 00000000000..23bfa752afe --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.off.2.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.shadow.enable.off.2 + + + + + + +

2d.shadow.enable.off.2

+

Shadows are not drawn when only shadowColor is set

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.x.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.x.html new file mode 100644 index 00000000000..b90da98dfab --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.x.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.shadow.enable.x + + + + + + +

2d.shadow.enable.x

+

Shadows are drawn if shadowOffsetX is set

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.y.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.y.html new file mode 100644 index 00000000000..32750e6f869 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.enable.y.html @@ -0,0 +1,32 @@ + + +Canvas test: 2d.shadow.enable.y + + + + + + +

2d.shadow.enable.y

+

Shadows are drawn if shadowOffsetY is set

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.alpha.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.alpha.html new file mode 100644 index 00000000000..31c4adc50d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.alpha.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.shadow.gradient.alpha + + + + + + +

2d.shadow.gradient.alpha

+

Shadows are drawn correctly for partially-transparent gradient fills

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.alpha.png b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.alpha.png new file mode 100644 index 00000000000..8764e89b371 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.alpha.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.basic.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.basic.html new file mode 100644 index 00000000000..cdb2232322f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.basic.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.shadow.gradient.basic + + + + + + +

2d.shadow.gradient.basic

+

Shadows are drawn for gradient fills

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.transparent.1.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.transparent.1.html new file mode 100644 index 00000000000..d4a21c6b385 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.transparent.1.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.shadow.gradient.transparent.1 + + + + + + +

2d.shadow.gradient.transparent.1

+

Shadows are not drawn for transparent gradient fills

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.transparent.2.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.transparent.2.html new file mode 100644 index 00000000000..be5d93a5b23 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.gradient.transparent.2.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.shadow.gradient.transparent.2 + + + + + + +

2d.shadow.gradient.transparent.2

+

Shadows are not drawn for transparent parts of gradient fills

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.alpha.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.alpha.html new file mode 100644 index 00000000000..9e7a5697306 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.alpha.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.shadow.image.alpha + + + + + + +

2d.shadow.image.alpha

+

Shadows are drawn correctly for partially-transparent images

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.alpha.png b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.alpha.png new file mode 100644 index 00000000000..8764e89b371 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.alpha.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.basic.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.basic.html new file mode 100644 index 00000000000..570451ae9df --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.basic.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.shadow.image.basic + + + + + + +

2d.shadow.image.basic

+

Shadows are drawn for images

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.scale.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.scale.html new file mode 100644 index 00000000000..ded6fc0d6b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.scale.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.shadow.image.scale + + + + + + +

2d.shadow.image.scale

+

Shadows are drawn correctly for scaled images

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.section.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.section.html new file mode 100644 index 00000000000..9dc9bca6723 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.section.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.shadow.image.section + + + + + + +

2d.shadow.image.section

+

Shadows are not drawn for areas outside image source rectangles

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.transparent.1.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.transparent.1.html new file mode 100644 index 00000000000..13dff1f2d4c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.transparent.1.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.shadow.image.transparent.1 + + + + + + +

2d.shadow.image.transparent.1

+

Shadows are not drawn for transparent images

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.transparent.2.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.transparent.2.html new file mode 100644 index 00000000000..17a26407d5a --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.image.transparent.2.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.shadow.image.transparent.2 + + + + + + +

2d.shadow.image.transparent.2

+

Shadows are not drawn for transparent parts of images

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.offset.negativeX.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.offset.negativeX.html new file mode 100644 index 00000000000..da1c39ba0e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.offset.negativeX.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.shadow.offset.negativeX + + + + + + +

2d.shadow.offset.negativeX

+

Shadows can be offset with negative x

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.offset.negativeY.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.offset.negativeY.html new file mode 100644 index 00000000000..0f7a7f0ad3e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.offset.negativeY.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.shadow.offset.negativeY + + + + + + +

2d.shadow.offset.negativeY

+

Shadows can be offset with negative y

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.offset.positiveX.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.offset.positiveX.html new file mode 100644 index 00000000000..969d9b43a8d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.offset.positiveX.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.shadow.offset.positiveX + + + + + + +

2d.shadow.offset.positiveX

+

Shadows can be offset with positive x

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.offset.positiveY.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.offset.positiveY.html new file mode 100644 index 00000000000..c797d709f00 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.offset.positiveY.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.shadow.offset.positiveY + + + + + + +

2d.shadow.offset.positiveY

+

Shadows can be offset with positive y

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.outside.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.outside.html new file mode 100644 index 00000000000..ef3492226e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.outside.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.shadow.outside + + + + + + +

2d.shadow.outside

+

Shadows of shapes outside the visible area can be offset onto the visible area

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.alpha.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.alpha.html new file mode 100644 index 00000000000..5fcfcc4b038 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.alpha.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.shadow.pattern.alpha + + + + + + +

2d.shadow.pattern.alpha

+

Shadows are drawn correctly for partially-transparent fill patterns

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.alpha.png b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.alpha.png new file mode 100644 index 00000000000..8764e89b371 Binary files /dev/null and b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.alpha.png differ diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.basic.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.basic.html new file mode 100644 index 00000000000..38b9a736712 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.basic.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.shadow.pattern.basic + + + + + + +

2d.shadow.pattern.basic

+

Shadows are drawn for fill patterns

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.transparent.1.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.transparent.1.html new file mode 100644 index 00000000000..fcdda5a2044 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.transparent.1.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.shadow.pattern.transparent.1 + + + + + + +

2d.shadow.pattern.transparent.1

+

Shadows are not drawn for transparent fill patterns

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.transparent.2.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.transparent.2.html new file mode 100644 index 00000000000..3dbb856bf7f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.pattern.transparent.2.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.shadow.pattern.transparent.2 + + + + + + +

2d.shadow.pattern.transparent.2

+

Shadows are not drawn for transparent parts of fill patterns

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.basic.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.basic.html new file mode 100644 index 00000000000..4e5bd06b2bd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.basic.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.shadow.stroke.basic + + + + + + +

2d.shadow.stroke.basic

+

Shadows are drawn for strokes

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.cap.1.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.cap.1.html new file mode 100644 index 00000000000..04450b97909 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.cap.1.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.shadow.stroke.cap.1 + + + + + + +

2d.shadow.stroke.cap.1

+

Shadows are not drawn for areas outside stroke caps

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.cap.2.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.cap.2.html new file mode 100644 index 00000000000..11a7cf3cfe2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.cap.2.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.shadow.stroke.cap.2 + + + + + + +

2d.shadow.stroke.cap.2

+

Shadows are drawn for stroke caps

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.1.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.1.html new file mode 100644 index 00000000000..d204874d70b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.1.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.shadow.stroke.join.1 + + + + + + +

2d.shadow.stroke.join.1

+

Shadows are not drawn for areas outside stroke joins

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.2.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.2.html new file mode 100644 index 00000000000..ccff894fd49 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.2.html @@ -0,0 +1,45 @@ + + +Canvas test: 2d.shadow.stroke.join.2 + + + + + + +

2d.shadow.stroke.join.2

+

Shadows are drawn for stroke joins

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.3.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.3.html new file mode 100644 index 00000000000..25044ebfced --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.stroke.join.3.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.shadow.stroke.join.3 + + + + + + +

2d.shadow.stroke.join.3

+

Shadows are drawn for stroke joins respecting miter limit

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.transform.1.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.transform.1.html new file mode 100644 index 00000000000..03a4ab2e466 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.transform.1.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.shadow.transform.1 + + + + + + +

2d.shadow.transform.1

+

Shadows take account of transformations

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.transform.2.html b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.transform.2.html new file mode 100644 index 00000000000..8e1ac095b97 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/2d.shadow.transform.2.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.shadow.transform.2 + + + + + + +

2d.shadow.transform.2

+

Shadow offsets are not affected by transformations

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/canvas_shadows_001.htm b/tests/wpt/web-platform-tests/2dcontext/shadows/canvas_shadows_001.htm new file mode 100644 index 00000000000..fd7c7d086e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/canvas_shadows_001.htm @@ -0,0 +1,36 @@ + + + + HTML5 Canvas Test: Shadows for linear gradients + + + + + + +

Description: Shadows must be drawn for linear gradients.

+

Test passes if there is one gradient filled rectangle and one black rectangle, and no red seen on the page.

+ Browser does not support HTML5 Canvas. + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/canvas_shadows_002-ref.htm b/tests/wpt/web-platform-tests/2dcontext/shadows/canvas_shadows_002-ref.htm new file mode 100644 index 00000000000..7f39d1ca1b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/canvas_shadows_002-ref.htm @@ -0,0 +1,28 @@ + + + + HTML5 Canvas Test: Shadows for images + + + + + + + + +

Description: Shadows must be drawn for images.

+

Test passes if two black rectangles are shown and there is no red visible on the page.

+ Browser does not support HTML5 Canvas. + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/shadows/canvas_shadows_002.htm b/tests/wpt/web-platform-tests/2dcontext/shadows/canvas_shadows_002.htm new file mode 100644 index 00000000000..908fffea13b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/shadows/canvas_shadows_002.htm @@ -0,0 +1,34 @@ + + + + HTML5 Canvas Test: Shadows for images + + + + + + + +

Description: Shadows must be drawn for images.

+

Test passes if two black rectangles are shown and there is no red visible on the page.

+ Browser does not support HTML5 Canvas. + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/text-styles/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.align.default.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.align.default.html new file mode 100644 index 00000000000..6c3b5016aa3 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.align.default.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.text.align.default + + + + + + +

2d.text.align.default

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.align.invalid.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.align.invalid.html new file mode 100644 index 00000000000..36d3aaaf4ef --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.align.invalid.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.text.align.invalid + + + + + + +

2d.text.align.invalid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.align.valid.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.align.valid.html new file mode 100644 index 00000000000..667f1bb0b69 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.align.valid.html @@ -0,0 +1,40 @@ + + +Canvas test: 2d.text.align.valid + + + + + + +

2d.text.align.valid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.baseline.default.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.baseline.default.html new file mode 100644 index 00000000000..b19bcc37e71 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.baseline.default.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.text.baseline.default + + + + + + +

2d.text.baseline.default

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.baseline.invalid.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.baseline.invalid.html new file mode 100644 index 00000000000..4cba62a14df --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.baseline.invalid.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.text.baseline.invalid + + + + + + +

2d.text.baseline.invalid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.baseline.valid.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.baseline.valid.html new file mode 100644 index 00000000000..e2a37b4ed09 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.baseline.valid.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.text.baseline.valid + + + + + + +

2d.text.baseline.valid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.bottom.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.bottom.html new file mode 100644 index 00000000000..cde7e891d6f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.bottom.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.baseline.bottom + + + + + + + +

2d.text.draw.baseline.bottom

+

textBaseline bottom is the bottom of the em square (not the bounding box)

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.hanging.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.hanging.html new file mode 100644 index 00000000000..e5bdb98cc52 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.hanging.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.baseline.hanging + + + + + + + +

2d.text.draw.baseline.hanging

+

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.ideographic.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.ideographic.html new file mode 100644 index 00000000000..cc99e1ab437 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.ideographic.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.baseline.ideographic + + + + + + + +

2d.text.draw.baseline.ideographic

+

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.middle.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.middle.html new file mode 100644 index 00000000000..6cdbb17e657 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.middle.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.baseline.middle + + + + + + + +

2d.text.draw.baseline.middle

+

textBaseline middle is the middle of the em square (not the bounding box)

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.top.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.top.html new file mode 100644 index 00000000000..15c0c1f3867 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.baseline.top.html @@ -0,0 +1,48 @@ + + +Canvas test: 2d.text.draw.baseline.top + + + + + + + +

2d.text.draw.baseline.top

+

textBaseline top is the top of the em square (not the bounding box)

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.end.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.end.html new file mode 100644 index 00000000000..9ce607000da --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.end.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.text.draw.space.collapse.end + + + + + + + +

2d.text.draw.space.collapse.end

+

Space characters at the end of a line are collapsed (per CSS)

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.other.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.other.html new file mode 100644 index 00000000000..25275b5b5ef --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.other.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.text.draw.space.collapse.other + + + + + + + +

2d.text.draw.space.collapse.other

+

Space characters are converted to U+0020, and collapsed (per CSS)

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.space.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.space.html new file mode 100644 index 00000000000..3069e794633 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.space.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.text.draw.space.collapse.space + + + + + + + +

2d.text.draw.space.collapse.space

+

Space characters are converted to U+0020, and collapsed (per CSS)

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.start.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.start.html new file mode 100644 index 00000000000..b3b05f436f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.draw.space.collapse.start.html @@ -0,0 +1,43 @@ + + +Canvas test: 2d.text.draw.space.collapse.start + + + + + + + +

2d.text.draw.space.collapse.start

+

Space characters at the start of a line are collapsed (per CSS)

+ + +A +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.default.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.default.html new file mode 100644 index 00000000000..e7405e350da --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.default.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.text.font.default + + + + + + +

2d.text.font.default

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.basic.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.basic.html new file mode 100644 index 00000000000..b4ae41cbcb7 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.basic.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.text.font.parse.basic + + + + + + +

2d.text.font.parse.basic

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.complex.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.complex.html new file mode 100644 index 00000000000..51917f36181 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.complex.html @@ -0,0 +1,28 @@ + + +Canvas test: 2d.text.font.parse.complex + + + + + + +

2d.text.font.parse.complex

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.invalid.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.invalid.html new file mode 100644 index 00000000000..f65d680b0e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.invalid.html @@ -0,0 +1,56 @@ + + +Canvas test: 2d.text.font.parse.invalid + + + + + + +

2d.text.font.parse.invalid

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.size.percentage.default.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.size.percentage.default.html new file mode 100644 index 00000000000..21eebde0f4b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.size.percentage.default.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.text.font.parse.size.percentage.default + + + + + + +

2d.text.font.parse.size.percentage.default

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.size.percentage.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.size.percentage.html new file mode 100644 index 00000000000..6a05e48cf4d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.size.percentage.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.text.font.parse.size.percentage + + + + + + +

2d.text.font.parse.size.percentage

+

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.system.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.system.html new file mode 100644 index 00000000000..bc86f5c15b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.font.parse.system.html @@ -0,0 +1,28 @@ + + +Canvas test: 2d.text.font.parse.system + + + + + + +

2d.text.font.parse.system

+

System fonts must be computed to explicit values

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.measure.width.space.html b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.measure.width.space.html new file mode 100644 index 00000000000..dfa1dee1c19 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/2d.text.measure.width.space.html @@ -0,0 +1,44 @@ + + +Canvas test: 2d.text.measure.width.space + + + + + + + +

2d.text.measure.width.space

+

Space characters are converted to U+0020 and collapsed (per CSS)

+ + +A +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/text-styles/canvas_text_font_001.htm b/tests/wpt/web-platform-tests/2dcontext/text-styles/canvas_text_font_001.htm new file mode 100644 index 00000000000..b7d26d672b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/text-styles/canvas_text_font_001.htm @@ -0,0 +1,32 @@ + + + + HTML5 Canvas Test: Ignore property-independent style sheet syntax "inherit" in Text + + + + + + +

Description: Ignore "inherit" property-independent style sheet syntax without assigning a new font value.

+

Test passes if both strings are identical in both size, style, and text.

+ Browser does not support HTML5 Canvas. + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.bitmap.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.bitmap.html new file mode 100644 index 00000000000..d22720c09d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.bitmap.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.state.saverestore.bitmap + + + + + + +

2d.state.saverestore.bitmap

+

save()/restore() does not affect the current bitmap

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.clip.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.clip.html new file mode 100644 index 00000000000..5f4d1ad35b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.clip.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.state.saverestore.clip + + + + + + +

2d.state.saverestore.clip

+

save()/restore() affects the clipping path

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.fillStyle.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.fillStyle.html new file mode 100644 index 00000000000..a44f4f96aaa --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.fillStyle.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.fillStyle + + + + + + +

2d.state.saverestore.fillStyle

+

save()/restore() works for fillStyle

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.font.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.font.html new file mode 100644 index 00000000000..287400646b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.font.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.font + + + + + + +

2d.state.saverestore.font

+

save()/restore() works for font

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.globalAlpha.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.globalAlpha.html new file mode 100644 index 00000000000..27fc1aed884 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.globalAlpha.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.globalAlpha + + + + + + +

2d.state.saverestore.globalAlpha

+

save()/restore() works for globalAlpha

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.globalCompositeOperation.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.globalCompositeOperation.html new file mode 100644 index 00000000000..419a96052df --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.globalCompositeOperation.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.globalCompositeOperation + + + + + + +

2d.state.saverestore.globalCompositeOperation

+

save()/restore() works for globalCompositeOperation

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineCap.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineCap.html new file mode 100644 index 00000000000..cb750219f78 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineCap.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.lineCap + + + + + + +

2d.state.saverestore.lineCap

+

save()/restore() works for lineCap

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineJoin.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineJoin.html new file mode 100644 index 00000000000..ff141126533 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineJoin.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.lineJoin + + + + + + +

2d.state.saverestore.lineJoin

+

save()/restore() works for lineJoin

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineWidth.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineWidth.html new file mode 100644 index 00000000000..21bb266738f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.lineWidth.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.lineWidth + + + + + + +

2d.state.saverestore.lineWidth

+

save()/restore() works for lineWidth

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.miterLimit.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.miterLimit.html new file mode 100644 index 00000000000..f49edced102 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.miterLimit.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.miterLimit + + + + + + +

2d.state.saverestore.miterLimit

+

save()/restore() works for miterLimit

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.path.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.path.html new file mode 100644 index 00000000000..b6f269c32ca --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.path.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.state.saverestore.path + + + + + + +

2d.state.saverestore.path

+

save()/restore() does not affect the current path

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowBlur.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowBlur.html new file mode 100644 index 00000000000..7f1ce6f9bb9 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowBlur.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.shadowBlur + + + + + + +

2d.state.saverestore.shadowBlur

+

save()/restore() works for shadowBlur

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowColor.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowColor.html new file mode 100644 index 00000000000..95c36dfad42 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowColor.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.shadowColor + + + + + + +

2d.state.saverestore.shadowColor

+

save()/restore() works for shadowColor

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowOffsetX.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowOffsetX.html new file mode 100644 index 00000000000..363d5cc245f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowOffsetX.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.shadowOffsetX + + + + + + +

2d.state.saverestore.shadowOffsetX

+

save()/restore() works for shadowOffsetX

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowOffsetY.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowOffsetY.html new file mode 100644 index 00000000000..5edb62a7acd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.shadowOffsetY.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.shadowOffsetY + + + + + + +

2d.state.saverestore.shadowOffsetY

+

save()/restore() works for shadowOffsetY

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.stack.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.stack.html new file mode 100644 index 00000000000..3a5dbea108f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.stack.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.state.saverestore.stack + + + + + + +

2d.state.saverestore.stack

+

save()/restore() can be nested as a stack

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.stackdepth.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.stackdepth.html new file mode 100644 index 00000000000..5e6c459f3a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.stackdepth.html @@ -0,0 +1,37 @@ + + +Canvas test: 2d.state.saverestore.stackdepth + + + + + + +

2d.state.saverestore.stackdepth

+

save()/restore() stack depth is not unreasonably limited

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.strokeStyle.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.strokeStyle.html new file mode 100644 index 00000000000..53a28f55559 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.strokeStyle.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.strokeStyle + + + + + + +

2d.state.saverestore.strokeStyle

+

save()/restore() works for strokeStyle

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.textAlign.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.textAlign.html new file mode 100644 index 00000000000..ea1b3f2e210 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.textAlign.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.textAlign + + + + + + +

2d.state.saverestore.textAlign

+

save()/restore() works for textAlign

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.textBaseline.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.textBaseline.html new file mode 100644 index 00000000000..22664ef1dc1 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.textBaseline.html @@ -0,0 +1,41 @@ + + +Canvas test: 2d.state.saverestore.textBaseline + + + + + + +

2d.state.saverestore.textBaseline

+

save()/restore() works for textBaseline

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.transformation.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.transformation.html new file mode 100644 index 00000000000..744f7ab7f2b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.transformation.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.state.saverestore.transformation + + + + + + +

2d.state.saverestore.transformation

+

save()/restore() affects the current transformation matrix

+ + +

Actual output:

+

FAIL (fallback content)

+

Expected output:

+

+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.underflow.html b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.underflow.html new file mode 100644 index 00000000000..c965b02566c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/2d.state.saverestore.underflow.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.state.saverestore.underflow + + + + + + +

2d.state.saverestore.underflow

+

restore() with an empty stack has no effect

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/canvas_state_restore_001-ref.htm b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/canvas_state_restore_001-ref.htm new file mode 100644 index 00000000000..aee610d2ec8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/canvas_state_restore_001-ref.htm @@ -0,0 +1,11 @@ + + + + HTML5 Canvas Test: restore() pops top entry in drawing state stack + + + +

Description: restore() pops the top entry in the drawing state stack.

+
3 colors
+ + diff --git a/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/canvas_state_restore_001.htm b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/canvas_state_restore_001.htm new file mode 100644 index 00000000000..6d5a3cb20f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/the-canvas-state/canvas_state_restore_001.htm @@ -0,0 +1,42 @@ + + + + HTML5 Canvas Test: restore() pops top entry in drawing state stack + + + + + + + +

Description: restore() pops the top entry in the drawing state stack.

+ Browser does not support HTML5 Canvas. + + diff --git a/tests/wpt/web-platform-tests/2dcontext/tools/LICENSE.txt b/tests/wpt/web-platform-tests/2dcontext/tools/LICENSE.txt new file mode 100644 index 00000000000..b248aa87ee4 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/tools/LICENSE.txt @@ -0,0 +1,36 @@ +2DContext and test suite + +Copyright (c) 2010 Philip Taylor + +The code and all associated data files may be used under the terms of the +following license: + + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of works must retain the original copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the original copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the W3C nor the names of its contributors may be used to + endorse or promote products derived from this work without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Alternatively, the code and data may be used under the terms of +http://www.w3.org/Consortium/Legal/2008/04-testsuite-license.html diff --git a/tests/wpt/web-platform-tests/2dcontext/tools/current-work-canvas.xhtml b/tests/wpt/web-platform-tests/2dcontext/tools/current-work-canvas.xhtml new file mode 100644 index 00000000000..b41ad7d4d62 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/tools/current-work-canvas.xhtml @@ -0,0 +1,3693 @@ +HTML Standard

4.8.11 The canvas element

+ +
Categories
+
Flow content.
+
Phrasing content.
+
Embedded content.
+
Contexts in which this element can be used:
+
Where embedded content is expected.
+
Content model:
+
Transparent.
+
Transparent, but with no interactive content descendants except for a elements, button elements, input elements whose type attribute are in the Checkbox or Radio Button states, and input elements that are buttons.
+
Content attributes:
+
Global attributes
+
width
+
height
+
DOM interface:
+
+
interface HTMLCanvasElement : HTMLElement {
+           attribute unsigned long width;
+           attribute unsigned long height;
+
+  DOMString toDataURL(in optional DOMString type, in any... args);
+  void toBlob(in FileCallback? callback, in optional DOMString type, in any... args);
+
+  object? getContext(in DOMString contextId, in any... args);
+};
+
+

The canvas element provides scripts with a + resolution-dependent bitmap canvas, which can be used for rendering + graphs, game graphics, or other visual images on the fly.

+ +

Authors should not use the canvas element in a + document when a more suitable element is available. For example, it + is inappropriate to use a canvas element to render a + page heading: if the desired presentation of the heading is + graphically intense, it should be marked up using appropriate + elements (typically h1) and then styled using CSS and + supporting technologies such as XBL.

+ +

When authors use the canvas element, they must also + provide content that, when presented to the user, conveys + essentially the same function or purpose as the bitmap canvas. This + content may be placed as content of the canvas + element. The contents of the canvas element, if any, + are the element's fallback content.

+ +

In interactive visual media, if scripting is enabled for the + canvas element, and if support for canvas + elements has been enabled, the canvas element + represents embedded content consisting of + a dynamically created image.

+ +

In non-interactive, static, visual media, if the + canvas element has been previously painted on (e.g. if + the page was viewed in an interactive visual medium and is now being + printed, or if some script that ran during the page layout process + painted on the element), then the canvas element + represents embedded content with the + current image and size. Otherwise, the element represents its + fallback content instead.

+ +

In non-visual media, and in visual media if scripting is disabled for the + canvas element or if support for canvas + elements has been disabled, the canvas element + represents its fallback content + instead.

+ + +

When a canvas element represents + embedded content, the user can still focus descendants + of the canvas element (in the fallback + content). When an element is focused, it is the target of + keyboard interaction events (even though the element itself is not + visible). This allows authors to make an interactive canvas + keyboard-accessible: authors should have a one-to-one mapping of + interactive regions to focusable elements in the fallback + content. (Focus has no effect on mouse interaction + events.) [DOMEVENTS]

+ +

The canvas element has two attributes to control the + size of the coordinate space: width and height. These + attributes, when specified, must have values that are valid non-negative + integers. The rules for parsing + non-negative integers must be used to obtain their numeric + values. If an attribute is missing, or if parsing its value returns + an error, then the default value must be used instead. The + width attribute defaults to + 300, and the height + attribute defaults to 150.

+ +

The intrinsic dimensions of the canvas element equal + the size of the coordinate space, with the numbers interpreted in + CSS pixels. However, the element can be sized arbitrarily by a + style sheet. During rendering, the image is scaled to fit this layout + size.

+ +
+ +

The size of the coordinate space does not necessarily represent + the size of the actual bitmap that the user agent will use + internally or during rendering. On high-definition displays, for + instance, the user agent may internally use a bitmap with two device + pixels per unit in the coordinate space, so that the rendering + remains at high quality throughout.

+ +

When the canvas element is created, and subsequently + whenever the width and height attributes are set (whether + to a new value or to the previous value), the bitmap and any + associated contexts must be cleared back to their initial state and + reinitialized with the newly specified coordinate space + dimensions.

+ +

When the canvas is initialized, its bitmap must be cleared to + transparent black.

+ +

The width and + height IDL + attributes must reflect the respective content + attributes of the same name, with the same defaults.

+ +
+ +
+

Only one square appears to be drawn in the following example:

+
  // canvas is a reference to a <canvas> element
+  var context = canvas.getContext('2d');
+  context.fillRect(0,0,50,50);
+  canvas.setAttribute('width', '300'); // clears the canvas
+  context.fillRect(0,100,50,50);
+  canvas.width = canvas.width; // clears the canvas
+  context.fillRect(100,0,50,50); // only this square remains
+
+ +
context = canvas . getContext(contextId [, ... ])
+ +
+ +

Returns an object that exposes an API for drawing on the + canvas. The first argument specifies the desired API. Subsequent + arguments are handled by that API.

+ + + +

This specification defines the "2d" context below. There is also + a specification that defines a "webgl" context. [WEBGL]

+ + + +

The list of defined contexts is given on the WHATWG Wiki + CanvasContexts page. [WHATWGWIKI] + +

Returns null if the given context ID is not supported or if the + canvas has already been initialized with some other (incompatible) + context type (e.g. trying to get a "2d" context after getting a + "webgl" context).

+ +
+ +
+ +

A canvas element can have a primary + context, which is the first context to have been obtained for + that element. When created, a canvas element must not + have a primary context.

+ + +

The getContext(contextId, args...) + method of the canvas element, when invoked, must run + the following steps:

+ +
  1. Let contextId be the first argument to + the method.

  2. + +
  3. + +

    If contextId is not the name of a context + supported by the user agent, return null and abort these + steps.

    + +

    An example of this would be a user agent that + theoretically supports the "webgl" 3D context, in the case + where the platform does not have hardware support for OpenGL and + the user agent does not have a software OpenGL implementation. + Despite the user agent recognising the "webgl" name, it would return + null at this step because that context is not, in practice, + supported at the time of the call.

    + +
  4. + +
  5. If the element has a primary context and that + context's entry in the WHATWG Wiki + CanvasContexts page does not list contextId + as a context with which it is compatible, return null and abort + these steps. [WHATWGWIKI]

  6. + +
  7. If the element does not have a primary context, + let the element's primary context be contextId.

  8. + +
  9. If the getContext() method has + already been invoked on this element for the same contextId, return the same object as was returned + that time, and abort these steps. The additional arguments are + ignored.

  10. + +
  11. Return a new object for contextId, as defined by the specification + given for contextId's entry in the WHATWG Wiki + CanvasContexts page. [WHATWGWIKI]

  12. + +

New context types may be registered in the WHATWG Wiki + CanvasContexts page. [WHATWGWIKI]

+ +

Anyone is free to edit the WHATWG Wiki CanvasContexts page at any + time to add a new context type. These new context types must be + specified with the following information:

+ +
Keyword
+ +

The value of contextID that will return + the object for the new API.

+ + +
Specification
+ +

A link to a formal specification of the context type's + API. It could be another page on the Wiki, or a link to an external + page. If the type does not have a formal specification, an informal + description can be substituted until such time as a formal + specification is available.

+ + +
Compatible with
+ +

The list of context types that are compatible with this one + (i.e. that operate on the same underlying bitmap). This list must + be transitive and symmetric; if one context type is defined as + compatible with another, then all types it is compatible with must + be compatible with all types the other is compatible with.

+ +

Vendors may also define experimental contexts using the syntax + vendorname-context, for example, + moz-3d. Such contexts should be registered in the + WHATWG Wiki CanvasContexts page.

+ +
+ +
url = canvas . toDataURL( [ type, ... ])
+ +
+ +

Returns a data: URL for the image in the canvas.

+ +

The first argument, if provided, controls the type of the image + to be returned (e.g. PNG or JPEG). The default is image/png; that type is also used if the given + type isn't supported. The other arguments are specific to the + type, and control the way that the image is generated, as given in + the table below.

+ +

When trying to use types other than "image/png", + authors can check if the image was really returned in the + requested format by checking to see if the returned string starts + with one of the exact strings "data:image/png," or "data:image/png;". If it does, the image is PNG, + and thus the requested type was not supported. (The one exception + to this is if the canvas has either no height or no width, in + which case the result might simply be "data:,".)

+ +
+ +
canvas . toBlob(callback [, type, ... ])
+ +
+ +

Creates a Blob object representing a file + containing the image in the canvas, and invokes a callback with a + handle to that object.

+ +

The second argument, if provided, controls the type of the + image to be returned (e.g. PNG or JPEG). The default is image/png; that type is also used if the given + type isn't supported. The other arguments are specific to the + type, and control the way that the image is generated, as given in + the table below.

+ +
+ +
+ +

The toDataURL() method + must run the following steps:

+ +
  1. If the canvas has no pixels (i.e. either its horizontal + dimension or its vertical dimension is zero) then return the string + "data:," and abort these steps. (This is the + shortest data: + URL; it represents the empty string in a text/plain resource.)

  2. + +
  3. Let file be a serialization of the + image as a file, using the method's arguments (if any) as + the arguments.

  4. + +
  5. Return a data: URL representing file. [RFC2397]

    + + + +

The toBlob() method + must run the following steps:

+ +
  1. Let callback be the first + argument.

  2. + +
  3. Let arguments be the second and + subsequent arguments to the method, if any.

  4. + +
  5. Let file be a serialization of the + image as a file, using arguments.

  6. + +
  7. Return, but continue running these steps + asynchronously.

  8. + +
  9. If callback is null, abort these + steps.

  10. + +
  11. Queue a task to invoke the + FileCallback callback with a + Blob object representing file as + its argument. The task source for this task is the + canvas blob serialization task source. [FILESYSTEMAPI] [FILEAPI]

  12. + +

When a user agent is to create a serialization of the image + as a file, optionally with some given arguments, it must create an image file in the format + given by the first value of arguments, or, if + there are no arguments, in the PNG format. [PNG]

+ +

If arguments is not empty, the first value + must be interpreted as a MIME type + giving the format to use. If the type has any parameters, it must be + treated as not supported.

+ +

For example, the value "image/png" would + mean to generate a PNG image, the value "image/jpeg" + would mean to generate a JPEG image, and the value + "image/svg+xml" would mean to generate an SVG image + (which would probably require that the implementation actually keep + enough information to reliably render an SVG image from the canvas).

+ +

User agents must support PNG ("image/png"). User + agents may support other types. If the user agent does not support + the requested type, it must create the file using the PNG format. [PNG]

+ +

User agents must convert the provided type to ASCII lowercase + before establishing if they support that type.

+ +

For image types that do not support an alpha channel, the + serialized image must be the canvas image composited onto a solid + black background using the source-over operator.

+ +

If the first argument in arguments gives a + type corresponding to one of the types given in the first column of + the following table, and the user agent supports that type, then the + subsequent arguments, if any, must be treated as described in the + second cell of that row.

+ +
+ +
Type Other arguments Reference +
image/jpeg + The second argument, if it is a + number in the range 0.0 to 1.0 inclusive, must + be treated as the desired quality level. If it is not a number or is outside that range, the + user agent must use its default value, as if the argument had + been omitted. + [JPEG] +
+ +

For the purposes of these rules, an argument is considered to be + a number if it is converted to an IDL double value by the rules for + handling arguments of type any in the Web IDL + specification. [WEBIDL]

+ +

Other arguments must be ignored and must not cause the user agent + to raise an exception. A future version of this specification will + probably define other parameters to be passed to these methods to + allow authors to more carefully control compression settings, image + metadata, etc.

+ +
+ + + +
+ +
4.8.11.1 The 2D context
+ + + + + +

This specification defines the 2d context type, whose + API is implemented using the CanvasRenderingContext2D + interface.

+ +
+ +

When the getContext() + method of a canvas element is to return a new object for the contextId 2d, the user agent must return a + new CanvasRenderingContext2D object. Any additional + arguments are ignored.

+ +
+ +

The 2D context represents a flat Cartesian surface whose origin + (0,0) is at the top left corner, with the coordinate space having + x values increasing when going right, and y values increasing when going down.

+ +
interface CanvasRenderingContext2D {
+
+  // back-reference to the canvas
+  readonly attribute HTMLCanvasElement canvas;
+
+  // state
+  void save(); // push state on state stack
+  void restore(); // pop state stack and restore state
+
+  // transformations (default transform is the identity matrix)
+  void scale(in double x, in double y);
+  void rotate(in double angle);
+  void translate(in double x, in double y);
+  void transform(in double a, in double b, in double c, in double d, in double e, in double f);
+  void setTransform(in double a, in double b, in double c, in double d, in double e, in double f);
+
+  // compositing
+           attribute double globalAlpha; // (default 1.0)
+           attribute DOMString globalCompositeOperation; // (default source-over)
+
+  // colors and styles
+           attribute any strokeStyle; // (default black)
+           attribute any fillStyle; // (default black)
+  CanvasGradient createLinearGradient(in double x0, in double y0, in double x1, in double y1);
+  CanvasGradient createRadialGradient(in double x0, in double y0, in double r0, in double x1, in double y1, in double r1);
+  CanvasPattern createPattern(in HTMLImageElement image, in DOMString repetition);
+  CanvasPattern createPattern(in HTMLCanvasElement image, in DOMString repetition);
+  CanvasPattern createPattern(in HTMLVideoElement image, in DOMString repetition);
+
+  // line caps/joins
+           attribute double lineWidth; // (default 1)
+           attribute DOMString lineCap; // "butt", "round", "square" (default "butt")
+           attribute DOMString lineJoin; // "round", "bevel", "miter" (default "miter")
+           attribute double miterLimit; // (default 10)
+
+  // shadows
+           attribute double shadowOffsetX; // (default 0)
+           attribute double shadowOffsetY; // (default 0)
+           attribute double shadowBlur; // (default 0)
+           attribute DOMString shadowColor; // (default transparent black)
+
+  // rects
+  void clearRect(in double x, in double y, in double w, in double h);
+  void fillRect(in double x, in double y, in double w, in double h);
+  void strokeRect(in double x, in double y, in double w, in double h);
+
+  // path API
+  void beginPath();
+  void closePath();
+  void moveTo(in double x, in double y);
+  void lineTo(in double x, in double y);
+  void quadraticCurveTo(in double cpx, in double cpy, in double x, in double y);
+  void bezierCurveTo(in double cp1x, in double cp1y, in double cp2x, in double cp2y, in double x, in double y);
+  void arcTo(in double x1, in double y1, in double x2, in double y2, in double radius);
+  void rect(in double x, in double y, in double w, in double h);
+  void arc(in double x, in double y, in double radius, in double startAngle, in double endAngle, in optional boolean anticlockwise);
+  void fill();
+  void stroke();
+  void drawSystemFocusRing(in Element element);
+  boolean drawCustomFocusRing(in Element element);
+  void scrollPathIntoView();
+  void clip();
+  boolean isPointInPath(in double x, in double y);
+
+  // text
+           attribute DOMString font; // (default 10px sans-serif)
+           attribute DOMString textAlign; // "start", "end", "left", "right", "center" (default: "start")
+           attribute DOMString textBaseline; // "top", "hanging", "middle", "alphabetic", "ideographic", "bottom" (default: "alphabetic")
+  void fillText(in DOMString text, in double x, in double y, in optional double maxWidth);
+  void strokeText(in DOMString text, in double x, in double y, in optional double maxWidth);
+  TextMetrics measureText(in DOMString text);
+
+  // drawing images
+  void drawImage(in HTMLImageElement image, in double dx, in double dy);
+  void drawImage(in HTMLImageElement image, in double dx, in double dy, in double dw, in double dh);
+  void drawImage(in HTMLImageElement image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);
+  void drawImage(in HTMLCanvasElement image, in double dx, in double dy);
+  void drawImage(in HTMLCanvasElement image, in double dx, in double dy, in double dw, in double dh);
+  void drawImage(in HTMLCanvasElement image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);
+  void drawImage(in HTMLVideoElement image, in double dx, in double dy);
+  void drawImage(in HTMLVideoElement image, in double dx, in double dy, in double dw, in double dh);
+  void drawImage(in HTMLVideoElement image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);
+
+  // pixel manipulation
+  ImageData createImageData(in double sw, in double sh);
+  ImageData createImageData(in ImageData imagedata);
+  ImageData getImageData(in double sx, in double sy, in double sw, in double sh);
+  void putImageData(in ImageData imagedata, in double dx, in double dy);
+  void putImageData(in ImageData imagedata, in double dx, in double dy, in double dirtyX, in double dirtyY, in double dirtyWidth, in double dirtyHeight);
+};
+
+interface CanvasGradient {
+  // opaque object
+  void addColorStop(in double offset, in DOMString color);
+};
+
+interface CanvasPattern {
+  // opaque object
+};
+
+interface TextMetrics {
+  readonly attribute double width;
+};
+
+interface ImageData {
+  readonly attribute unsigned long width;
+  readonly attribute unsigned long height;
+  readonly attribute CanvasPixelArray data;
+};
+
+interface CanvasPixelArray {
+  readonly attribute unsigned long length;
+  getter octet (in unsigned long index);
+  setter void (in unsigned long index, [Clamp] in octet value);
+};
+ +
context . canvas
+ +
+ +

Returns the canvas element.

+ +
+ +
+ +

The canvas + attribute must return the canvas element that the + context paints on.

+ +

Except where otherwise specified, for the 2D context interface, + any method call with a numeric argument whose value is infinite or a + NaN value must be ignored.

+ + + +

Whenever the CSS value currentColor is used + as a color in this API, the "computed value of the 'color' property" + for the purposes of determining the computed value of the currentColor keyword is the computed value of the + 'color' property on the element in question at the time that the + color is specified (e.g. when the appropriate attribute is set, or + when the method is called; not when the color is rendered or + otherwise used). If the computed value of the 'color' property is + undefined for a particular case (e.g. because the element is not + in a Document), then the "computed value + of the 'color' property" for the purposes of determining the + computed value of the currentColor keyword is + fully opaque black. [CSSCOLOR]

+ +

In the case of addColorStop() on + CanvasGradient, the "computed value of the 'color' + property" for the purposes of determining the computed value of the + currentColor keyword is always fully opaque + black (there is no associated element). [CSSCOLOR]

+ +

This is because CanvasGradient objects + are canvas-neutral — a + CanvasGradient object created by one + canvas can be used by another, and there is therefore + no way to know which is the "element in question" at the time that + the color is specified.

+ +
+ + + +
4.8.11.1.1 The canvas state
+ +

Each context maintains a stack of drawing states. Drawing states consist of:

+ +

The current path and the current bitmap are not part + of the drawing state. The current path is persistent, and can only + be reset using the beginPath() method. The + current bitmap is a property of the canvas, not the context.

+ +
context . save()
+ +
+ +

Pushes the current state onto the stack.

+ +
+ +
context . restore()
+ +
+ +

Pops the top state on the stack, restoring the context to that state.

+ +
+ +
+ +

The save() + method must push a copy of the current drawing state onto the + drawing state stack.

+ +

The restore() method + must pop the top entry in the drawing state stack, and reset the + drawing state it describes. If there is no saved state, the method + must do nothing.

+ + + +
+ + +
4.8.11.1.2 Transformations
+ +

The transformation matrix is applied to coordinates when creating + shapes and paths.

+ +
+ +

When the context is created, the transformation matrix must + initially be the identity transform. It may then be adjusted using + the transformation methods.

+ +

The transformations must be performed in reverse order. For + instance, if a scale transformation that doubles the width is + applied, followed by a rotation transformation that rotates drawing + operations by a quarter turn, and a rectangle twice as wide as it is + tall is then drawn on the canvas, the actual result will be a + square.

+ +
+ +
context . scale(x, y)
+ +
+ +

Changes the transformation matrix to apply a scaling transformation with the given characteristics.

+ +
+ +
context . rotate(angle)
+ +
+ +

Changes the transformation matrix to apply a rotation transformation with the given characteristics. The angle is in radians.

+ +
+ +
context . translate(x, y)
+ +
+ +

Changes the transformation matrix to apply a translation transformation with the given characteristics.

+ +
+ +
context . transform(a, b, c, d, e, f)
+ +
+ +

Changes the transformation matrix to apply the matrix given by the arguments as described below.

+ +
+ +
context . setTransform(a, b, c, d, e, f)
+ +
+ +

Changes the transformation matrix to the matrix given by the arguments as described below.

+ +
+ +
+ +

The scale(x, y) method must + add the scaling transformation described by the arguments to the + transformation matrix. The x argument represents + the scale factor in the horizontal direction and the y argument represents the scale factor in the + vertical direction. The factors are multiples.

+ +

The rotate(angle) method must add the rotation + transformation described by the argument to the transformation + matrix. The angle argument represents a + clockwise rotation angle expressed in radians.

+ +

The translate(x, y) method must + add the translation transformation described by the arguments to the + transformation matrix. The x argument represents + the translation distance in the horizontal direction and the y argument represents the translation distance in the + vertical direction. The arguments are in coordinate space units.

+ +

The transform(a, b, c, d, e, f) method must replace the current + transformation matrix with the result of multiplying the current + transformation matrix with the matrix described by:

+ +
+ + + + + + + + + + +
ace
bdf
001

The arguments a, b, c, d, e, and f are sometimes called + m11, m12, m21, m22, dx, + and dy or m11, m21, m12, m22, dx, and dy. Care should be taken in particular with the order + of the second and third arguments (b and c) as their order varies from API to API and APIs + sometimes use the notation m12/m21 and sometimes m21/m12 for those positions.

+ +
+ +

The setTransform(a, b, c, d, e, + f) method must reset the current + transform to the identity matrix, and then invoke the transform(a, b, c, d, e, + f) method with the same arguments.

+ +
+ + +
4.8.11.1.3 Compositing
+ +
context . globalAlpha [ = value ]
+ +
+ +

Returns the current alpha value applied to rendering operations.

+ +

Can be set, to change the alpha value. Values outside of the + range 0.0 .. 1.0 are ignored.

+ +
+ + +
context . globalCompositeOperation [ = value ]
+ +
+ +

Returns the current composition operation, from the list below.

+ +

Can be set, to change the composition operation. Unknown values + are ignored.

+ +
+ +
+ +

All drawing operations are affected by the global compositing + attributes, globalAlpha and globalCompositeOperation.

+ + + +

The globalAlpha + attribute gives an alpha value that is applied to shapes and images + before they are composited onto the canvas. The value must be in the + range from 0.0 (fully transparent) to 1.0 (no additional + transparency). If an attempt is made to set the attribute to a value + outside this range, including Infinity and Not-a-Number (NaN) + values, the attribute must retain its previous value. When the + context is created, the globalAlpha attribute must + initially have the value 1.0.

+ +

The globalCompositeOperation + attribute sets how shapes and images are drawn onto the existing + bitmap, once they have had globalAlpha and the + current transformation matrix applied. It must be set to a value + from the following list. In the descriptions below, the source + image, A, is the shape or image being rendered, + and the destination image, B, is the current + state of the bitmap.

+ +
+ +
source-atop
+ +
A atop B. Display the + source image wherever both images are opaque. Display the + destination image wherever the destination image is opaque but the + source image is transparent. Display transparency elsewhere.
+ +
source-in
+ +
A in B. Display the + source image wherever both the source image and destination image + are opaque. Display transparency elsewhere.
+ +
source-out
+ +
A out B. Display the + source image wherever the source image is opaque and the + destination image is transparent. Display transparency + elsewhere.
+ +
source-over (default)
+ +
A over B. Display the + source image wherever the source image is opaque. Display the + destination image elsewhere.
+ + +
destination-atop
+ +
B atop A. Same as source-atop but using the + destination image instead of the source image and vice versa.
+ +
destination-in
+ +
B in A. Same as source-in but using the destination + image instead of the source image and vice versa.
+ +
destination-out
+ +
B out A. Same as source-out but using the destination + image instead of the source image and vice versa.
+ +
destination-over
+ +
B over A. Same as source-over but using the + destination image instead of the source image and vice versa.
+ + + + +
lighter
+ +
A plus B. Display the + sum of the source image and destination image, with color values + approaching 255 (100%) as a limit.
+ + +
copy
+ +
A (B is + ignored). Display the source image instead of the destination + image.
+ + +
xor
+ +
A xor B. Exclusive OR + of the source image and destination image.
+ + +
vendorName-operationName
+ +
Vendor-specific extensions to the list of + composition operators should use this syntax.
+ +
+ +

The operators in the above list must be treated as described by + the Porter-Duff operator given at the start of their description + (e.g. A over B). They are to + be applied as part of the drawing model, at which point the + clipping region is also applied. (Without a clipping + region, these operators act on the whole bitmap with every + operation.) [PORTERDUFF]

+ +

These values are all case-sensitive — they must be used + exactly as shown. User agents must not recognize values that are not + a case-sensitive match for one of the values given + above.

+ +

On setting, if the user agent does not recognize the specified + value, it must be ignored, leaving the value of globalCompositeOperation + unaffected.

+ +

When the context is created, the globalCompositeOperation + attribute must initially have the value + source-over.

+ +
+ + +
4.8.11.1.4 Colors and styles
+ +
context . strokeStyle [ = value ]
+ +
+ +

Returns the current style used for stroking shapes.

+ +

Can be set, to change the stroke style.

+ +

The style can be either a string containing a CSS color, or a + CanvasGradient or CanvasPattern + object. Invalid values are ignored.

+ +
+ +
context . fillStyle [ = value ]
+ +
+ +

Returns the current style used for filling shapes.

+ +

Can be set, to change the fill style.

+ +

The style can be either a string containing a CSS color, or a + CanvasGradient or CanvasPattern + object. Invalid values are ignored.

+ +
+ +
+ + + +

The strokeStyle + attribute represents the color or style to use for the lines around + shapes, and the fillStyle + attribute represents the color or style to use inside the + shapes.

+ +

Both attributes can be either strings, + CanvasGradients, or CanvasPatterns. On + setting, strings must be parsed as CSS <color> values and the color + assigned, and CanvasGradient and + CanvasPattern objects must be assigned themselves. [CSSCOLOR] If the value is a string but + cannot be parsed as a CSS <color> value, or is + neither a string, a CanvasGradient, nor a + CanvasPattern, then it must be ignored, and the + attribute must retain its previous value.

+ +

When set to a CanvasPattern or + CanvasGradient object, the assignment is + live, meaning that changes made to the object after the + assignment do affect subsequent stroking or filling of shapes.

+ +

On getting, if the value is a color, then the serialization of the color + must be returned. Otherwise, if it is not a color but a + CanvasGradient or CanvasPattern, then the + respective object must be returned. (Such objects are opaque and + therefore only useful for assigning to other attributes or for + comparison to other gradients or patterns.)

+ +

The serialization of a color for a color value is a + string, computed as follows: if it has alpha equal to 1.0, then the + string is a lowercase six-digit hex value, prefixed with a "#" + character (U+0023 NUMBER SIGN), with the first two digits + representing the red component, the next two digits representing the + green component, and the last two digits representing the blue + component, the digits being in the range 0-9 a-f (U+0030 to U+0039 + and U+0061 to U+0066). Otherwise, the color value has alpha less + than 1.0, and the string is the color value in the CSS rgba() functional-notation format: the literal + string rgba (U+0072 U+0067 U+0062 U+0061) + followed by a U+0028 LEFT PARENTHESIS, a base-ten integer in the + range 0-255 representing the red component (using digits 0-9, U+0030 + to U+0039, in the shortest form possible), a literal U+002C COMMA + and U+0020 SPACE, an integer for the green component, a comma and a + space, an integer for the blue component, another comma and space, a + U+0030 DIGIT ZERO, if the alpha value is greater than zero then a + U+002E FULL STOP (representing the decimal point), if the alpha + value is greater than zero then one or more digits in the range 0-9 + (U+0030 to U+0039) representing the fractional part of the alpha + value, and finally a U+0029 RIGHT PARENTHESIS.

+ +

When the context is created, the strokeStyle and fillStyle attributes must + initially have the string value #000000.

+ +
+ +

There are two types of gradients, linear gradients and radial + gradients, both represented by objects implementing the opaque + CanvasGradient interface.

+ +

Once a gradient has been created (see below), + stops are placed along it to define how the colors are distributed + along the gradient. The color of the gradient at + each stop is the color specified for that stop. Between each such + stop, the colors and the alpha component must be linearly + interpolated over the RGBA space without premultiplying the alpha + value to find the color to use at that offset. Before the first + stop, the color must be the color of the first stop. After the last + stop, the color must be the color of the last stop. When there are + no stops, the gradient is transparent black.

+ +
gradient . addColorStop(offset, color)
+ +
+ +

Adds a color stop with the given color to the gradient at the + given offset. 0.0 is the offset at one end of the gradient, 1.0 is + the offset at the other end.

+ +

Throws an INDEX_SIZE_ERR exception if the offset + is out of range. Throws a SYNTAX_ERR exception if the + color cannot be parsed.

+ +
+ +
gradient = context . createLinearGradient(x0, y0, x1, y1)
+ +
+ +

Returns a CanvasGradient object that represents a + linear gradient that paints along the line given by the + coordinates represented by the arguments.

+ +

If any of the arguments are not finite numbers, throws a + NOT_SUPPORTED_ERR exception.

+ +
+ +
gradient = context . createRadialGradient(x0, y0, r0, x1, y1, r1)
+ +
+ +

Returns a CanvasGradient object that represents a + radial gradient that paints along the cone given by the circles + represented by the arguments.

+ +

If any of the arguments are not finite numbers, throws a + NOT_SUPPORTED_ERR exception. If either of the radii + are negative, throws an INDEX_SIZE_ERR exception.

+ +
+ +
+ +

The addColorStop(offset, color) + method on the CanvasGradient interface adds a new stop + to a gradient. If the offset is less than 0, + greater than 1, infinite, or NaN, then an + INDEX_SIZE_ERR exception must be raised. If the color cannot be parsed as a CSS <color> + value, then a SYNTAX_ERR exception must be + raised. Otherwise, the gradient must have a new stop placed, at + offset offset relative to the whole gradient, + and with the color obtained by parsing color as + a CSS <color> value. If multiple stops are added at the same + offset on a gradient, they must be placed in the order added, with + the first one closest to the start of the gradient, and each + subsequent one infinitesimally further along towards the end point + (in effect causing all but the first and last stop added at each + point to be ignored).

+ +

The createLinearGradient(x0, y0, x1, + y1) method takes four arguments + that represent the start point (x0, y0) and end point (x1, y1) of the gradient. If any of the arguments to createLinearGradient() + are infinite or NaN, the method must raise a + NOT_SUPPORTED_ERR exception. Otherwise, the method must + return a linear CanvasGradient initialized with the + specified line.

+ +

Linear gradients must be rendered such that all points on a line + perpendicular to the line that crosses the start and end points have + the color at the point where those two lines cross (with the colors + coming from the interpolation and + extrapolation described above). The points in the linear + gradient must be transformed as described by the current transformation + matrix when rendering.

+ +

If x0 = x1 and y0 = y1, then + the linear gradient must paint nothing.

+ +

The createRadialGradient(x0, y0, r0, + x1, y1, r1) method takes six arguments, the + first three representing the start circle with origin (x0, y0) and radius r0, and the last three representing the end circle + with origin (x1, y1) and + radius r1. The values are in coordinate space + units. If any of the arguments are infinite or NaN, a + NOT_SUPPORTED_ERR exception must be raised. If either + of r0 or r1 are negative, an + INDEX_SIZE_ERR exception must be raised. Otherwise, + the method must return a radial CanvasGradient + initialized with the two specified circles.

+ +

Radial gradients must be rendered by following these steps:

+ +
  1. If x0 = x1 and y0 = y1 and r0 = r1, then the radial gradient must + paint nothing. Abort these steps.

  2. + +
  3. + +

    Let x(ω) = (x1-x0)ω + x0

    + +

    Let y(ω) = (y1-y0)ω + y0

    + +

    Let r(ω) = (r1-r0)ω + r0

    + +

    Let the color at ω be the color at + that position on the gradient (with the colors coming from the interpolation and extrapolation + described above).

    + +
  4. + +
  5. For all values of ω where r(ω) > 0, + starting with the value of ω nearest to + positive infinity and ending with the value of ω nearest to negative infinity, draw the + circumference of the circle with radius r(ω) at position (x(ω), y(ω)), with the color at ω, but only painting on the parts of the + canvas that have not yet been painted on by earlier circles in this + step for this rendering of the gradient.

  6. + +

This effectively creates a cone, touched by the two + circles defined in the creation of the gradient, with the part of + the cone before the start circle (0.0) using the color of the first + offset, the part of the cone after the end circle (1.0) using the + color of the last offset, and areas outside the cone untouched by + the gradient (transparent black).

+ +

The points in the radial gradient must be transformed as + described by the current + transformation matrix when rendering.

+ +

Gradients must be painted only where the relevant stroking or + filling effects requires that they be drawn.

+ + + +
+ +

Patterns are represented by objects implementing the opaque + CanvasPattern interface.

+ +
pattern = context . createPattern(image, repetition)
+ +
+ +

Returns a CanvasPattern object that uses the given image + and repeats in the direction(s) given by the repetition argument.

+ +

The allowed values for repetition are repeat (both directions), repeat-x (horizontal only), repeat-y (vertical only), and no-repeat (neither). If the repetition argument is empty, the value repeat is used.

+ +

If the image has no image data, throws an + INVALID_STATE_ERR exception. If the second argument + isn't one of the allowed values, throws a SYNTAX_ERR + exception. If the image isn't yet fully decoded, then the method + returns null.

+ +
+ +
+ +

To create objects of this type, the createPattern(image, repetition) + method is used. The first argument gives the image to use as the + pattern (either an HTMLImageElement, + HTMLCanvasElement, or HTMLVideoElement + object). Modifying this image after calling the createPattern() method + must not affect the pattern. The second argument must be a string + with one of the following values: repeat, + repeat-x, repeat-y, + no-repeat. If the empty string is specified, + repeat must be assumed. If an unrecognized value + is given, then the user agent must raise a SYNTAX_ERR + exception. User agents must recognize the four values described above + exactly (e.g. they must not do case folding). Except as specified + below, the method must return a CanvasPattern object + suitably initialized.

+ +

The image argument is an instance of either + HTMLImageElement, HTMLCanvasElement, or + HTMLVideoElement.

+ +

If the image argument is an + HTMLImageElement object that is not fully decodable, or if the image argument is an HTMLVideoElement + object whose readyState + attribute is either HAVE_NOTHING or HAVE_METADATA, then the + implementation must return null.

+ +

If the image argument is an + HTMLCanvasElement object with either a horizontal + dimension or a vertical dimension equal to zero, then the + implementation must raise an INVALID_STATE_ERR + exception.

+ + +

Patterns must be painted so that the top left of the first image + is anchored at the origin of the coordinate space, and images are + then repeated horizontally to the left and right (if the + repeat-x string was specified) or vertically up and + down (if the repeat-y string was specified) or in all + four directions all over the canvas (if the repeat + string was specified). The images are not scaled by this process; + one CSS pixel of the image must be painted on one coordinate space + unit. Of course, patterns must actually be painted only where the + stroking or filling effect requires that they be drawn, and are + affected by the current transformation matrix.

+ +

If the original image data is a bitmap image, the value painted + at a point in the area of the repetitions is computed by filtering + the original image data. The user agent may use any filtering + algorithm (for example bilinear interpolation or nearest-neighbor). + When the filtering algorithm requires a pixel value from outside the + original image data, it must instead use the value from wrapping the + pixel's coordinates to the original image's dimensions. (That is, + the filter uses 'repeat' behavior, regardless of the value of + repetition.) + + +

When the createPattern() method + is passed an animated image as its image + argument, the user agent must use the poster frame of the animation, + or, if there is no poster frame, the first frame of the + animation.

+ + +

When the image argument is an + HTMLVideoElement, then the frame at the current + playback position must be used as the source image, and the + source image's dimensions must be the intrinsic width and + intrinsic height + of the media resource (i.e. after any aspect-ratio + correction has been applied).

+ + + + +
+ + + +
4.8.11.1.5 Line styles
+ +
context . lineWidth [ = value ]
+ +
+ +

Returns the current line width.

+ +

Can be set, to change the line width. Values that are not + finite values greater than zero are ignored.

+ +
+ +
context . lineCap [ = value ]
+ +
+ +

Returns the current line cap style.

+ +

Can be set, to change the line cap style.

+ +

The possible line cap styles are butt, + round, and square. Other values are + ignored.

+ +
+ +
context . lineJoin [ = value ]
+ +
+ +

Returns the current line join style.

+ +

Can be set, to change the line join style.

+ +

The possible line join styles are bevel, + round, and miter. Other values are + ignored.

+ +
+ +
context . miterLimit [ = value ]
+ +
+ +

Returns the current miter limit ratio.

+ +

Can be set, to change the miter limit ratio. Values that are + not finite values greater than zero are ignored.

+ +
+ +
+ +

The lineWidth + attribute gives the width of lines, in coordinate space units. On + getting, it must return the current value. On setting, zero, + negative, infinite, and NaN values must be ignored, leaving the + value unchanged; other values must change the current value to the + new value.

+ +

When the context is created, the lineWidth attribute must + initially have the value 1.0.

+ +

The lineCap attribute + defines the type of endings that UAs will place on the end of + lines. The three valid values are butt, + round, and square. The butt + value means that the end of each line has a flat edge perpendicular + to the direction of the line (and that no additional line cap is + added). The round value means that a semi-circle with + the diameter equal to the width of the line must then be added on to + the end of the line. The square value means that a + rectangle with the length of the line width and the width of half + the line width, placed flat against the edge perpendicular to the + direction of the line, must be added at the end of each line.

+ +

On getting, it must return the current value. On setting, if the + new value is one of the literal strings butt, + round, and square, then the current value + must be changed to the new value; other values must ignored, leaving + the value unchanged.

+ +

When the context is created, the lineCap attribute must + initially have the value butt.

+ +

The lineJoin + attribute defines the type of corners that UAs will place where two + lines meet. The three valid values are bevel, + round, and miter.

+ +

On getting, it must return the current value. On setting, if the + new value is one of the literal strings bevel, + round, and miter, then the current value + must be changed to the new value; other values must be ignored, + leaving the value unchanged.

+ +

When the context is created, the lineJoin attribute must + initially have the value miter.

+ +

A join exists at any point in a subpath shared by two consecutive + lines. When a subpath is closed, then a join also exists at its + first point (equivalent to its last point) connecting the first and + last lines in the subpath.

+ +

In addition to the point where the join occurs, two additional + points are relevant to each join, one for each line: the two corners + found half the line width away from the join point, one + perpendicular to each line, each on the side furthest from the other + line.

+ +

A filled triangle connecting these two opposite corners with a + straight line, with the third point of the triangle being the join + point, must be rendered at all joins. The lineJoin attribute controls + whether anything else is rendered. The three aforementioned values + have the following meanings:

+ +

The bevel value means that this is all that is + rendered at joins.

+ +

The round value means that a filled arc connecting + the two aforementioned corners of the join, abutting (and not + overlapping) the aforementioned triangle, with the diameter equal to + the line width and the origin at the point of the join, must be + rendered at joins.

+ +

The miter value means that a second filled triangle + must (if it can given the miter length) be rendered at the join, + with one line being the line between the two aforementioned corners, + abutting the first triangle, and the other two being continuations of + the outside edges of the two joining lines, as long as required to + intersect without going over the miter length.

+ +

The miter length is the distance from the point where the join + occurs to the intersection of the line edges on the outside of the + join. The miter limit ratio is the maximum allowed ratio of the + miter length to half the line width. If the miter length would cause + the miter limit ratio to be exceeded, this second triangle must not + be rendered.

+ +

The miter limit ratio can be explicitly set using the miterLimit + attribute. On getting, it must return the current value. On setting, + zero, negative, infinite, and NaN values must be ignored, leaving + the value unchanged; other values must change the current value to + the new value.

+ +

When the context is created, the miterLimit attribute must + initially have the value 10.0.

+ + + +
+ + +
4.8.11.1.6 Shadows
+ +

All drawing operations are affected by the four global shadow + attributes.

+ +
context . shadowColor [ = value ]
+ +
+ +

Returns the current shadow color.

+ +

Can be set, to change the shadow color. Values that cannot be parsed as CSS colors are ignored.

+ +
+ +
context . shadowOffsetX [ = value ]
+
context . shadowOffsetY [ = value ]
+ +
+ +

Returns the current shadow offset.

+ +

Can be set, to change the shadow offset. Values that are not finite numbers are ignored.

+ +
+ +
context . shadowBlur [ = value ]
+ +
+ +

Returns the current level of blur applied to shadows.

+ +

Can be set, to change the blur level. Values that are not finite numbers greater than or equal to zero are ignored.

+ +
+ +
+ +

The shadowColor + attribute sets the color of the shadow.

+ +

When the context is created, the shadowColor attribute + initially must be fully-transparent black.

+ +

On getting, the serialization of the color must be returned.

+ +

On setting, the new value must be parsed as a CSS + <color> value and the color assigned. If the value + cannot be parsed as a CSS <color> value then it must be + ignored, and the attribute must retain its previous value. [CSSCOLOR]

+ +

The shadowOffsetX + and shadowOffsetY + attributes specify the distance that the shadow will be offset in + the positive horizontal and positive vertical distance + respectively. Their values are in coordinate space units. They are + not affected by the current transformation matrix.

+ +

When the context is created, the shadow offset attributes must + initially have the value 0.

+ +

On getting, they must return their current value. On setting, the + attribute being set must be set to the new value, except if the + value is infinite or NaN, in which case the new value must be + ignored.

+ +

The shadowBlur + attribute specifies the level of the blurring effect. (The units do + not map to coordinate space units, and are not affected by the + current transformation matrix.)

+ +

When the context is created, the shadowBlur attribute must + initially have the value 0.

+ +

On getting, the attribute must return its current value. On + setting the attribute must be set to the new value, except if the + value is negative, infinite or NaN, in which case the new value must + be ignored.

+ +

Shadows are only drawn + if the opacity component of the alpha component of the color + of shadowColor is + non-zero and either the shadowBlur is non-zero, or + the shadowOffsetX + is non-zero, or the shadowOffsetY is + non-zero.

+ +

It is likely that this will change: browser + vendors have indicated an interest in changing the processing model + for shadows such that they only draw when the composition operator + is "source-over" (the default). Read + more...

+ +

When shadows are drawn, they must be rendered as follows:

+ +
  1. Let A be an infinite transparent black + bitmap on which the source image for which a shadow is being + created has been rendered.

  2. + +
  3. Let B be an infinite transparent black + bitmap, with a coordinate space and an origin identical to A.

  4. + +
  5. Copy the alpha channel of A to B, offset by shadowOffsetX in the + positive x direction, and shadowOffsetY in the + positive y direction.

  6. + +
  7. If shadowBlur is greater than + 0:

    + +
    1. Let σ be half the value of + shadowBlur.

    2. + +
    3. Perform a 2D Gaussian Blur on B, + using σ as the standard deviation.

      +
    4. + +

    User agents may limit values of σ to + an implementation-specific maximum value to avoid exceeding + hardware limitations during the Gaussian blur operation.

    + +
  8. + +
  9. Set the red, green, and blue components of every pixel in + B to the red, green, and blue components + (respectively) of the color of shadowColor.

  10. + +
  11. Multiply the alpha component of every pixel in B by the alpha component of the color of shadowColor.

  12. + +
  13. The shadow is in the bitmap B, and is + rendered as part of the drawing model described below.

  14. + +
+ +

If the current composition operation is copy, shadows effectively won't render + (since the shape will overwrite the shadow).

+ + +
4.8.11.1.7 Simple shapes (rectangles)
+ +

There are three methods that immediately draw rectangles to the + bitmap. They each take four arguments; the first two give the x and y coordinates of the top + left of the rectangle, and the second two give the width w and height h of the rectangle, + respectively.

+ +
+ +

The current + transformation matrix must be applied to the following four + coordinates, which form the path that must then be closed to get the + specified rectangle: (x, y), (x+w, y), + (x+w, + y+h), + (x, y+h).

+ +

Shapes are painted without affecting the current path, and are + subject to the clipping region, + and, with the exception of clearRect(), also shadow effects, global alpha, and global composition + operators.

+ +
+ +
context . clearRect(x, y, w, h)
+ +
+ +

Clears all pixels on the canvas in the given rectangle to transparent black.

+ +
+ +
context . fillRect(x, y, w, h)
+ +
+ +

Paints the given rectangle onto the canvas, using the current fill style.

+ +
+ +
context . strokeRect(x, y, w, h)
+ +
+ +

Paints the box that outlines the given rectangle onto the canvas, using the current stroke style.

+ +
+ +
+ +

The clearRect(x, y, w, h) method must clear the pixels in the + specified rectangle that also intersect the current clipping region + to a fully transparent black, erasing any previous image. If either + height or width are zero, this method has no effect.

+ +

The fillRect(x, y, w, h) method must paint the specified + rectangular area using the fillStyle. If either height + or width are zero, this method has no effect.

+ +

The strokeRect(x, y, w, h) method must stroke the specified + rectangle's path using the strokeStyle, lineWidth, lineJoin, and (if + appropriate) miterLimit attributes. If + both height and width are zero, this method has no effect, since + there is no path to stroke (it's a point). If only one of the two is + zero, then the method will draw a line instead (the path for the + outline is just a straight line along the non-zero dimension).

+ +
+ + +
4.8.11.1.8 Complex shapes (paths)
+ +

The context always has a current path. There is only one current + path, it is not part of the drawing state.

+ +

A path has a list of zero or more subpaths. Each + subpath consists of a list of one or more points, connected by + straight or curved lines, and a flag indicating whether the subpath + is closed or not. A closed subpath is one where the last point of + the subpath is connected to the first point of the subpath by a + straight line. Subpaths with fewer than two points are ignored when + painting the path.

+ +
context . beginPath()
+ +
+ +

Resets the current path.

+ +
+ +
context . moveTo(x, y)
+ +
+ +

Creates a new subpath with the given point.

+ +
+ +
context . closePath()
+ +
+ +

Marks the current subpath as closed, and starts a new subpath with a point the same as the start and end of the newly closed subpath.

+ +
+ +
context . lineTo(x, y)
+ +
+ +

Adds the given point to the current subpath, connected to the previous one by a straight line.

+ +
+ +
context . quadraticCurveTo(cpx, cpy, x, y)
+ +
+ +

Adds the given point to the current subpath, connected to the previous one by a quadratic Bézier curve with the given control point.

+ +
+ +
context . bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)
+ +
+ +

Adds the given point to the current subpath, connected to the previous one by a cubic Bézier curve with the given control points.

+ +
+ +
context . arcTo(x1, y1, x2, y2, radius)
+ +
+ +

Adds an arc with the given control points and radius to the + current subpath, connected to the previous point by a straight + line.

+ +

Throws an INDEX_SIZE_ERR exception if the given + radius is negative.

+ +
+ +
context . arc(x, y, radius, startAngle, endAngle [, anticlockwise ] )
+ +
+ +

Adds points to the subpath such that the arc described by the + circumference of the circle described by the arguments, starting + at the given start angle and ending at the given end angle, going + in the given direction (defaulting to clockwise), is added to the + path, connected to the previous point by a straight line.

+ +

Throws an INDEX_SIZE_ERR exception if the given + radius is negative.

+ +
+ +
context . rect(x, y, w, h)
+ +
+ +

Adds a new closed subpath to the path, representing the given rectangle.

+ +
+ +
context . fill()
+ +
+ +

Fills the subpaths with the current fill style.

+ +
+ +
context . stroke()
+ +
+ +

Strokes the subpaths with the current stroke style.

+ +
+ +
context . drawSystemFocusRing(element)
+ +
+ +

If the given element is focused, draws a focus ring around the + current path, following the platform conventions for focus + rings.

+ +
+ +
shouldDraw = context . drawCustomFocusRing(element)
+ +
+ +

If the given element is focused, and the user has configured + his system to draw focus rings in a particular manner (for + example, high contrast focus rings), draws a focus ring around the + current path and returns false.

+ +

Otherwise, returns true if the given element is focused, and + false otherwise. This can thus be used to determine when to draw a + focus ring (see the + example below).

+ +
+ +
context . scrollPathIntoView()
+ +
+ +

Scrolls the current path into view. This is especially useful + on devices with small screens, where the whole canvas might not be + visible at once.

+ +
+ +
context . clip()
+ +
+ +

Further constrains the clipping region to the given path.

+ +
+ +
context . isPointInPath(x, y)
+ +
+ +

Returns true if the given point is in the current path.

+ +
+ +
+ +

Initially, the context's path must have zero subpaths.

+ +

The points and lines added to the path by these methods must be + transformed according to the current transformation + matrix as they are added.

+ + +

The beginPath() + method must empty the list of subpaths so that the context once + again has zero subpaths.

+ + +

The moveTo(x, y) method must + create a new subpath with the specified point as its first (and + only) point.

+ +

When the user agent is to ensure there is a subpath + for a coordinate (x, y), the + user agent must check to see if the context has any subpaths, and if + it does not, then the user agent must create a new subpath with the + point (x, y) as its first + (and only) point, as if the moveTo() method had been + called.

+ + +

The closePath() + method must do nothing if the context has no subpaths. Otherwise, it + must mark the last subpath as closed, create a new subpath whose + first point is the same as the previous subpath's first point, and + finally add this new subpath to the path.

+ +

If the last subpath had more than one point in its + list of points, then this is equivalent to adding a straight line + connecting the last point back to the first point, thus "closing" + the shape, and then repeating the last (possibly implied) moveTo() call.

+ + +

New points and the lines connecting them are added to subpaths + using the methods described below. In all cases, the methods only + modify the last subpath in the context's paths.

+ + +

The lineTo(x, y) method must + ensure there is a subpath for (x, y) if the context has + no subpaths. Otherwise, it must connect the last point in the + subpath to the given point (x, y) using a straight line, and must then add the given + point (x, y) to the + subpath.

+ + +

The quadraticCurveTo(cpx, cpy, x, + y) method must ensure there + is a subpath for (cpx, + cpy), and then must connect the last + point in the subpath to the given point (x, y) using a quadratic Bézier curve with control + point (cpx, cpy), and must + then add the given point (x, y) to the subpath. [BEZIER]

+ + +

The bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) method must + ensure there is a subpath for (cp1x, cp1y), and then must + connect the last point in the subpath to the given point (x, y) using a cubic Bézier + curve with control points (cp1x, cp1y) and (cp2x, cp2y). Then, it must add the point (x, y) to the subpath. [BEZIER]

+ +

The arcTo(x1, y1, x2, + y2, radius) + method must first ensure there is a subpath for (x1, y1). Then, the behavior depends on the + arguments and the last point in the subpath, as described below.

+ +

Negative values for radius must cause the + implementation to raise an INDEX_SIZE_ERR + exception.

+ +

Let the point (x0, y0) be + the last point in the subpath.

+ +

If the point (x0, y0) is + equal to the point (x1, y1), + or if the point (x1, y1) is + equal to the point (x2, y2), + or if the radius radius is zero, then the method + must add the point (x1, y1) + to the subpath, and connect that point to the previous point (x0, y0) by a straight line.

+ +

Otherwise, if the points (x0, y0), (x1, y1), and (x2, y2) all lie on a single straight line, then the + method must add the point (x1, y1) to the subpath, and connect that point to the + previous point (x0, y0) by a + straight line.

+ +

Otherwise, let The Arc be the shortest arc + given by circumference of the circle that has radius radius, and that has one point tangent to the + half-infinite line that crosses the point (x0, + y0) and ends at the point (x1, y1), and that has a different + point tangent to the half-infinite line that ends at the point (x1, y1) and crosses the point + (x2, y2). The points at + which this circle touches these two lines are called the start and + end tangent points respectively. The method must connect the point + (x0, y0) to the start + tangent point by a straight line, adding the start tangent point to + the subpath, and then must connect the start tangent point to the + end tangent point by The Arc, adding the end + tangent point to the subpath.

+ +

The arc(x, y, radius, + startAngle, endAngle, anticlockwise) method draws an arc. If + the context has any subpaths, then the method must add a straight + line from the last point in the subpath to the start point of the + arc. In any case, it must draw the arc between the start point of + the arc and the end point of the arc, and add the start and end + points of the arc to the subpath. The arc and its start and end + points are defined as follows:

+ +

Consider a circle that has its origin at (x, + y) and that has radius radius. The points at startAngle + and endAngle along this circle's circumference, + measured in radians clockwise from the positive x-axis, are the + start and end points respectively.

+ +

If the anticlockwise argument is omitted or + false and endAngle-startAngle is equal to or greater than 2Ï€, or, if the anticlockwise + argument is true and startAngle-endAngle is + equal to or greater than 2Ï€, then the arc + is the whole circumference of this circle.

+ +

Otherwise, the arc is the path along the circumference of this + circle from the start point to the end point, going anti-clockwise + if the anticlockwise argument is true, and + clockwise otherwise. Since the points are on the circle, as opposed + to being simply angles from zero, the arc can never cover an angle + greater than 2Ï€ radians. If the two points are the + same, or if the radius is zero, then the arc is defined as being of + zero length in both directions.

+ +

Negative values for radius must cause the + implementation to raise an INDEX_SIZE_ERR + exception.

+ +

The rect(x, y, w, h) method must create a new subpath + containing just the four points (x, y), (x+w, + y), (x+w, y+h), + (x, y+h), with those four points connected by straight + lines, and must then mark the subpath as closed. It must then create + a new subpath with the point (x, y) as the only point in the subpath.

+ + + + + +

The fill() + method must fill all the subpaths of the current path, using + fillStyle, and using + the non-zero winding number rule. Open subpaths must be implicitly + closed when being filled (without affecting the actual + subpaths).

+ +

Thus, if two overlapping but otherwise independent + subpaths have opposite windings, they cancel out and result in no + fill. If they have the same winding, that area just gets painted + once.

+ +

The stroke() method + must calculate the strokes of all the subpaths of the current path, + using the lineWidth, + lineCap, lineJoin, and (if + appropriate) miterLimit attributes, and + then fill the combined stroke area using the strokeStyle + attribute.

+ +

Since the subpaths are all stroked as one, + overlapping parts of the paths in one stroke operation are treated + as if their union was what was painted.

+ +

Paths, when filled or stroked, must be painted without affecting + the current path, and must be subject to shadow effects, global alpha, the clipping region, and global composition + operators. (Transformations affect the path when the path is + created, not when it is painted, though the stroke style is + still affected by the transformation during painting.)

+ +

Zero-length line segments must be pruned before stroking a + path. Empty subpaths must be ignored.

+ +

The drawSystemFocusRing(element) method, when invoked, must run + the following steps:

+ +
  1. If element is not focused or is not a + descendant of the element with whose context the method is + associated, then abort these steps.

  2. + +
  3. + +

    If the user has requested the use of particular focus rings + (e.g. high-contrast focus rings), or if the element would have a focus ring drawn around it, + then draw a focus ring of the appropriate style along the path, + following platform conventions, and abort these steps.

    + +

    Some platforms only draw focus rings around + elements that have been focused from the keyboard, and not those + focused from the mouse. Other platforms simply don't draw focus + rings around some elements at all unless relevant accessibility + features are enabled. This API is intended to follow these + conventions. User agents that implement distinctions based on the + manner in which the element was focused are encouraged to classify + focus driven by the focus() method + based on the kind of user interaction event from which the call + was triggered (if any).

    + +

    The focus ring should not be subject to the shadow effects, the global alpha, or the global composition + operators, but should be subject to the clipping region.

    + +
  4. + +
  5. + +

    Optionally, inform the user that the + focus is at the location given by the path. User agents may wait + until the next time the event loop reaches its + "update the rendering" step to optionally inform the user.

    + +
  6. + +

The drawCustomFocusRing(element) method, when invoked, must run + the following steps:

+ +
  1. If element is not focused or is not a + descendant of the element with whose context the method is + associated, then return false and abort these steps.

  2. + +
  3. + +

    If the user has requested the use of particular focus rings + (e.g. high-contrast focus rings), then draw a focus ring of the + appropriate style along the path, return false, and abort these + steps.

    + +

    The focus ring should not be subject to the shadow effects, the global alpha, or the global composition + operators, but should be subject to the clipping region.

    + +
  4. + +
  5. + +

    Optionally, inform the user that the + focus is at the location given by the path. User agents may wait + until the next time the event loop reaches its + "update the rendering" step to optionally inform the user.

    + +
  6. + +
  7. Return true.

  8. + +

The scrollPathIntoView() + method, when invoked, must run the following steps:

+ +
  1. Let notional child be a hypothetical + element that is a rendered child of the canvas element + whose dimensions are exactly the rectangle of the bounding box of + the current path.

  2. + +
  3. Scroll notional child into view with the align to top flag set.

    + +
  4. Optionally, inform the user that the + caret and/or selection cover the specified + rectangle of the canvas. User agents may wait until the next + time the event loop reaches its "update the rendering" + step to optionally inform the user.

  5. + +

"Inform the user", as used in this + section, could mean calling a system accessibility API, which would + notify assistive technologies such as magnification tools. To + properly drive magnification based on a focus change, a system + accessibility API driving a screen magnifier needs the bounds for + the newly focused object. The methods above are intended to enable + this by allowing the user agent to report the bounding box of the + path used to render the focus ring as the bounds of the element element passed as an argument, if that + element is focused, and the bounding box of the area to which the + user agent is scrolling as the bounding box of the current + selection.

+ +

The clip() + method must create a new clipping region by calculating + the intersection of the current clipping region and the area + described by the current path, using the non-zero winding number + rule. Open subpaths must be implicitly closed when computing the + clipping region, without affecting the actual subpaths. The new + clipping region replaces the current clipping region.

+ +

When the context is initialized, the clipping region must be set + to the rectangle with the top left corner at (0,0) and the width and + height of the coordinate space.

+ + + +

The isPointInPath(x, y) method must + return true if the point given by the x and y coordinates passed to the method, when treated as + coordinates in the canvas coordinate space unaffected by the current + transformation, is inside the current path as determined by the + non-zero winding number rule; and must return false + otherwise. Points on the path itself are considered to be inside the + path. If either of the arguments is infinite or NaN, then the method + must return false.

+ +
+ + +
+ +

This canvas element has a couple of checkboxes. The + path-related commands are highlighted:

+ +
<canvas height=400 width=750>
+ <label><input type=checkbox id=showA> Show As</label>
+ <label><input type=checkbox id=showB> Show Bs</label>
+ <!-- ... -->
+</canvas>
+<script>
+ function drawCheckbox(context, element, x, y, paint) {
+   context.save();
+   context.font = '10px sans-serif';
+   context.textAlign = 'left';
+   context.textBaseline = 'middle';
+   var metrics = context.measureText(element.labels[0].textContent);
+   if (paint) {
+     context.beginPath();
+     context.strokeStyle = 'black';
+     context.rect(x-5, y-5, 10, 10);
+     context.stroke();
+     if (element.checked) {
+       context.fillStyle = 'black';
+       context.fill();
+     }
+     context.fillText(element.labels[0].textContent, x+5, y);
+   }
+   context.beginPath();
+   context.rect(x-7, y-7, 12 + metrics.width+2, 14);
+   if (paint && context.drawCustomFocusRing(element)) {
+     context.strokeStyle = 'silver';
+     context.stroke();
+   }
+   context.restore();
+ }
+ function drawBase() { /* ... */ }
+ function drawAs() { /* ... */ }
+ function drawBs() { /* ... */ }
+ function redraw() {
+   var canvas = document.getElementsByTagName('canvas')[0];
+   var context = canvas.getContext('2d');
+   context.clearRect(0, 0, canvas.width, canvas.height);
+   drawCheckbox(context, document.getElementById('showA'), 20, 40, true);
+   drawCheckbox(context, document.getElementById('showB'), 20, 60, true);
+   drawBase();
+   if (document.getElementById('showA').checked)
+     drawAs();
+   if (document.getElementById('showB').checked)
+     drawBs();
+ }
+ function processClick(event) {
+   var canvas = document.getElementsByTagName('canvas')[0];
+   var context = canvas.getContext('2d');
+   var x = event.clientX;
+   var y = event.clientY;
+   while (node) {
+     x -= node.offsetLeft - node.scrollLeft;
+     y -= node.offsetTop - node.scrollTop;
+     node = node.offsetParent;
+   }
+   drawCheckbox(context, document.getElementById('showA'), 20, 40, false);
+   if (context.isPointInPath(x, y))
+     document.getElementById('showA').checked = !(document.getElementById('showA').checked);
+   drawCheckbox(context, document.getElementById('showB'), 20, 60, false);
+   if (context.isPointInPath(x, y))
+     document.getElementById('showB').checked = !(document.getElementById('showB').checked);
+   redraw();
+ }
+ document.getElementsByTagName('canvas')[0].addEventListener('focus', redraw, true);
+ document.getElementsByTagName('canvas')[0].addEventListener('blur', redraw, true);
+ document.getElementsByTagName('canvas')[0].addEventListener('change', redraw, true);
+ document.getElementsByTagName('canvas')[0].addEventListener('click', processClick, false);
+ redraw();
+</script>
+ + +
+ + + + +
4.8.11.1.9 Text
+ +
context . font [ = value ]
+ +
+ +

Returns the current font settings.

+ +

Can be set, to change the font. The syntax is the same as for + the CSS 'font' property; values that cannot be parsed as CSS font + values are ignored.

+ +

Relative keywords and lengths are computed relative to the font + of the canvas element.

+ +
+ +
context . textAlign [ = value ]
+ +
+ +

Returns the current text alignment settings.

+ +

Can be set, to change the alignment. The possible values are + start, end, left, right, and center. Other values are ignored. The default is + start.

+ +
+ +
context . textBaseline [ = value ]
+ +
+ +

Returns the current baseline alignment settings.

+ +

Can be set, to change the baseline alignment. The possible + values and their meanings are given below. Other values are + ignored. The default is alphabetic.

+ +
+ +
context . fillText(text, x, y [, maxWidth ] )
+
context . strokeText(text, x, y [, maxWidth ] )
+ +
+ +

Fills or strokes (respectively) the given text at the given + position. If a maximum width is provided, the text will be scaled + to fit that width if necessary.

+ +
+ +
metrics = context . measureText(text)
+ +
+ +

Returns a TextMetrics object with the metrics of the given text in the current font.

+ +
+ +
metrics . width
+ +
+ +

Returns the advance width of the text that was passed to the + measureText() + method.

+ +
+ +
+ +

The font IDL + attribute, on setting, must be parsed the same way as the 'font' + property of CSS (but without supporting property-independent style + sheet syntax like 'inherit'), and the resulting font must be + assigned to the context, with the 'line-height' component forced to + 'normal', with the 'font-size' component converted to CSS pixels, + and with system fonts being computed to explicit values. If the new + value is syntactically incorrect (including using + property-independent style sheet syntax like 'inherit' or + 'initial'), then it must be ignored, without assigning a new font + value. [CSS]

+ +

Font names must be interpreted in the context of the + canvas element's stylesheets; any fonts embedded using + @font-face must therefore be available once + they are loaded. (If a font is referenced before it is fully loaded, + then it must be treated as if it was an unknown font, falling back + to another as described by the relevant CSS specifications.) [CSSFONTS]

+ +

Only vector fonts should be used by the user agent; if a user + agent were to use bitmap fonts then transformations would likely + make the font look very ugly.

+ +

On getting, the font + attribute must return the serialized form of the current font of the context + (with no 'line-height' component). [CSSOM]

+ +
+ +

For example, after the following statement:

+ +
context.font = 'italic 400 12px/2 Unknown Font, sans-serif';
+ +

...the expression context.font would + evaluate to the string "italic 12px "Unknown Font", sans-serif". The + "400" font-weight doesn't appear because that is the default + value. The line-height doesn't appear because it is forced to + "normal", the default value.

+ +
+ +

When the context is created, the font of the context must be set + to 10px sans-serif. When the 'font-size' component is set to lengths + using percentages, 'em' or 'ex' units, or the 'larger' or 'smaller' + keywords, these must be interpreted relative to the computed value + of the 'font-size' property of the corresponding canvas + element at the time that the attribute is set. When the + 'font-weight' component is set to the relative values 'bolder' and + 'lighter', these must be interpreted relative to the computed value + of the 'font-weight' property of the corresponding + canvas element at the time that the attribute is + set. If the computed values are undefined for a particular case + (e.g. because the canvas element is not in a + Document), then the relative keywords must be + interpreted relative to the normal-weight 10px sans-serif + default.

+ +

The textAlign IDL + attribute, on getting, must return the current value. On setting, if + the value is one of start, end, left, right, or center, then the + value must be changed to the new value. Otherwise, the new value + must be ignored. When the context is created, the textAlign attribute must + initially have the value start.

+ +

The textBaseline + IDL attribute, on getting, must return the current value. On + setting, if the value is one of top, hanging, middle, alphabetic, + ideographic, + or bottom, + then the value must be changed to the new value. Otherwise, the new + value must be ignored. When the context is created, the textBaseline attribute + must initially have the value alphabetic.

+ +
+ +

The textBaseline + attribute's allowed keywords correspond to alignment points in the + font:

+ +

The top of the em square is roughly at the top of the glyphs in a font, the hanging baseline is where some glyphs like आ are anchored, the middle is half-way between the top of the em square and the bottom of the em square, the alphabetic baseline is where characters like Ã, ÿ, f, and Ω are anchored, the ideographic baseline is where glyphs like ç§ and é” are anchored, and the bottom of the em square is roughly at the bottom of the glyphs in a font. The top and bottom of the bounding box can be far from these baselines, due to glyphs extending far outside the em square.

+ +

The keywords map to these alignment points as follows:

+ +
top +
The top of the em square
+ +
hanging +
The hanging baseline
+ +
middle +
The middle of the em square
+ +
alphabetic +
The alphabetic baseline
+ +
ideographic +
The ideographic baseline
+ +
bottom +
The bottom of the em square
+ +
+ +

The fillText() and + strokeText() + methods take three or four arguments, text, x, y, and optionally maxWidth, and render the given text at the given (x, y) coordinates ensuring that the text isn't wider + than maxWidth if specified, using the current + font, textAlign, and textBaseline + values. Specifically, when the methods are called, the user agent + must run the following steps:

+ +
  1. If maxWidth is present but less than or + equal to zero, return without doing anything; abort these + steps.

  2. + +
  3. Let font be the current font of the + context, as given by the font attribute.

  4. + +
  5. Replace all the space + characters in text with U+0020 SPACE + characters.

  6. + +
  7. Form a hypothetical infinitely wide CSS line box containing + a single inline box containing the text text, + with all the properties at their initial values except the 'font' + property of the inline box set to font, the + 'direction' property of the inline box set to the + directionality of the canvas element, and the + 'white-space' property set to 'pre'. [CSS]

  8. + + + +
  9. If the maxWidth argument was specified + and the hypothetical width of the inline box in the hypothetical + line box is greater than maxWidth CSS pixels, + then change font to have a more condensed font + (if one is available or if a reasonably readable one can be + synthesized by applying a horizontal scale factor to the font) or a + smaller font, and return to the previous step.

  10. + +
  11. + +

    Let the anchor point be a point on the + inline box, determined by the textAlign and textBaseline values, as + follows:

    + +

    Horizontal position:

    + +
    If textAlign is left
    +
    If textAlign is start and the directionality of the + canvas element is 'ltr'
    +
    If textAlign is end and the directionality of the + canvas element is 'rtl'
    + +
    Let the anchor point's horizontal + position be the left edge of the inline box.
    + + +
    If textAlign is right
    +
    If textAlign is end and the directionality of the + canvas element is 'ltr'
    +
    If textAlign is start and the directionality of the + canvas element is 'rtl'
    + +
    Let the anchor point's horizontal + position be the right edge of the inline box.
    + + +
    If textAlign is center
    + +
    Let the anchor point's horizontal + position be half way between the left and right edges of the + inline box.
    + +

    Vertical position:

    + +
    If textBaseline is top
    + +
    Let the anchor point's vertical position + be the top of the em box of the first available font of the + inline box.
    + + +
    If textBaseline is hanging
    + +
    Let the anchor point's vertical position + be the hanging baseline of the first available font of the inline + box.
    + + +
    If textBaseline is middle
    + +
    Let the anchor point's vertical position + be half way between the bottom and the top of the em box of the + first available font of the inline box.
    + + +
    If textBaseline is alphabetic
    + +
    Let the anchor point's vertical position + be the alphabetic baseline of the first available font of the inline + box.
    + + +
    If textBaseline is ideographic
    + +
    Let the anchor point's vertical position + be the ideographic baseline of the first available font of the inline + box.
    + + +
    If textBaseline is bottom
    + +
    Let the anchor point's vertical position + be the bottom of the em box of the first available font of the + inline box.
    + +
  12. + +
  13. + +

    Paint the hypothetical inline box as the shape given by the + text's glyphs, as transformed by the current transformation + matrix, and anchored and sized so that before applying the + current transformation + matrix, the anchor point is at (x, y) and each CSS pixel is + mapped to one coordinate space unit.

    + +

    For fillText() + fillStyle must be + applied to the glyphs and strokeStyle must be + ignored. For strokeText() the reverse + holds and strokeStyle must be + applied to the glyph outlines and fillStyle must be + ignored.

    + +

    Text is painted without affecting the current path, and is + subject to shadow effects, global alpha, the clipping region, and global composition + operators.

    + +
  14. + +

The measureText() + method takes one argument, text. When the method + is invoked, the user agent must replace all the space characters in text with + U+0020 SPACE characters, and then must form a hypothetical + infinitely wide CSS line box containing a single inline box + containing the text text, with all the + properties at their initial values except the 'white-space' property + of the inline element set to 'pre' and the 'font' property of the + inline element set to the current font of the context as given by + the font attribute, and + must then return a new TextMetrics object with its + width attribute set to + the width of that inline box, in CSS pixels. [CSS]

+ +

The TextMetrics interface is used for the objects + returned from measureText(). It has one + attribute, width, which is set + by the measureText() + method.

+ +

Glyphs rendered using fillText() and strokeText() can spill out + of the box given by the font size (the em square size) and the width + returned by measureText() (the text + width). This version of the specification does not provide a way to + obtain the bounding box dimensions of the text. If the text is to be + rendered and removed, care needs to be taken to replace the entire + area of the canvas that the clipping region covers, not just the box + given by the em square height and measured text width.

+ + + + + + +
+ +

A future version of the 2D context API may provide a + way to render fragments of documents, rendered using CSS, straight + to the canvas. This would be provided in preference to a dedicated + way of doing multiline layout.

+ + + +
4.8.11.1.10 Images
+ +

To draw images onto the canvas, the drawImage method + can be used.

+ +

This method can be invoked with three different sets of arguments:

+ +

Each of those three can take either an + HTMLImageElement, an HTMLCanvasElement, or + an HTMLVideoElement for the image + argument.

+ +
context . drawImage(image, dx, dy)
+
context . drawImage(image, dx, dy, dw, dh)
+
context . drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh)
+ +
+ +

Draws the given image onto the canvas. The arguments are + interpreted as follows:

+ +

The sx and sy parameters give the x and y coordinates of the source rectangle; the sw and sh arguments give the width and height of the source rectangle; the dx and dy give the x and y coordinates of the destination rectangle; and the dw and dh arguments give the width and height of the destination rectangle.

+ +

If the first argument isn't an img, + canvas, or video element, throws a + TYPE_MISMATCH_ERR exception. If the image has no + image data, throws an INVALID_STATE_ERR exception. If + the one of the source rectangle dimensions is zero, throws an + INDEX_SIZE_ERR exception. If the image isn't yet + fully decoded, then nothing is drawn.

+ +
+ +
+ +

If not specified, the dw and dh arguments must default to the values of sw and sh, interpreted such that + one CSS pixel in the image is treated as one unit in the canvas + coordinate space. If the sx, sy, sw, and sh arguments are omitted, they must default to 0, 0, + the image's intrinsic width in image pixels, and the image's + intrinsic height in image pixels, respectively. If the image has no + intrinsic dimensions, the concrete object size must be used + instead, as determined using the CSS "Concrete + Object Size Resolution" algorithm, with the specified + size having neither a definite width nor height, nor any + additional contraints, the object's intrinsic properties being those + of the image argument, and the default object + size being the size of the canvas element. [CSSIMAGES]

+ +

The image argument is an instance of either + HTMLImageElement, HTMLCanvasElement, or + HTMLVideoElement.

+ +

If the image argument is an + HTMLImageElement object that is not fully decodable, or if the image argument is an HTMLVideoElement + object whose readyState + attribute is either HAVE_NOTHING or HAVE_METADATA, then the + implementation must return without drawing anything.

+ +

If the image argument is an + HTMLCanvasElement object with either a horizontal + dimension or a vertical dimension equal to zero, then the + implementation must raise an INVALID_STATE_ERR + exception.

+ + +

The source rectangle is the rectangle whose corners are the four + points (sx, sy), (sx+sw, sy), (sx+sw, sy+sh), (sx, sy+sh).

+ +

If one of the sw or sh + arguments is zero, the implementation must raise an + INDEX_SIZE_ERR exception.

+ +

The destination rectangle is the rectangle whose corners are the + four points (dx, dy), + (dx+dw, dy), (dx+dw, dy+dh), (dx, dy+dh).

+ +

When drawImage() is + invoked, the region of the image specified by the source rectangle + must be painted on the region of the canvas specified by the + destination rectangle, after applying the current transformation + matrix to the points of the destination rectangle.

+ +

The original image data of the source image must be used, not the + image as it is rendered (e.g. width and height attributes on the source + element have no effect). The image data must be processed in the + original direction, even if the dimensions given are negative.

+ +

This specification does not define the algorithm to + use when scaling the image, if necessary.

+ +

When a canvas is drawn onto itself, the drawing + model requires the source to be copied before the image is drawn + back onto the canvas, so it is possible to copy parts of a canvas + onto overlapping parts of itself.

+ +

If the original image data is a bitmap image, the value painted + at a point in the destination rectangle is computed by filtering the + original image data. The user agent may use any filtering algorithm + (for example bilinear interpolation or nearest-neighbor). When the + filtering algorithm requires a pixel value from outside the original + image data, it must instead use the value from the nearest edge + pixel. (That is, the filter uses 'clamp-to-edge' behavior.)

+ + + +

When the drawImage() method + is passed an animated image as its image + argument, the user agent must use the poster frame of the animation, + or, if there is no poster frame, the first frame of the + animation.

+ + +

When the image argument is an + HTMLVideoElement, then the frame at the current + playback position must be used as the source image, and the + source image's dimensions must be the intrinsic width and + intrinsic height + of the media resource (i.e. after any aspect-ratio + correction has been applied).

+ + +

Images are painted without affecting the current path, and are + subject to shadow effects, global alpha, the clipping region, and global composition + operators.

+ +
+ + + +
4.8.11.1.11 Pixel manipulation
+ +
imagedata = context . createImageData(sw, sh)
+ +
+ +

Returns an ImageData object with the given + dimensions in CSS pixels (which might map to a different number of + actual device pixels exposed by the object itself). All the pixels + in the returned object are transparent black.

+ +
+ +
imagedata = context . createImageData(imagedata)
+ +
+ +

Returns an ImageData object with the same + dimensions as the argument. All the pixels in the returned object + are transparent black.

+ +
+ +
imagedata = context . getImageData(sx, sy, sw, sh)
+ +
+ +

Returns an ImageData object containing the image + data for the given rectangle of the canvas.

+ +

Throws a NOT_SUPPORTED_ERR exception if any of the + arguments are not finite. Throws an INDEX_SIZE_ERR + exception if the either of the width or height arguments are + zero.

+ +
+ +
imagedata . width
+
imagedata . height
+ +
+ +

Returns the actual dimensions of the data in the ImageData object, in device pixels.

+ +
+ +
imagedata . data
+ +
+ +

Returns the one-dimensional array containing the data in RGBA order, as integers in the range 0 to 255.

+ +
+ +
context . putImageData(imagedata, dx, dy [, dirtyX, dirtyY, dirtyWidth, dirtyHeight ])
+ +
+ +

Paints the data from the given ImageData object + onto the canvas. If a dirty rectangle is provided, only the pixels + from that rectangle are painted.

+ +

The globalAlpha + and globalCompositeOperation + attributes, as well as the shadow attributes, are ignored for the + purposes of this method call; pixels in the canvas are replaced + wholesale, with no composition, alpha blending, no shadows, + etc.

+ +

If the first argument is null, throws a + TYPE_MISMATCH_ERR exception. Throws a + NOT_SUPPORTED_ERR exception if any of the other + arguments are not finite.

+ +
+ +
+ +

The createImageData() + method is used to instantiate new blank ImageData + objects. When the method is invoked with two arguments sw and sh, it must return an + ImageData object representing a rectangle with a width + in CSS pixels equal to the absolute magnitude of sw and a height in CSS pixels equal to the absolute + magnitude of sh. When invoked with a single imagedata argument, it must return an + ImageData object representing a rectangle with the same + dimensions as the ImageData object passed as the + argument. The ImageData object returned must be filled + with transparent black.

+ +

The getImageData(sx, sy, sw, + sh) method must return an + ImageData object representing the underlying pixel data + for the area of the canvas denoted by the rectangle whose corners are + the four points (sx, sy), + (sx+sw, sy), (sx+sw, sy+sh), (sx, sy+sh), in canvas + coordinate space units. Pixels outside the canvas must be returned + as transparent black. Pixels must be returned as non-premultiplied + alpha values.

+ +

If any of the arguments to createImageData() or + getImageData() + are infinite or NaN, the method must instead raise a + NOT_SUPPORTED_ERR exception. If either the sw or sh arguments are zero, + the method must instead raise an INDEX_SIZE_ERR + exception.

+ +

ImageData objects must be initialized so that their + width attribute + is set to w, the number of physical device + pixels per row in the image data, their height attribute is + set to h, the number of rows in the image data, + and their data + attribute is initialized to a CanvasPixelArray object + holding the image data. At least one pixel's worth of image data + must be returned.

+ +

The CanvasPixelArray object provides ordered, + indexed access to the color components of each pixel of the image + data. The data must be represented in left-to-right order, row by + row top to bottom, starting with the top left, with each pixel's + red, green, blue, and alpha components being given in that order for + each pixel. Each component of each device pixel represented in this + array must be in the range 0..255, representing the 8 bit value for + that component. The components must be assigned consecutive indices + starting with 0 for the top left pixel's red component.

+ +

The CanvasPixelArray object thus represents h×w×4 integers. The + length + attribute of a CanvasPixelArray object must return this + number.

+ +

The object's supported property indices are the + numbers in the range 0 .. h×w×4-1.

+ +

To determine the value of + an indexed property index, the user agent + must return the value of the indexth component + in the array.

+ +

To set the value of an + existing indexed property index to value + value, the value of the indexth component in the array must be set to value.

+ +

The width and height (w and h) might be different from the sw + and sh arguments to the above methods, e.g. if + the canvas is backed by a high-resolution bitmap, or if the sw and sh arguments are + negative.

+ +

The putImageData(imagedata, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight) method writes data from + ImageData structures back to the canvas.

+ +

If any of the arguments to the method are infinite or NaN, the + method must raise a NOT_SUPPORTED_ERR exception.

+ +

When the last four arguments are omitted, they must be assumed to + have the values 0, 0, the width member of the imagedata structure, and the height member of the imagedata structure, respectively.

+ +

When invoked with arguments that do not, per the last few + paragraphs, cause an exception to be raised, the putImageData() method + must act as follows:

+ +
  1. + +

    Let dxdevice be the x-coordinate + of the device pixel in the underlying pixel data of the canvas + corresponding to the dx coordinate in the + canvas coordinate space.

    + +

    Let dydevice be the y-coordinate + of the device pixel in the underlying pixel data of the canvas + corresponding to the dy coordinate in the + canvas coordinate space.

    + +
  2. + +
  3. + +

    If dirtyWidth is negative, let dirtyX be dirtyX+dirtyWidth, and let dirtyWidth be equal to the absolute magnitude of + dirtyWidth.

    + +

    If dirtyHeight is negative, let dirtyY be dirtyY+dirtyHeight, and let dirtyHeight be equal to the absolute magnitude of + dirtyHeight.

    + +
  4. + +
  5. + +

    If dirtyX is negative, let dirtyWidth be dirtyWidth+dirtyX, and + let dirtyX be zero.

    + +

    If dirtyY is negative, let dirtyHeight be dirtyHeight+dirtyY, and + let dirtyY be zero.

    + +
  6. + +
  7. + +

    If dirtyX+dirtyWidth is greater than the width attribute of the imagedata argument, let dirtyWidth be the value of that width attribute, minus the + value of dirtyX.

    + +

    If dirtyY+dirtyHeight is greater than the height attribute of the imagedata argument, let dirtyHeight be the value of that height attribute, minus the + value of dirtyY.

    + +
  8. + +
  9. + +

    If, after those changes, either dirtyWidth + or dirtyHeight is negative or zero, stop these + steps without affecting the canvas.

    + +
  10. + +
  11. Otherwise, for all integer values of x + and y where dirtyX ≤ x < dirtyX+dirtyWidth + and dirtyY ≤ y < dirtyY+dirtyHeight, copy the four channels of + the pixel with coordinate (x, y) in the imagedata data + structure to the pixel with coordinate (dxdevice+x, + dydevice+y) in the underlying pixel data of the + canvas.

  12. + +

The handling of pixel rounding when the specified coordinates do + not exactly map to the device coordinate space is not defined by + this specification, except that the following must result in no + visible changes to the rendering:

+ +
context.putImageData(context.getImageData(x, y, w, h), p, q);
+ +

...for any value of x, y, + w, and h and where p is the smaller of x and the sum + of x and w, and q is the smaller of y and the sum + of y and h; and except that + the following two calls:

+ +
context.createImageData(w, h);
+context.getImageData(0, 0, w, h);
+ +

...must return ImageData objects with the same + dimensions, for any value of w and h. In other words, while user agents may round the + arguments of these methods so that they map to device pixel + boundaries, any rounding performed must be performed consistently + for all of the createImageData(), getImageData() and putImageData() + operations.

+ +

Due to the lossy nature of converting to and from + premultiplied alpha color values, pixels that have just been set + using putImageData() might be + returned to an equivalent getImageData() as + different values.

+ +

The current path, transformation matrix, + shadow attributes, global alpha, the clipping region, and global composition + operator must not affect the getImageData() and putImageData() + methods.

+ +
+ +
+ +

The data returned by getImageData() is at the + resolution of the canvas backing store, which is likely to not be + one device pixel to each CSS pixel if the display used is a high + resolution display.

+ +

In the following example, the script generates an + ImageData object so that it can draw onto it.

+ +
// canvas is a reference to a <canvas> element
+var context = canvas.getContext('2d');
+
+// create a blank slate
+var data = context.createImageData(canvas.width, canvas.height);
+
+// create some plasma
+FillPlasma(data, 'green'); // green plasma
+
+// add a cloud to the plasma
+AddCloud(data, data.width/2, data.height/2); // put a cloud in the middle
+
+// paint the plasma+cloud on the canvas
+context.putImageData(data, 0, 0);
+
+// support methods
+function FillPlasma(data, color) { ... }
+function AddCloud(data, x, y) { ... }
+ +
+ +
+ +

Here is an example of using getImageData() and putImageData() to + implement an edge detection filter.

+ +
<!DOCTYPE HTML>
+<html>
+ <head>
+  <title>Edge detection demo</title>
+  <script>
+   var image = new Image();
+   function init() {
+     image.onload = demo;
+     image.src = "image.jpeg";
+   }
+   function demo() {
+     var canvas = document.getElementsByTagName('canvas')[0];
+     var context = canvas.getContext('2d');
+
+     // draw the image onto the canvas
+     context.drawImage(image, 0, 0);
+
+     // get the image data to manipulate
+     var input = context.getImageData(0, 0, canvas.width, canvas.height);
+
+     // get an empty slate to put the data into
+     var output = context.createImageData(canvas.width, canvas.height);
+
+     // alias some variables for convenience
+     // notice that we are using input.width and input.height here
+     // as they might not be the same as canvas.width and canvas.height
+     // (in particular, they might be different on high-res displays)
+     var w = input.width, h = input.height;
+     var inputData = input.data;
+     var outputData = output.data;
+
+     // edge detection
+     for (var y = 1; y < h-1; y += 1) {
+       for (var x = 1; x < w-1; x += 1) {
+         for (var c = 0; c < 3; c += 1) {
+           var i = (y*w + x)*4 + c;
+           outputData[i] = 127 + -inputData[i - w*4 - 4] -   inputData[i - w*4] - inputData[i - w*4 + 4] +
+                                 -inputData[i - 4]       + 8*inputData[i]       - inputData[i + 4] +
+                                 -inputData[i + w*4 - 4] -   inputData[i + w*4] - inputData[i + w*4 + 4];
+         }
+         outputData[(y*w + x)*4 + 3] = 255; // alpha
+       }
+     }
+
+     // put the image data back after manipulation
+     context.putImageData(output, 0, 0);
+   }
+  </script>
+ </head>
+ <body onload="init()">
+  <canvas></canvas>
+ </body>
+</html>
+ +
+ + +
+ +
4.8.11.1.12 Drawing model
+ +

When a shape or image is painted, user agents must follow these + steps, in the order given (or act as if they do):

+ +
  1. Render the shape or image onto an infinite transparent black + bitmap, creating image A, as described in the + previous sections. For shapes, the current fill, stroke, and line + styles must be honored, and the stroke must itself also be + subjected to the current transformation matrix.

  2. + +
  3. When shadows are drawn, render the shadow from + image A, using the current shadow styles, + creating image B.

  4. + +
  5. When shadows are drawn, multiply the alpha + component of every pixel in B by globalAlpha.

  6. + +
  7. When shadows are drawn, composite B within the clipping region over the + current canvas bitmap using the current composition + operator.

  8. + +
  9. Multiply the alpha component of every pixel in A by globalAlpha.

  10. + +
  11. Composite A within the clipping + region over the current canvas bitmap using the current + composition operator.

  12. + +
+ + +
4.8.11.1.13 Best practices
+ +

This section is non-normative.

+ +

When a canvas is interactive, authors should include focusable + elements in the element's fallback content corresponding to each + focusable part of the canvas, as in the example above.

+ +

To indicate which focusable part of the canvas is currently + focused, authors should use the drawSystemFocusRing() + method, passing it the element for which a ring is being drawn. This + method only draws the focus ring if the element is focused, so that + it can simply be called whenever drawing the element, without + checking whether the element is focused or not first.

+ +

Authors should avoid implementing text editing controls using the + canvas element. Doing so has a large number of + disadvantages:

+ +

This is a huge amount of work, and authors are most strongly + encouraged to avoid doing any of it by instead using the + input element, the textarea element, or + the contenteditable + attribute.

+ + +
4.8.11.1.14 Examples
+ +

This section is non-normative.

+ +
+ +

Here is an example of a script that uses canvas to draw pretty glowing lines.

+ +
<canvas width="800" height="450"></canvas>
+<script>
+
+ var context = document.getElementsByTagName('canvas')[0].getContext('2d');
+
+ var lastX = context.canvas.width * Math.random();
+ var lastY = context.canvas.height * Math.random();
+ var hue = 0;
+ function line() {
+   context.save();
+   context.translate(context.canvas.width/2, context.canvas.height/2);
+   context.scale(0.9, 0.9);
+   context.translate(-context.canvas.width/2, -context.canvas.height/2);
+   context.beginPath();
+   context.lineWidth = 5 + Math.random() * 10;
+   context.moveTo(lastX, lastY);
+   lastX = context.canvas.width * Math.random();
+   lastY = context.canvas.height * Math.random();
+   context.bezierCurveTo(context.canvas.width * Math.random(),
+                         context.canvas.height * Math.random(),
+                         context.canvas.width * Math.random(),
+                         context.canvas.height * Math.random(),
+                         lastX, lastY);
+
+   hue = hue + 10 * Math.random();
+   context.strokeStyle = 'hsl(' + hue + ', 50%, 50%)';
+   context.shadowColor = 'white';
+   context.shadowBlur = 10;
+   context.stroke();
+   context.restore();
+ }
+ setInterval(line, 50);
+
+ function blank() {
+   context.fillStyle = 'rgba(0,0,0,0.1)';
+   context.fillRect(0, 0, context.canvas.width, context.canvas.height);
+ }
+ setInterval(blank, 40);
+
+</script>
+ +
+ + + +
+ + + +
+ +
4.8.11.2 Color spaces and color correction
+ +

The canvas APIs must perform color correction at + only two points: when rendering images with their own gamma + correction and color space information onto the canvas, to convert + the image to the color space used by the canvas (e.g. using the 2D + Context's drawImage() + method with an HTMLImageElement object), and when + rendering the actual canvas bitmap to the output device.

+ +

Thus, in the 2D context, colors used to draw shapes + onto the canvas will exactly match colors obtained through the getImageData() + method.

+ +

The toDataURL() method + must not include color space information in the resource + returned. Where the output format allows it, the color of pixels in + resources created by toDataURL() must match those + returned by the getImageData() + method.

+ +

In user agents that support CSS, the color space used by a + canvas element must match the color space used for + processing any colors for that element in CSS.

+ +

The gamma correction and color space information of images must + be handled in such a way that an image rendered directly using an + img element would use the same colors as one painted on + a canvas element that is then itself + rendered. Furthermore, the rendering of images that have no color + correction information (such as those returned by the toDataURL() method) must be + rendered with no color correction.

+ +

Thus, in the 2D context, calling the drawImage() method to render + the output of the toDataURL() method to the + canvas, given the appropriate dimensions, has no visible effect.

+ +
+ + +
+ +
4.8.11.3 Security with canvas elements
+ +

Information leakage can occur if scripts from + one origin can access information (e.g. read pixels) + from images from another origin (one that isn't the same).

+ +

To mitigate this, canvas elements are defined to + have a flag indicating whether they are origin-clean. All + canvas elements must start with their + origin-clean set to true. The flag must be set to false if + any of the following actions occur:

+ +

Whenever the toDataURL() method of a + canvas element whose origin-clean flag is set to + false is called, the method must raise a SECURITY_ERR + exception.

+ +

Whenever the getImageData() method of + the 2D context of a canvas element whose + origin-clean flag is set to false is called with otherwise + correct arguments, the method must raise a SECURITY_ERR + exception.

+ +

Whenever the measureText() method of + the 2D context of a canvas element ends up using a font + that has an origin that is not the same as that of the Document object that + owns the canvas element, the method must raise a + SECURITY_ERR exception.

+ +

Even resetting the canvas state by changing its + width or height attributes doesn't reset + the origin-clean flag.

+ +
+ + + + diff --git a/tests/wpt/web-platform-tests/2dcontext/tools/gentest.py b/tests/wpt/web-platform-tests/2dcontext/tools/gentest.py new file mode 100644 index 00000000000..500cb4d8bce --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/tools/gentest.py @@ -0,0 +1,783 @@ +# Copyright (c) 2010 Philip Taylor +# Released under the BSD license and W3C Test Suite License: see LICENSE.txt + +# Current code status: +# +# This was originally written for use at +# http://philip.html5.org/tests/canvas/suite/tests/ +# +# It has been adapted for use with the Web Platform Test Suite suite at +# https://github.com/w3c/web-platform-tests/ +# +# The W3C version excludes a number of features (multiple versions of each test +# case of varying verbosity, Mozilla mochitests, semi-automated test harness) +# to focus on simply providing reviewable test cases. It also expects a different +# directory structure. +# This code attempts to support both versions, but the non-W3C version hasn't +# been tested recently and is probably broken. + +# To update or add test cases: +# +# * Modify the tests*.yaml files. +# 'name' is an arbitrary hierarchical name to help categorise tests. +# 'desc' is a rough description of what behaviour the test aims to test. +# 'testing' is a list of references to spec.yaml, to show which spec sentences +# this test case is primarily testing. +# 'code' is JavaScript code to execute, with some special commands starting with '@' +# 'expected' is what the final canvas output should be: a string 'green' or 'clear' +# (100x50 images in both cases), or a string 'size 100 50' (or any other size) +# followed by Python code using Pycairo to generate the image. +# +# * Run "python gentest.py". +# This requires a few Python modules which might not be ubiquitous. +# It has only been tested on Linux. +# It will usually emit some warnings, which ideally should be fixed but can +# generally be safely ignored. +# +# * Test the tests, add new ones to Git, remove deleted ones from Git, etc. + +import re +import codecs +import time +import os +import shutil +import sys +import xml.dom.minidom +from xml.dom.minidom import Node + +import cairo + +try: + import syck as yaml # compatible and lots faster +except ImportError: + import yaml + +# Default mode is for the W3C test suite; the --standalone option +# generates various extra files that aren't needed there +W3CMODE = True +if '--standalone' in sys.argv: + W3CMODE = False + +TESTOUTPUTDIR = '../../2dcontext' +IMAGEOUTPUTDIR = '../../2dcontext' +MISCOUTPUTDIR = './output' +SPECOUTPUTDIR = '../../annotated-spec' + +SPECOUTPUTPATH = '../annotated-spec' # relative to TESTOUTPUTDIR + +def simpleEscapeJS(str): + return str.replace('\\', '\\\\').replace('"', '\\"') + +def escapeJS(str): + str = simpleEscapeJS(str) + str = re.sub(r'\[(\w+)\]', r'[\\""+(\1)+"\\"]', str) # kind of an ugly hack, for nicer failure-message output + return str + +def escapeHTML(str): + return str.replace('&', '&').replace('<', '<').replace('>', '>').replace('"', '"') + +def expand_nonfinite(method, argstr, tail): + """ + >>> print expand_nonfinite('f', '<0 a>, <0 b>', ';') + f(a, 0); + f(0, b); + f(a, b); + >>> print expand_nonfinite('f', '<0 a>, <0 b c>, <0 d>', ';') + f(a, 0, 0); + f(0, b, 0); + f(0, c, 0); + f(0, 0, d); + f(a, b, 0); + f(a, b, d); + f(a, 0, d); + f(0, b, d); + """ + # argstr is ", ..." (where usually + # 'invalid' is Infinity/-Infinity/NaN) + args = [] + for arg in argstr.split(', '): + a = re.match('<(.*)>', arg).group(1) + args.append(a.split(' ')) + calls = [] + # Start with the valid argument list + call = [ args[j][0] for j in range(len(args)) ] + # For each argument alone, try setting it to all its invalid values: + for i in range(len(args)): + for a in args[i][1:]: + c2 = call[:] + c2[i] = a + calls.append(c2) + # For all combinations of >= 2 arguments, try setting them to their + # first invalid values. (Don't do all invalid values, because the + # number of combinations explodes.) + def f(c, start, depth): + for i in range(start, len(args)): + if len(args[i]) > 1: + a = args[i][1] + c2 = c[:] + c2[i] = a + if depth > 0: calls.append(c2) + f(c2, i+1, depth+1) + f(call, 0, 0) + + return '\n'.join('%s(%s)%s' % (method, ', '.join(c), tail) for c in calls) + +# Run with --test argument to run unit tests +if len(sys.argv) > 1 and sys.argv[1] == '--test': + import doctest + doctest.testmod() + sys.exit() + +templates = yaml.load(open('templates.yaml').read()) +name_mapping = yaml.load(open('name2dir.yaml').read()) + +spec_assertions = [] +for s in yaml.load(open('spec.yaml').read())['assertions']: + if 'meta' in s: + eval(compile(s['meta'], '', 'exec'), {}, {'assertions':spec_assertions}) + else: + spec_assertions.append(s) + +tests = [] +for t in sum([ yaml.load(open(f).read()) for f in ['tests.yaml', 'tests2d.yaml', 'tests2dtext.yaml']], []): + if 'DISABLED' in t: + continue + if 'meta' in t: + eval(compile(t['meta'], '', 'exec'), {}, {'tests':tests}) + else: + tests.append(t) + +category_names = [] +category_contents_direct = {} +category_contents_all = {} + +spec_ids = {} +for t in spec_assertions: spec_ids[t['id']] = True +spec_refs = {} + +def backref_html(name): + backrefs = [] + c = '' + for p in name.split('.')[:-1]: + c += '.'+p + backrefs.append('%s.' % (c, p)) + backrefs.append(name.split('.')[-1]) + return ''.join(backrefs) + +def make_flat_image(filename, w, h, r,g,b,a): + if os.path.exists('%s/%s' % (IMAGEOUTPUTDIR, filename)): + return filename + surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, w, h) + cr = cairo.Context(surface) + cr.set_source_rgba(r, g, b, a) + cr.rectangle(0, 0, w, h) + cr.fill() + surface.write_to_png('%s/%s' % (IMAGEOUTPUTDIR, filename)) + return filename + +# Ensure the test output directories exist +testdirs = [TESTOUTPUTDIR, IMAGEOUTPUTDIR, MISCOUTPUTDIR] +if not W3CMODE: testdirs.append('%s/mochitests' % MISCOUTPUTDIR) +else: + for map_dir in set(name_mapping.values()): + testdirs.append("%s/%s" % (TESTOUTPUTDIR, map_dir)) +for d in testdirs: + try: os.mkdir(d) + except: pass # ignore if it already exists + +mochitests = [] +used_images = {} + +def expand_test_code(code): + code = re.sub(r'@nonfinite ([^(]+)\(([^)]+)\)(.*)', lambda m: expand_nonfinite(m.group(1), m.group(2), m.group(3)), code) # must come before '@assert throws' + + code = re.sub(r'@assert pixel (\d+,\d+) == (\d+,\d+,\d+,\d+);', + r'_assertPixel(canvas, \1, \2, "\1", "\2");', + code) + + code = re.sub(r'@assert pixel (\d+,\d+) ==~ (\d+,\d+,\d+,\d+);', + r'_assertPixelApprox(canvas, \1, \2, "\1", "\2", 2);', + code) + + code = re.sub(r'@assert pixel (\d+,\d+) ==~ (\d+,\d+,\d+,\d+) \+/- (\d+);', + r'_assertPixelApprox(canvas, \1, \2, "\1", "\2", \3);', + code) + + code = re.sub(r'@assert throws (\S+_ERR) (.*);', + r'assert_throws("\1", function() { \2; });', + code) + + code = re.sub(r'@assert throws (\S+Error) (.*);', + r'assert_throws(new \1(), function() { \2; });', + code) + + code = re.sub(r'@assert throws (.*);', + r'assert_throws(null, function() { \1; });', + code) + + code = re.sub(r'@assert (.*) === (.*);', + lambda m: '_assertSame(%s, %s, "%s", "%s");' + % (m.group(1), m.group(2), escapeJS(m.group(1)), escapeJS(m.group(2))) + , code) + + code = re.sub(r'@assert (.*) !== (.*);', + lambda m: '_assertDifferent(%s, %s, "%s", "%s");' + % (m.group(1), m.group(2), escapeJS(m.group(1)), escapeJS(m.group(2))) + , code) + + code = re.sub(r'@assert (.*) =~ (.*);', + lambda m: 'assert_regexp_match(%s, %s);' + % (m.group(1), m.group(2)) + , code) + + code = re.sub(r'@assert (.*);', + lambda m: '_assert(%s, "%s");' + % (m.group(1), escapeJS(m.group(1))) + , code) + + code = re.sub(r' @moz-todo', '', code) + + code = re.sub(r'@moz-UniversalBrowserRead;', + "" + , code) + + assert('@' not in code) + + return code + +def expand_mochitest_code(code): + code = re.sub(r'@nonfinite ([^(]+)\(([^)]+)\)(.*)', lambda m: expand_nonfinite(m.group(1), m.group(2), m.group(3)), code) + + code = re.sub(r'@assert pixel (\d+,\d+) == (\d+,\d+,\d+,\d+);', + r'isPixel(ctx, \1, \2, "\1", "\2", 0);', + code) + + code = re.sub(r'@assert pixel (\d+,\d+) ==~ (\d+,\d+,\d+,\d+);', + r'isPixel(ctx, \1, \2, "\1", "\2", 2);', + code) + + code = re.sub(r'@assert pixel (\d+,\d+) ==~ (\d+,\d+,\d+,\d+) \+/- (\d+);', + r'isPixel(ctx, \1, \2, "\1", "\2", \3);', + code) + + code = re.sub(r'@assert throws (\S+_ERR) (.*);', + lambda m: 'var _thrown = undefined; try {\n %s;\n} catch (e) { _thrown = e }; ok(_thrown && _thrown.code == DOMException.%s, "should throw %s");' + % (m.group(2), m.group(1), m.group(1)) + , code) + + code = re.sub(r'@assert throws (\S+Error) (.*);', + lambda m: 'var _thrown = undefined; try {\n %s;\n} catch (e) { _thrown = e }; ok(_thrown && (_thrown instanceof %s), "should throw %s");' + % (m.group(2), m.group(1), m.group(1)) + , code) + + code = re.sub(r'@assert throws (.*);', + lambda m: 'try { var _thrown = false;\n %s;\n} catch (e) { _thrown = true; } finally { ok(_thrown, "should throw exception"); }' + % (m.group(1)) + , code) + + code = re.sub(r'@assert (.*) =~ (.*);', + lambda m: 'ok(%s.match(%s), "%s.match(%s)");' + % (m.group(1), m.group(2), escapeJS(m.group(1)), escapeJS(m.group(2))) + , code) + + code = re.sub(r'@assert (.*);', + lambda m: 'ok(%s, "%s");' + % (m.group(1), escapeJS(m.group(1))) + , code) + + code = re.sub(r'((?:^|\n|;)\s*)ok(.*;) @moz-todo', + lambda m: '%stodo%s' + % (m.group(1), m.group(2)) + , code) + + code = re.sub(r'((?:^|\n|;)\s*)(is.*;) @moz-todo', + lambda m: '%stodo_%s' + % (m.group(1), m.group(2)) + , code) + + code = re.sub(r'@moz-UniversalBrowserRead;', + "netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead');" + , code) + + code = code.replace('../images/', 'image_') + + assert '@' not in code, '@ not in code:\n%s' % code + + return code + +used_tests = {} +for i in range(len(tests)): + test = tests[i] + + name = test['name'] + print "\r(%s)" % name, " "*32, "\t", + + if name in used_tests: + print "Test %s is defined twice" % name + used_tests[name] = 1 + + mapped_name = None + for mn in sorted(name_mapping.keys(), key=len, reverse=True): + if name.startswith(mn): + mapped_name = "%s/%s" % (name_mapping[mn], name) + break + if not mapped_name: + print "LIKELY ERROR: %s has no defined target directory mapping" % name + mapped_name = name + if 'manual' in test: + mapped_name += "-manual" + + cat_total = '' + for cat_part in [''] + name.split('.')[:-1]: + cat_total += cat_part+'.' + if not cat_total in category_names: category_names.append(cat_total) + category_contents_all.setdefault(cat_total, []).append(name) + category_contents_direct.setdefault(cat_total, []).append(name) + + for ref in test.get('testing', []): + if ref not in spec_ids: + print "Test %s uses nonexistent spec point %s" % (name, ref) + spec_refs.setdefault(ref, []).append(name) + #if not (len(test.get('testing', [])) or 'mozilla' in test): + if not test.get('testing', []): + print "Test %s doesn't refer to any spec points" % name + + if test.get('expected', '') == 'green' and re.search(r'@assert pixel .* 0,0,0,0;', test['code']): + print "Probable incorrect pixel test in %s" % name + + code = expand_test_code(test['code']) + + mochitest = not (W3CMODE or 'manual' in test or 'disabled' in test.get('mozilla', {})) + if mochitest: + mochi_code = expand_mochitest_code(test['code']) + + mochi_name = name + if 'mozilla' in test: + if 'throws' in test['mozilla']: + mochi_code = templates['mochitest.exception'] % mochi_code + if 'bug' in test['mozilla']: + mochi_name = "%s - bug %s" % (name, test['mozilla']['bug']) + + if 'desc' in test: + mochi_desc = '\n' % test['desc'] + else: + mochi_desc = '' + + if 'deferTest' in mochi_code: + mochi_setup = '' + mochi_footer = '' + else: + mochi_setup = '' + mochi_footer = 'SimpleTest.finish();\n' + + for f in ['isPixel', 'todo_isPixel', 'deferTest', 'wrapFunction']: + if f in mochi_code: + mochi_setup += templates['mochitest.%s' % f] + else: + if not W3CMODE: + print "Skipping mochitest for %s" % name + mochi_name = '' + mochi_desc = '' + mochi_code = '' + mochi_setup = '' + mochi_footer = '' + + expectation_html = '' + if 'expected' in test and test['expected'] is not None: + expected = test['expected'] + expected_img = None + if expected == 'green': + expected_img = make_flat_image('green-100x50.png', 100, 50, 0,1,0,1) + if W3CMODE: expected_img = "/images/" + expected_img + elif expected == 'clear': + expected_img = make_flat_image('clear-100x50.png', 100, 50, 0,0,0,0) + if W3CMODE: expected_img = "/images/" + expected_img + else: + if ';' in expected: print "Found semicolon in %s" % name + expected = re.sub(r'^size (\d+) (\d+)', + r'surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, \1, \2)\ncr = cairo.Context(surface)', + expected) + + if mapped_name.endswith("-manual"): + png_name = mapped_name[:-len("-manual")] + else: + png_name = mapped_name + expected += "\nsurface.write_to_png('%s/%s.png')\n" % (IMAGEOUTPUTDIR, png_name) + eval(compile(expected, '' % test['name'], 'exec'), {}, {'cairo':cairo}) + expected_img = "%s.png" % name + + if expected_img: + expectation_html = ('

Expected output:' + + '

' % (expected_img)) + + canvas = test.get('canvas', 'width="100" height="50"') + + prev = tests[i-1]['name'] if i != 0 else 'index' + next = tests[i+1]['name'] if i != len(tests)-1 else 'index' + + name_wrapped = name.replace('.', '.​') # (see https://bugzilla.mozilla.org/show_bug.cgi?id=376188) + + refs = ''.join('

  • %s\n' % (SPECOUTPUTPATH, n,n) for n in test.get('testing', [])) + if not W3CMODE and 'mozilla' in test and 'bug' in test['mozilla']: + refs += '
  • Bugzilla' % test['mozilla']['bug'] + + notes = '

    %s' % test['notes'] if 'notes' in test else '' + + images = '' + for i in test.get('images', []): + id = i.split('/')[-1] + if '/' not in i: + used_images[i] = 1 + i = '../images/%s' % i + images += '\n' % (i,id) + mochi_images = images.replace('../images/', 'image_') + if W3CMODE: images = images.replace("../images/", "/images/") + + fonts = '' + fonthack = '' + for i in test.get('fonts', []): + fonts += '@font-face {\n font-family: %s;\n src: url("/fonts/%s.ttf");\n}\n' % (i, i) + # Browsers require the font to actually be used in the page + if test.get('fonthack', 1): + fonthack += 'A\n' % i + if fonts: + fonts = '\n' % fonts + + fallback = test.get('fallback', '

    FAIL (fallback content)

    ') + + desc = test.get('desc', '') + escaped_desc = simpleEscapeJS(desc) + template_params = { + 'name':name, 'name_wrapped':name_wrapped, 'backrefs':backref_html(name), + 'mapped_name':mapped_name, + 'desc':desc, 'escaped_desc':escaped_desc, + 'prev':prev, 'next':next, 'refs':refs, 'notes':notes, 'images':images, + 'fonts':fonts, 'fonthack':fonthack, + 'canvas':canvas, 'expected':expectation_html, 'code':code, + 'mochi_name':mochi_name, 'mochi_desc':mochi_desc, 'mochi_code':mochi_code, + 'mochi_setup':mochi_setup, 'mochi_footer':mochi_footer, 'mochi_images':mochi_images, + 'fallback':fallback + } + + if W3CMODE: + f = codecs.open('%s/%s.html' % (TESTOUTPUTDIR, mapped_name), 'w', 'utf-8') + f.write(templates['w3c'] % template_params) + else: + f = codecs.open('%s/%s.html' % (TESTOUTPUTDIR, name), 'w', 'utf-8') + f.write(templates['standalone'] % template_params) + + f = codecs.open('%s/framed.%s.html' % (TESTOUTPUTDIR, name), 'w', 'utf-8') + f.write(templates['framed'] % template_params) + + f = codecs.open('%s/minimal.%s.html' % (TESTOUTPUTDIR, name), 'w', 'utf-8') + f.write(templates['minimal'] % template_params) + + if mochitest: + mochitests.append(name) + f = codecs.open('%s/mochitests/test_%s.html' % (MISCOUTPUTDIR, name), 'w', 'utf-8') + f.write(templates['mochitest'] % template_params) + +def write_mochitest_makefile(): + f = open('%s/mochitests/Makefile.in' % MISCOUTPUTDIR, 'w') + f.write(templates['mochitest.Makefile']) + files = ['test_%s.html' % n for n in mochitests] + ['image_%s' % n for n in used_images] + chunksize = 100 + chunks = [] + for i in range(0, len(files), chunksize): + chunk = files[i:i+chunksize] + name = '_TEST_FILES_%d' % (i / chunksize) + chunks.append(name) + f.write('%s = \\\n' % name) + for file in chunk: f.write('\t%s \\\n' % file) + f.write('\t$(NULL)\n\n') + f.write('# split up into groups to work around command-line length limits\n') + for name in chunks: + f.write('libs:: $(%s)\n\t$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/tests/$(relativesrcdir)\n\n' % name) + +if not W3CMODE: + for i in used_images: + shutil.copyfile("../../images/%s" % i, "%s/mochitests/image_%s" % (MISCOUTPUTDIR, i)) + write_mochitest_makefile() + +print + +def write_index(): + f = open('%s/index.html' % TESTOUTPUTDIR, 'w') + f.write(templates['index.w3c' if W3CMODE else 'index'] % { 'updated':time.strftime('%Y-%m-%d', time.gmtime()) }) + f.write('\n
      \n') + depth = 1 + for category in category_names: + name = category[1:-1] or '' + count = len(category_contents_all[category]) + new_depth = category.count('.') + while new_depth < depth: f.write(' '*(depth-1) + '
    \n'); depth -= 1 + f.write(' '*depth + templates['index.w3c.category.item' if W3CMODE else 'index.category.item'] % (name or 'all', name, count, '' if count==1 else 's')) + while new_depth+1 > depth: f.write(' '*depth + '
      \n'); depth += 1 + for item in category_contents_direct.get(category, []): + f.write(' '*depth + '
    • %s\n' % (item, item) ) + while 0 < depth: f.write(' '*(depth-1) + '
    \n'); depth -= 1 + +def write_category_indexes(): + for category in category_names: + name = (category[1:-1] or 'all') + + f = open('%s/index.%s.html' % (TESTOUTPUTDIR, name), 'w') + f.write(templates['index.w3c.frame' if W3CMODE else 'index.frame'] % { 'backrefs':backref_html(name), 'category':name }) + for item in category_contents_all[category]: + f.write(templates['index.w3c.frame.item' if W3CMODE else 'index.frame.item'] % item) + +def write_reportgen(): + f = open('%s/reportgen.html' % MISCOUTPUTDIR, 'w') + items_text = ',\n'.join(('"%s"' % item) for item in category_contents_all['.']) + f.write(templates['reportgen'] % {'items':items_text }) + +def write_results(): + results = {} + uas = [] + uastrings = {} + for item in category_contents_all['.']: results[item] = {} + + f = open('%s/results.html' % MISCOUTPUTDIR, 'w') + f.write(templates['results']) + + if not os.path.exists('results.yaml'): + print "Can't find results.yaml" + else: + for resultset in yaml.load(open('results.yaml').read()): + #title = "%s (%s)" % (resultset['ua'], resultset['time']) + title = resultset['name'] + #assert title not in uas # don't allow repetitions + if title not in uas: + uas.append(title) + uastrings[title] = resultset['ua'] + else: + assert uastrings[title] == resultset['ua'] + for r in resultset['results']: + if r['id'] not in results: + print 'Skipping results for removed test %s' % r['id'] + continue + results[r['id']][title] = ( + r['status'].lower(), + re.sub(r'%(..)', lambda m: chr(int(m.group(1), 16)), + re.sub(r'%u(....)', lambda m: unichr(int(m.group(1), 16)), + r['notes'])).encode('utf8') + ) + + passes = {} + for ua in uas: + f.write('%s\n' % (uastrings[ua], ua)) + passes[ua] = 0 + for id in category_contents_all['.']: + f.write('# %s\n' % (id, id, id, id)) + for ua in uas: + status, details = results[id].get(ua, ('', '')) + f.write('
      %s
    \n' % (status, details)) + if status == 'pass': passes[ua] += 1 + f.write('Passes\n') + for ua in uas: + f.write('%.1f%%\n' % ((100.0 * passes[ua]) / len(category_contents_all['.']))) + f.write('\n') + for ua in uas: + f.write('%s\n' % ua) + f.write('\n') + +def getNodeText(node): + t, offsets = '', [] + + # Skip over any previous annotations we added + if node.nodeType == node.ELEMENT_NODE and 'testrefs' in node.getAttribute('class').split(' '): + return t, offsets + + if node.nodeType == node.TEXT_NODE: + val = node.nodeValue + val = val.replace(unichr(0xa0), ' ') # replace  s + t += val + offsets += [ (node, len(node.nodeValue)) ] + for n in node.childNodes: + child_t, child_offsets = getNodeText(n) + t += child_t + offsets += child_offsets + return t, offsets + +def htmlSerializer(element): + element.normalize() + rv = [] + specialtext = ['style', 'script', 'xmp', 'iframe', 'noembed', 'noframes', 'noscript'] + empty = ['area', 'base', 'basefont', 'bgsound', 'br', 'col', 'embed', 'frame', + 'hr', 'img', 'input', 'link', 'meta', 'param', 'spacer', 'wbr'] + + def serializeElement(element): + if element.nodeType == Node.DOCUMENT_TYPE_NODE: + rv.append("" % element.name) + elif element.nodeType == Node.DOCUMENT_NODE: + for child in element.childNodes: + serializeElement(child) + elif element.nodeType == Node.COMMENT_NODE: + rv.append("" % element.nodeValue) + elif element.nodeType == Node.TEXT_NODE: + unescaped = False + n = element.parentNode + while n is not None: + if n.nodeName in specialtext: + unescaped = True + break + n = n.parentNode + if unescaped: + rv.append(element.nodeValue) + else: + rv.append(escapeHTML(element.nodeValue)) + else: + rv.append("<%s" % element.nodeName) + if element.hasAttributes(): + for name, value in element.attributes.items(): + rv.append(' %s="%s"' % (name, escapeHTML(value))) + rv.append(">") + if element.nodeName not in empty: + for child in element.childNodes: + serializeElement(child) + rv.append("" % element.nodeName) + serializeElement(element) + return '\n' + ''.join(rv) + +def write_annotated_spec(): + # Load the stripped-down XHTMLised copy of the spec + doc = xml.dom.minidom.parse(open('current-work-canvas.xhtml', 'r')) + + # Insert our new stylesheet + n = doc.getElementsByTagName('head')[0].appendChild(doc.createElement('link')) + n.setAttribute('rel', 'stylesheet') + n.setAttribute('href', '../common/canvas-spec.css' if W3CMODE else '../spectest.css') + n.setAttribute('type', 'text/css') + + spec_assertion_patterns = [] + for a in spec_assertions: + # Warn about problems + if a['id'] not in spec_refs: + print "Unused spec statement %s" % a['id'] + + pattern_text = a['text'] + + if 'keyword' in a: + # Explicit keyword override + keyword = a['keyword'] + else: + # Extract the marked keywords, and remove the markers + keyword = 'none' + for kw in ['must', 'should', 'required']: + if ('*%s*' % kw) in pattern_text: + keyword = kw + pattern_text = pattern_text.replace('*%s*' % kw, kw) + break + # Make sure there wasn't >1 keyword + for kw in ['must', 'should', 'required']: + assert('*%s*' % kw not in pattern_text) + + # Convert the special pattern format into regexp syntax + pattern_text = (pattern_text. + # Escape relevant characters + replace('*', r'\*'). + replace('+', r'\+'). + replace('.', r'\.'). + replace('(', r'\('). + replace(')', r'\)'). + replace('[', r'\['). + replace(']', r'\]'). + # Convert special sequences back into unescaped regexp code + replace(' ', r'\s+'). + replace(r'<\.\.\.>', r'.+'). + replace('<^>', r'()'). + replace('', r'\s*?\n') + ) + pattern = re.compile(pattern_text, re.S) + spec_assertion_patterns.append( (a['id'], pattern, keyword, a.get('previously', None)) ) + matched_assertions = {} + + def process_element(e): + if e.nodeType == e.ELEMENT_NODE and (e.getAttribute('class') == 'impl' or e.hasAttribute('data-component')): + for c in e.childNodes: + process_element(c) + return + + t, offsets = getNodeText(e) + for id, pattern, keyword, previously in spec_assertion_patterns: + m = pattern.search(t) + if m: + # When the pattern-match isn't enough to uniquely identify a sentence, + # allow explicit back-references to earlier paragraphs + if previously: + if len(previously) >= 3: + n, text, exp = previously + else: + n, text = previously + exp = True + node = e + while n and node.previousSibling: + node = node.previousSibling + n -= 1 + if (text not in getNodeText(node)[0]) == exp: + continue # discard this match + + if id in matched_assertions: + print "Spec statement %s matches multiple places" % id + matched_assertions[id] = True + + if m.lastindex != 1: + print "Spec statement %s has incorrect number of match groups" % id + + end = m.end(1) + end_node = None + for end_node, o in offsets: + if end < o: + break + end -= o + assert(end_node) + + n1 = doc.createElement('span') + n1.setAttribute('class', 'testrefs kw-%s' % keyword) + n1.setAttribute('id', 'testrefs.%s' % id) + n1.appendChild(doc.createTextNode(' ')) + + n = n1.appendChild(doc.createElement('a')) + n.setAttribute('href', '#testrefs.%s' % id) + n.setAttribute('title', id) + n.appendChild(doc.createTextNode('#')) + + n1.appendChild(doc.createTextNode(' ')) + for test_id in spec_refs.get(id, []): + n = n1.appendChild(doc.createElement('a')) + n.setAttribute('href', '../canvas/%s.html' % test_id) + n.appendChild(doc.createTextNode(test_id)) + n1.appendChild(doc.createTextNode(' ')) + n0 = doc.createTextNode(end_node.nodeValue[:end]) + n2 = doc.createTextNode(end_node.nodeValue[end:]) + + p = end_node.parentNode + p.replaceChild(n2, end_node) + p.insertBefore(n1, n2) + p.insertBefore(n0, n1) + + t, offsets = getNodeText(e) + + for e in doc.getElementsByTagName('body')[0].childNodes: + process_element(e) + + for s in spec_assertions: + if s['id'] not in matched_assertions: + print "Annotation incomplete: Unmatched spec statement %s" % s['id'] + + # Convert from XHTML back to HTML + doc.documentElement.removeAttribute('xmlns') + doc.documentElement.setAttribute('lang', doc.documentElement.getAttribute('xml:lang')) + + head = doc.documentElement.getElementsByTagName('head')[0] + head.insertBefore(doc.createElement('meta'), head.firstChild).setAttribute('charset', 'UTF-8') + + f = codecs.open('%s/canvas.html' % SPECOUTPUTDIR, 'w', 'utf-8') + f.write(htmlSerializer(doc)) + +if not W3CMODE: + write_index() + write_category_indexes() + write_reportgen() + write_results() + write_annotated_spec() diff --git a/tests/wpt/web-platform-tests/2dcontext/tools/name2dir.yaml b/tests/wpt/web-platform-tests/2dcontext/tools/name2dir.yaml new file mode 100644 index 00000000000..6c170ce5537 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/tools/name2dir.yaml @@ -0,0 +1,45 @@ +2d.transformation: "transformations" +2d.composite: "compositing" +2d.coordinatespace: "conformance-requirements" +2d.missingargs: "conformance-requirements" +2d.type.delete: "conformance-requirements" +2d.voidreturn: "conformance-requirements" +2d.drawImage: "drawing-images-to-the-canvas" +2d.clearRect: "drawing-rectangles-to-the-canvas" +2d.fillRect: "drawing-rectangles-to-the-canvas" +2d.strokeRect: "drawing-rectangles-to-the-canvas" +2d.text.draw: "drawing-text-to-the-canvas" +2d.text.draw.baseline.alphabetic: "drawing-text-to-the-canvas" +2d.text.draw.space.basic: "drawing-text-to-the-canvas" +2d.text.draw.space.collapse: "drawing-text-to-the-canvas" +2d.text.measure: "drawing-text-to-the-canvas" +2d.fillStyle: "fill-and-stroke-styles" +2d.gradient: "fill-and-stroke-styles" +2d.pattern: "fill-and-stroke-styles" +2d.strokeStyle: "fill-and-stroke-styles" +2d.line: "line-styles" +2d.path: "path-objects" +2d.imageData: "pixel-manipulation" +2d.shadow: "shadows" +2d.text.align: "text-styles" +2d.text.baseline: "text-styles" +2d.text.font: "text-styles" +2d.text.draw.baseline: "text-styles" +2d.text.draw.space: "text-styles" +2d.text.measure.width.space: "text-styles" +2d.text.draw.space.collapse.end: "text-styles" +2d.text.draw.space.collapse.other: "text-styles" +2d.text.draw.space.collapse.space: "text-styles" +2d.text.draw.space.collapse.start: "text-styles" +2d.state: "the-canvas-state" +2d.canvas: "../html/semantics/embedded-content/the-canvas-element/" +2d.getcontext: "../html/semantics/embedded-content/the-canvas-element/" +2d.scaled: "../html/semantics/embedded-content/the-canvas-element/" +2d.type: "../html/semantics/embedded-content/the-canvas-element/" +context: "../html/semantics/embedded-content/the-canvas-element/" +fallback: "../html/semantics/embedded-content/the-canvas-element/" +initial: "../html/semantics/embedded-content/the-canvas-element/" +security: "../html/semantics/embedded-content/the-canvas-element/" +size: "../html/semantics/embedded-content/the-canvas-element/" +toDataURL: "../html/semantics/embedded-content/the-canvas-element/" +type: "../html/semantics/embedded-content/the-canvas-element/" diff --git a/tests/wpt/web-platform-tests/2dcontext/tools/spec.yaml b/tests/wpt/web-platform-tests/2dcontext/tools/spec.yaml new file mode 100644 index 00000000000..12b7d6be990 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/tools/spec.yaml @@ -0,0 +1,717 @@ +# Extracts from http://www.whatwg.org/specs/web-apps/current-work/ +# +# (c) Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera Software ASA. +# You are granted a license to use, reproduce and create derivative works of this document. + +assertions: + - id: canvas.type + text: "interface HTMLCanvasElement<^> : HTMLElement {" + - id: size.width + text: "interface HTMLCanvasElement<...>attribute unsigned long width;<^>" + - id: size.height + text: "interface HTMLCanvasElement<...>attribute unsigned long height;<^>" + - id: canvas.getContext + text: "interface HTMLCanvasElement<...>object\\? getContext(in DOMString contextId, in any... args);<^>" + - id: fallback + text: "The contents of the canvas element, if any, are the element's fallback content<^>." + - id: size.nonnegativeinteger + text: "The rules for parsing non-negative integers *must* be used to obtain their numeric values<^>." + - id: size.missing + text: "If an attribute is missing<^>, <...> then the default value *must* be used instead." + - id: size.error + text: "if parsing its value returns an error<^>, then the default value *must* be used instead." + - id: size.default + text: "The width attribute defaults to 300, and the height attribute defaults to 150<^>." + - id: size.css + text: "the element can be sized arbitrarily by a style sheet. During rendering, the image is scaled to fit this layout size<^>." + - id: initial.reset + text: "When the canvas element is created, and subsequently whenever the width and height attributes are set (whether to a new value or to the previous value), the bitmap and any associated contexts *must* be cleared back to their initial state <...><^>." + - id: initial.colour + text: "When the canvas is initialized, its bitmap *must* be cleared to transparent black<^>." + - id: size.reflect + text: "The width and height IDL attributes *must* reflect the respective content attributes of the same name<^>," + + - id: context.unrecognised + text: "If contextId is not the name of a context supported by the user agent, return null and abort these steps<^>." + - id: context.unique + text: "If the getContext() method has already been invoked on this element for the same contextId, return the same object as was returned that time, and abort these steps<^>." + - id: context.2d + text: "When the getContext() method of a canvas element is to return a new object for the contextId 2d, the user agent *must* return a new CanvasRenderingContext2D object<^>." + - id: context.2d.extraargs + text: "When the getContext() method of a canvas element is to return a new object for the contextId 2d, the user agent *must* return a new CanvasRenderingContext2D object. Any additional arguments are ignored<^>." + + - id: toDataURL.noarguments + text: "When a user agent is to create a serialization of the image as a file, <...> if there are no arguments, in the PNG format<^>." + - id: toDataURL.zerosize + text: "If the canvas has no pixels (i.e. either its horizontal dimension or its vertical dimension is zero) then return the string \"data:,\"<^> and abort these steps." + - id: toDataURL.witharguments + text: "If arguments is not empty, the first value must be interpreted as a MIME type giving the format to use<^>." + - id: toDataURL.noalpha + text: "For image types that do not support an alpha channel, the serialized image *must* be the canvas image composited onto a solid black background using the source-over operator<^>." + - id: toDataURL.png + text: "User agents *must* support PNG (\"image/png\")<^>." + - id: toDataURL.unrecognised + text: "If the user agent does not support the requested type, it *must* create the file using the PNG format<^>." + - id: toDataURL.lowercase + text: "User agents *must* convert the provided type to ASCII lowercase before establishing if they support that type<^>." + - id: toDataURL.jpeg + previously: [ 0, "image/png", false ] + text: "image/jpeg<^>" + - id: toDataURL.jpeg.quality + text: "The second argument, if it is a number in the range 0.0 to 1.0 inclusive, *must* be treated as the desired quality level<^>." + - id: toDataURL.jpeg.nan + text: "If it is not a number<^> <...>, the user agent *must* use its default value, as if the argument had been omitted." + - id: toDataURL.jpeg.range + text: "If it is <...> outside that range<^>, the user agent *must* use its default value, as if the argument had been omitted." + - id: toDataURL.arguments + text: "Other arguments *must* be ignored and must not cause the user agent to raise an exception<^>." + + - id: 2d.coordinatespace + text: "flat Cartesian surface whose origin (0,0) is at the top left corner, with the coordinate space having x values increasing when going right, and y values increasing when going down<^>." + - id: context.2d.type + text: "interface CanvasRenderingContext2D<^> {" + - id: 2d.canvasGradient.type + text: "interface CanvasGradient<^> {" + - id: 2d.imageData.type + text: "interface ImageData<^> {" + - id: 2d.canvas.attribute + text: "readonly<^> attribute HTMLCanvasElement canvas;" + - id: 2d.canvas + text: "The canvas attribute *must* return the canvas element that the context paints on<^>." + - id: 2d.nonfinite + text: "Except where otherwise specified, for the 2D context interface, any method call with a numeric argument whose value is infinite or a NaN value *must* be ignored<^>." + + - id: 2d.currentColor.onset + text: "Whenever the CSS value currentColor is used as a color in this API, the \"computed value of the 'color' property\" for the purposes of determining the computed value of the currentColor keyword is the computed value of the 'color' property on the element in question at the time that the color is specified<^>" + - id: 2d.currentColor.outofdoc + text: "If the computed value of the 'color' property is undefined for a particular case (e.g. because the element is not in a Document), then the \"computed value of the 'color' property\" for the purposes of determining the computed value of the currentColor keyword is fully opaque black<^>." + - id: 2d.currentColor.gradient + text: "In the case of addColorStop() on CanvasGradient, the \"computed value of the 'color' property\" for the purposes of determining the computed value of the currentColor keyword is always fully opaque black<^> (there is no associated element)." + + - id: 2d.state.transformation + text: "The current transformation matrix<^>." + - id: 2d.state.clip + text: "The current clipping region<^>." + - meta: | + for s in [ + 'strokeStyle', 'fillStyle', 'globalAlpha', + 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', + 'shadowOffsetX', 'shadowOffsetY', 'shadowBlur', 'shadowColor', + 'globalCompositeOperation', + 'font', 'textAlign', 'textBaseline' + ]: + assertions.append( { + 'id': '2d.state.%s' % s, + 'text': 'The current values of the following attributes:<...>%s<^>' % s + } ) + - id: 2d.state.path + text: "The current path<^> <...> are not part of the drawing state." + - id: 2d.state.bitmap + text: "The <...> current bitmap<^> are not part of the drawing state." + + - id: 2d.state.save + text: "The save() method *must* push a copy of the current drawing state onto the drawing state stack<^>." + - id: 2d.state.restore + text: "The restore() method *must* pop the top entry in the drawing state stack, and reset the drawing state it describes<^>." + - id: 2d.state.restore.underflow + text: "If there is no saved state, the method *must* do nothing<^>." + + - id: 2d.transformation.initial + text: "When the context is created, the transformation matrix *must* initially be the identity transform<^>." + - id: 2d.transformation.order + text: "The transformations *must* be performed in reverse order<^>." + - id: 2d.transformation.scale + text: "The scale(x, y) method *must* add the scaling transformation described by the arguments to the transformation matrix<^>." + - id: 2d.transformation.scale.multiple + text: "The factors are multiples<^>." + - id: 2d.transformation.rotate + text: "The rotate(angle) method *must* add the rotation transformation described by the argument to the transformation matrix<^>." + - id: 2d.transformation.rotate.direction + text: "The angle argument represents a clockwise rotation angle<^>" + - id: 2d.transformation.rotate.radians + text: "The angle argument <...> expressed in radians<^>." + - id: 2d.transformation.translate + text: "The translate(x, y) method *must* add the translation transformation described by the arguments to the transformation matrix<^>." + - id: 2d.transformation.transform + text: "The transform(a, b, c, d, e, f) method *must* replace the current transformation matrix with the result of multiplying the current transformation matrix with the matrix described by<^>:" + - id: 2d.transformation.transform.multiply + text: "The transform(a, b, c, d, e, f) method *must* replace the current transformation matrix with the result of multiplying<^> the current transformation matrix with the matrix described by:" + - id: 2d.transformation.setTransform + text: "The setTransform(a, b, c, d, e, f) method *must* <...> invoke the transform(a, b, c, d, e, f) method with the same arguments<^>" + - id: 2d.transformation.setTransform.identity + text: "The setTransform(a, b, c, d, e, f) method *must* reset the current transform to the identity matrix<^>, " + + + - id: 2d.composite.operation + text: "All drawing operations are affected by the global compositing attributes, globalAlpha and globalCompositeOperation<^>." + + - id: 2d.composite.globalAlpha.shape + text: "The globalAlpha attribute gives an alpha value that is applied to shapes<^> and images before they are composited onto the canvas." + - id: 2d.composite.globalAlpha.image + text: "The globalAlpha attribute gives an alpha value that is applied to shapes and images<^> before they are composited onto the canvas." + - id: 2d.composite.globalAlpha.range + text: "The value must be in the range from 0.0 (fully transparent) to 1.0 (no additional transparency). If an attempt is made to set the attribute to a value outside this range, including Infinity and Not-a-Number (NaN) values, the attribute *must* retain its previous value<^>." + - id: 2d.composite.globalAlpha.default + text: "When the context is created, the globalAlpha attribute *must* initially have the value 1.0<^>." + + - id: 2d.composite.operation.shape + text: "The globalCompositeOperation attribute sets how shapes<^> and images are drawn onto the existing bitmap," + - id: 2d.composite.operation.image + text: "The globalCompositeOperation attribute sets how shapes and images<^> are drawn onto the existing bitmap," + + - id: 2d.composite.source-atop + text: "source-atop<^>" + - id: 2d.composite.source-in + text: "source-in<^>" + - id: 2d.composite.source-out + text: "source-out<^>" + - id: 2d.composite.source-over + text: "source-over (default)<^>" + - id: 2d.composite.destination-atop + text: "destination-atop<^>" + - id: 2d.composite.destination-in + text: "destination-in<^>" + - id: 2d.composite.destination-out + text: "destination-out<^>" + - id: 2d.composite.destination-over + text: "destination-over<^>" + - id: 2d.composite.lighter + text: "lighter<^>" + - id: 2d.composite.copy + text: "copy<^>" + - id: 2d.composite.xor + text: "xor<^>" + + - id: 2d.composite.operation.casesensitive + text: "These values are all case-sensitive<^> <...> they *must* be used exactly as shown." + - id: 2d.composite.operation.exact + text: "User agents *must* not recognize values that are not a case-sensitive match for one of the values given above<^>." + - id: 2d.composite.operation.porterduff + text: "The operators in the above list *must* be treated as described by the Porter-Duff operator given at the start of their description (e.g. A over B)<^>." + - id: 2d.composite.operation.unrecognised + text: "On setting, if the user agent does not recognize the specified value, it *must* be ignored, leaving the value of globalCompositeOperation unaffected<^>." + - id: 2d.composite.operation.default + text: "When the context is created, the globalCompositeOperation attribute *must* initially have the value source-over<^>." + + + - id: 2d.colours.parse + text: "On setting, strings *must* be parsed as CSS values and the color assigned<^>," + - id: 2d.gradient.assign + text: "On setting, <...> CanvasGradient<^> and CanvasPattern objects *must* be assigned themselves." + - id: 2d.pattern.assign + text: "On setting, <...> CanvasGradient and CanvasPattern<^> objects *must* be assigned themselves." + - id: 2d.colours.invalidstring + text: "If the value is a string but cannot be parsed as a CSS value<^>, <...> then it *must* be ignored, and the attribute must retain its previous value." + - id: 2d.colours.invalidtype + text: "If the value is <...> neither a string, a CanvasGradient, nor a CanvasPattern<^>, then it *must* be ignored, and the attribute must retain its previous value." + - id: 2d.colours.getcolour + text: "On getting, if the value is a color, then the serialization of the color *must* be returned<^>." + - id: 2d.gradient.object + text: "if it is not a color but a CanvasGradient<^> or CanvasPattern, then the respective object *must* be returned." + - id: 2d.pattern.object + text: "if it is not a color but a CanvasGradient or CanvasPattern<^>, then the respective object *must* be returned." + - id: 2d.serializecolour.solid + text: "if it has alpha equal to 1.0, then the string is a lowercase six-digit hex value<^>" + - id: 2d.serializecolour.transparent + text: "Otherwise, the color value has alpha less than 1.0, and the string is the color value in the CSS rgba() functional-notation format<^>:" + - id: 2d.colours.default + text: "When the context is created, the strokeStyle and fillStyle attributes *must* initially have the string value #000000<^>." + + - id: 2d.gradient.interpolate.linear + text: "Between each such stop, the colors and the alpha component *must* be linearly interpolated<^> over the RGBA space without premultiplying the alpha value to find the color to use at that offset." + - id: 2d.gradient.interpolate.alpha + text: "Between each such stop, the colors and the alpha component *must* be linearly interpolated over the RGBA space without premultiplying the alpha value<^> to find the color to use at that offset." + - id: 2d.gradient.outside.first + text: "Before the first stop, the color *must* be the color of the first stop<^>." + - id: 2d.gradient.outside.last + text: "After the last stop, the color *must* be the color of the last stop<^>." + - id: 2d.gradient.empty + text: "When there are no stops, the gradient is transparent black<^>." + + + - id: 2d.gradient.invalidoffset + text: "If the offset is less than 0, greater than 1, infinite, or NaN, then an INDEX_SIZE_ERR exception *must* be raised<^>." + - id: 2d.gradient.invalidcolour + text: "If the color cannot be parsed as a CSS value, then a SYNTAX_ERR exception *must* be raised<^>." + - id: 2d.gradient.update + text: "Otherwise, the gradient *must* have a new stop placed, at offset offset relative to the whole gradient, and with the color obtained by parsing color as a CSS value<^>." + - id: 2d.gradient.interpolate.overlap + text: "If multiple stops are added at the same offset on a gradient, they *must* be placed in the order added, with the first one closest to the start of the gradient, <...><^>." + + - id: 2d.gradient.linear.nonfinite + text: "If any of the arguments to createLinearGradient() are infinite or NaN, the method *must* raise a NOT_SUPPORTED_ERR exception<^>." + - id: 2d.gradient.linear.return + text: "Otherwise, the method *must* return a linear CanvasGradient initialized with the specified line<^>." + - id: 2d.gradient.linear.rendering + text: "Linear gradients *must* be rendered such that all points on a line perpendicular to the line that crosses the start and end points have the color at the point where those two lines cross (with the colors coming from the interpolation and extrapolation described above)<^>." + - id: 2d.gradient.linear.transform + text: "The points in the linear gradient *must* be transformed as described by the current transformation matrix when rendering<^>." + - id: 2d.gradient.linear.zerosize + text: "If x0 = x1 and y0 = y1, then the linear gradient *must* paint nothing<^>." + + - id: 2d.gradient.radial.nonfinite + text: "If any of the arguments are infinite or NaN, a NOT_SUPPORTED_ERR exception *must* be raised<^>." + - id: 2d.gradient.radial.negative + text: "If either of r0 or r1 are negative, an INDEX_SIZE_ERR exception *must* be raised<^>." + - id: 2d.gradient.radial.return + text: "Otherwise, the method *must* return a radial CanvasGradient initialized with the two specified circles<^>." + - id: 2d.gradient.radial.rendering + text: "Radial gradients *must* be rendered by following these steps<^>:" + - id: 2d.gradient.radial.equal + text: "If x0 = x1 and y0 = y1 and r0 = r1, then the radial gradient *must* paint nothing<^>." + - id: 2d.gradient.extent + text: "Gradients *must* be painted only where the relevant stroking or filling effects requires that they be drawn<^>." + - id: 2d.gradient.radial.transform + text: "The points in the radial gradient *must* be transformed as described by the current transformation matrix when rendering<^>." + + + - id: 2d.pattern.modify + text: "Modifying this image after calling the createPattern() method *must* not affect the pattern<^>." + - id: 2d.pattern.missing + text: "If the empty string is specified, repeat *must* be assumed<^>." + - id: 2d.pattern.unrecognised + text: "If an unrecognized value is given, then the user agent *must* raise a SYNTAX_ERR exception<^>." + - id: 2d.pattern.exact + text: "User agents *must* recognize the four values described above exactly (e.g. they must not do case folding)<^>." + - id: 2d.pattern.return + text: "the method *must* return a CanvasPattern object suitably initialized<^>." + - id: 2d.pattern.IDL + text: "CanvasPattern createPattern(in HTMLImageElement image, in DOMString repetition);<...>CanvasPattern createPattern(in HTMLCanvasElement image, in DOMString repetition);<...>CanvasPattern createPattern(in HTMLVideoElement image, in DOMString repetition);<^>" + - id: 2d.pattern.incomplete.image + text: "If the image argument is an HTMLImageElement object that is not fully decodable<^><...> then the implementation *must* return null." + - id: 2d.pattern.incomplete.video + previously: [ 6, "createPattern" ] + text: "If the image argument is <...> an HTMLVideoElement object whose readyState attribute is either HAVE_NOTHING or HAVE_METADATA<^>, then the implementation *must* return null." + - id: 2d.pattern.zerocanvas + previously: [ 10, "createPattern" ] + text: "If the image argument is an HTMLCanvasElement object with either a horizontal dimension or a vertical dimension equal to zero, then the implementation *must* raise an INVALID_STATE_ERR exception<^>." + - id: 2d.pattern.painting + text: "Patterns *must* be painted so that the top left of the first image is anchored at the origin of the coordinate space, and images are then repeated horizontally to the left and right (if the repeat-x string was specified) or vertically up and down (if the repeat-y string was specified) or in all four directions all over the canvas (if the repeat string was specified)<^>." + - id: 2d.pattern.unscaled + text: "The images are not scaled by this process; one CSS pixel of the image *must* be painted on one coordinate space unit<^>." + - id: 2d.pattern.extent + text: "patterns *must* actually be painted only where the stroking or filling effect requires that they be drawn<^>, and are affected by the current transformation matrix." + - id: 2d.pattern.animated.image + text: "When the createPattern() method is passed an animated image as its image argument, the user agent must use the poster frame of the animation, or, if there is no poster frame, the first frame of the animation<^>." + - id: 2d.pattern.animated.video + previously: [ 4, "createPattern" ] + text: "When the image argument is an HTMLVideoElement, then the frame at the current playback position *must* be used as the source image<^>," + - id: 2d.pattern.video.size + previously: [ 4, "createPattern" ] + text: "When the image argument is an HTMLVideoElement, <...> the source image's dimensions *must* be the intrinsic width and intrinsic height of the media resource (i.e. after any aspect-ratio correction has been applied)<^>." + + + - id: 2d.lineWidth + text: "The lineWidth attribute gives the width of lines, in coordinate space units<^>." + - id: 2d.lineWidth.get + text: "The lineWidth attribute <...>. On getting, it *must* return the current value<^>." + - id: 2d.lineWidth.invalid + text: "The lineWidth attribute <...>. On setting, zero, negative, infinite, and NaN values *must* be ignored, leaving the value unchanged<^>;" + - id: 2d.lineWidth.set + text: "The lineWidth attribute <...>. On setting, <...> other values *must* change the current value to the new value<^>." + - id: 2d.lineWidth.default + text: "the lineWidth attribute *must* initially have the value 1.0<^>." + - id: 2d.lineCap.end + text: "The lineCap attribute defines the type of endings that UAs will place on the end of lines<^>." + - id: 2d.lineCap.butt + text: "The butt value means that the end of each line has a flat edge perpendicular to the direction of the line (and that no additional line cap is added)<^>." + - id: 2d.lineCap.round + text: "The round value means that a semi-circle with the diameter equal to the width of the line *must* then be added on to the end of the line<^>." + - id: 2d.lineCap.square + text: "The square value means that a rectangle with the length of the line width and the width of half the line width, placed flat against the edge perpendicular to the direction of the line, *must* be added at the end of each line<^>." + - id: 2d.lineCap.get + previously: [ 2, "The lineCap attribute" ] + text: "On getting, it *must* return the current value<^>." + - id: 2d.lineCap.set + text: "On setting, if the new value is one of the literal strings butt, round, and square, then the current value *must* be changed to the new value<^>;" + - id: 2d.lineCap.invalid + text: "On setting, if the new value is one of the literal strings butt, round, and square, then <...>; other values *must* ignored, leaving the value unchanged<^>." + - id: 2d.lineCap.default + text: "When the context is created, the lineCap attribute *must* initially have the value butt<^>." + - id: 2d.lineJoin.get + previously: [ 2, "lineJoin" ] + text: "On getting, it *must* return the current value<^>." + - id: 2d.lineJoin.set + text: "On setting, if the new value is one of the literal strings bevel, round, and miter, then the current value *must* be changed to the new value<^>;" + - id: 2d.lineJoin.invalid + text: "On setting, if the new value is one of the literal strings bevel, round, and miter, then <...>; other values *must* be ignored, leaving the value unchanged<^>." + - id: 2d.lineJoin.default + text: "When the context is created, the lineJoin attribute *must* initially have the value miter<^>." + - id: 2d.lineJoin.joins + text: "A join exists at any point in a subpath shared by two consecutive lines<^>." + - id: 2d.lineJoin.joinclosed + text: "When a subpath is closed, then a join also exists at its first point (equivalent to its last point) connecting the first and last lines in the subpath<^>." + - id: 2d.lineJoin.common + text: "A filled triangle connecting these two opposite corners with a straight line, with the third point of the triangle being the join point, *must* be rendered at all joins<^>." + - id: 2d.lineJoin.round + text: "The round value means that a filled arc connecting the two aforementioned corners of the join, abutting (and not overlapping) the aforementioned triangle, with the diameter equal to the line width and the origin at the point of the join, *must* be rendered at joins<^>." + - id: 2d.lineJoin.bevel + text: "The bevel value means that this is all that is rendered at joins<^>." + - id: 2d.lineJoin.miter + text: "The miter value means that a second filled triangle *must* (if it can given the miter length) be rendered at the join, with one line being the line between the two aforementioned corners, abutting the first triangle, and the other two being continuations of the outside edges of the two joining lines, as long as required to intersect without going over the miter length<^>." + - id: 2d.lineJoin.miterLimit + text: "If the miter length would cause the miter limit ratio to be exceeded, this second triangle *must* not be rendered<^>." + - id: 2d.miterLimit.get + text: "The miter limit <...>. On getting, it *must* return the current value<^>." + - id: 2d.miterLimit.invalid + text: "The miter limit <...>. On setting, zero, negative, infinite, and NaN values *must* be ignored, leaving the value unchanged<^>;" + - id: 2d.miterLimit.set + text: "The miter limit <...>. On setting, <...>; other values *must* change the current value to the new value<^>." + - id: 2d.miterLimit.default + text: "When the context is created, the miterLimit attribute *must* initially have the value 10.0<^>." + + + - id: 2d.shadow.color.initial + text: "When the context is created, the shadowColor attribute initially *must* be fully-transparent black<^>." + - id: 2d.shadow.color.get + text: "On getting, the serialization of the color *must* be returned<^>." + - id: 2d.shadow.color.set + text: "On setting, the new value *must* be parsed as a CSS value and the color assigned<^>." + - id: 2d.shadow.color.invalid + text: "If the value cannot be parsed as a CSS value then it *must* be ignored, and the attribute must retain its previous value<^>." + - id: 2d.shadow.offset.initial + text: "When the context is created, the shadow offset attributes *must* initially have the value 0<^>." + - id: 2d.shadow.offset.get + text: "On getting, they *must* return their current value<^>." + - id: 2d.shadow.offset.set + text: "On setting, the attribute being set *must* be set to the new value<^>," + - id: 2d.shadow.offset.invalid + text: "On setting, <...> if the value is infinite or NaN, in which case the new value *must* be ignored<^>." + - id: 2d.shadow.blur.initial + text: "When the context is created, the shadowBlur attribute *must* initially have the value 0<^>." + - id: 2d.shadow.blur.get + text: "On getting, the attribute *must* return its current value<^>." + - id: 2d.shadow.blur.set + text: "On setting the attribute *must* be set to the new value<^>," + - id: 2d.shadow.blur.invalid + text: "On setting <...> if the value is negative, infinite or NaN, in which case the new value *must* be ignored<^>." + - id: 2d.shadow.enable + text: "Shadows are only drawn if the opacity component of the alpha component of the color of shadowColor is non-zero and either the shadowBlur is non-zero, or the shadowOffsetX is non-zero, or the shadowOffsetY is non-zero<^>." + - id: 2d.shadow.render + text: "When shadows are drawn, they *must* be rendered as follows<^>:" + + - id: 2d.rect.transform + text: "The current transformation matrix *must* be applied to the following four coordinates<^>," + - id: 2d.rect.closed + text: "the following four coordinates, which form the path that *must* then be closed to get the specified rectangle<^>:" + - id: 2d.clearRect + text: "The clearRect(x, y, w, h) method *must* clear the pixels in the specified rectangle that also intersect the current clipping region to a fully transparent black, erasing any previous image<^>." + - id: 2d.fillRect + text: "The fillRect(x, y, w, h) method *must* paint the specified rectangular area using the fillStyle<^>." + - id: 2d.strokeRect + text: "The strokeRect(x, y, w, h) method *must* stroke the specified rectangle's path using the strokeStyle, lineWidth, lineJoin, and (if appropriate) miterLimit attributes<^>." + + + - id: 2d.path.initial + text: "Initially, the context's path *must* have zero subpaths<^>." + - id: 2d.path.transformation + text: "The points and lines added to the path by these methods *must* be transformed according to the current transformation matrix as they are added<^>." + - id: 2d.path.beginPath + text: "The beginPath() method *must* empty the list of subpaths so that the context once again has zero subpaths<^>." + - id: 2d.path.moveTo + text: "The moveTo(x, y) method *must* create a new subpath with the specified point as its first (and only) point<^>." + - id: 2d.path.ensure + text: "When the user agent is to ensure there is a subpath for a coordinate (x, y), the user agent must check to see if the context has any subpaths, and if it does not, then the user agent *must* create a new subpath with the point (x, y) as its first (and only) point, as if the moveTo() method had been called<^>." + - id: 2d.path.closePath.empty + text: "The closePath() method *must* do nothing if the context has no subpaths<^>." + - id: 2d.path.closePath.nonempty + text: "The closePath() method <...> *must* mark the last subpath as closed, create a new subpath whose first point is the same as the previous subpath's first point, and finally add this new subpath to the path<^>." + - id: 2d.path.lineTo.empty + text: "The lineTo(x, y) method *must* ensure there is a subpath for (x, y) if the context has no subpaths<^>." + - id: 2d.path.lineTo.nonempty + text: "The lineTo(x, y) method <...> *must* connect the last point in the subpath to the given point (x, y) using a straight line, and must then add the given point (x, y) to the subpath<^>." + - id: 2d.path.quadratic.empty + text: "The quadraticCurveTo(cpx, cpy, x, y) method *must* ensure there is a subpath for (cpx, cpy)<^>," + - id: 2d.path.quadratic.nonempty + text: "The quadraticCurveTo(cpx, cpy, x, y) method <...> *must* connect the last point in the subpath to the given point (x, y) using a quadratic B<...>zier curve with control point (cpx, cpy), and must then add the given point (x, y) to the subpath<^>." + - id: 2d.path.bezier.empty + text: "The bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) method *must* ensure there is a subpath for (cp1x, cp1y)<^>," + - id: 2d.path.bezier.nonempty + text: "The bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) method <...> *must* connect the last point in the subpath to the given point (x, y) using a cubic B<...>zier curve with control points (cp1x, cp1y) and (cp2x, cp2y). Then, it must add the point (x, y) to the subpath<^>." + - id: 2d.path.arcTo.empty + text: "The arcTo(x1, y1, x2, y2, radius) method *must* first ensure there is a subpath for (x1, y1)<^>." + - id: 2d.path.arcTo.negative + previously: [ 2, "arcTo(" ] + text: "Negative values for radius *must* cause the implementation to raise an INDEX_SIZE_ERR exception<^>." + - id: 2d.path.arcTo.coincide.01 + text: "If the point (x0, y0) is equal to the point (x1, y1)<^>, or if the point (x1, y1) is equal to the point (x2, y2), or if the radius radius is zero, then the method *must* add the point (x1, y1) to the subpath, and connect that point to the previous point (x0, y0) by a straight line." + - id: 2d.path.arcTo.coincide.12 + text: "If the point (x0, y0) is equal to the point (x1, y1), or if the point (x1, y1) is equal to the point (x2, y2)<^>, or if the radius radius is zero, then the method *must* add the point (x1, y1) to the subpath, and connect that point to the previous point (x0, y0) by a straight line." + - id: 2d.path.arcTo.zeroradius + text: "If the point (x0, y0) is equal to the point (x1, y1), or if the point (x1, y1) is equal to the point (x2, y2), or if the radius radius is zero<^>, then the method *must* add the point (x1, y1) to the subpath, and connect that point to the previous point (x0, y0) by a straight line." + - id: 2d.path.arcTo.collinear + text: "if the points (x0, y0), (x1, y1), and (x2, y2) all lie on a single straight line, then the method *must* add the point (x1, y1) to the subpath, and connect that point to the previous point (x0, y0) by a straight line<^>." + - id: 2d.path.arcTo.shape + text: "The method *must* connect the point (x0, y0) to the start tangent point by a straight line, adding the start tangent point to the subpath, and then must connect the start tangent point to the end tangent point by The Arc, adding the end tangent point to the subpath<^>." + + - id: 2d.path.arc.nonempty + text: "If the context has any subpaths, then the method *must* add a straight line from the last point in the subpath to the start point of the arc<^>." + - id: 2d.path.arc.draw + text: "it *must* draw the arc between the start point of the arc and the end point of the arc, and add the start and end points of the arc to the subpath<^>." + - id: 2d.path.arc.zero + text: "If the two points are the same, or if the radius is zero<^>, then the arc is defined as being of zero length in both directions." + - id: 2d.path.arc.negative + previously: [ 2, "anticlockwise" ] + text: "Negative values for radius *must* cause the implementation to raise an INDEX_SIZE_ERR exception<^>." + + - id: 2d.path.rect.subpath + text: "The rect(x, y, w, h) method *must* create a new subpath containing just the four points (x, y), (x+w, y), (x+w, y+h), (x, y+h), with those four points connected by straight lines<^>" + - id: 2d.path.rect.closed + text: "The rect(x, y, w, h) method <...> *must* then mark the subpath as closed<^>." + - id: 2d.path.rect.newsubpath + text: "The rect(x, y, w, h) method <...> *must* then create a new subpath with the point (x, y) as the only point in the subpath<^>." + + - id: 2d.path.fill.basic + text: "The fill() method *must* fill all the subpaths of the current path, using fillStyle, and using the non-zero winding number rule<^>." + - id: 2d.path.fill.closed + text: "Open subpaths *must* be implicitly closed when being filled (without affecting the actual subpaths)<^>." + - id: 2d.path.stroke.basic + text: "The stroke() method *must* calculate the strokes of all the subpaths of the current path, using the lineWidth, lineCap, lineJoin, and (if appropriate) miterLimit attributes, and then fill the combined stroke area using the strokeStyle attribute<^>." + - id: 2d.path.unaffected + text: "Paths, when filled or stroked, *must* be painted without affecting the current path<^>" + - id: 2d.path.subjected + text: "Paths, when filled or stroked, <...> *must* be subject to shadow effects, global alpha, the clipping region, and global composition operators<^>." + + - id: 2d.path.stroke.prune + text: "Zero-length line segments *must* be pruned before stroking a path<^>." + - id: 2d.path.stroke.empty + text: "Empty subpaths *must* be ignored<^>." + + - id: 2d.path.clip.basic + text: "The clip() method *must* create a new clipping region by calculating the intersection of the current clipping region and the area described by the current path, using the non-zero winding number rule<^>." + - id: 2d.path.clip.closed + text: "Open subpaths *must* be implicitly closed when computing the clipping region, without affecting the actual subpaths<^>." + - id: 2d.path.clip.initial + text: "When the context is initialized, the clipping region *must* be set to the rectangle with the top left corner at (0,0) and the width and height of the coordinate space<^>." + - id: 2d.path.isPointInPath + text: "The isPointInPath(x, y) method *must* return true if the point given by the x and y coordinates passed to the method, when treated as coordinates in the canvas coordinate space unaffected by the current transformation, is inside the current path as determined by the non-zero winding number rule; and must return false otherwise<^>." + - id: 2d.path.isPointInPath.edge + text: "The isPointInPath(x, y) method *must* return true if <...>. Points on the path itself are considered to be inside the path<^>." + - id: 2d.path.isPointInPath.nonfinite + text: "If either of the arguments is infinite or NaN, then the method *must* return false<^>." + + # TODO: Focus management + + - id: 2d.text.font.parse + text: "The font IDL attribute, on setting, *must* be parsed the same way as the 'font' property of CSS (but without supporting property-independent style sheet syntax like 'inherit')<^>," + - id: 2d.text.font.lineheight + text: "The font IDL attribute, on setting, *must* be parsed <...> with the 'line-height' component forced to 'normal'<^>," + - id: 2d.text.font.fontsize + text: "The font IDL attribute, on setting, *must* be parsed <...> with the 'font-size' component converted to CSS pixels<^>," + - id: 2d.text.font.systemfonts + text: "The font IDL attribute, on setting, *must* be parsed <...> with system fonts being computed to explicit values<^>." + - id: 2d.text.font.invalid + text: "If the new value is syntactically incorrect (including using property-independent style sheet syntax like 'inherit' or 'initial'), then it *must* be ignored, without assigning a new font value<^>." + + - id: 2d.text.font.fontface + text: "Font names must be interpreted in the context of the canvas element's stylesheets; any fonts embedded using @font-face *must* therefore be available once they are loaded<^>." + - id: 2d.text.font.notfullyloaded + text: "If a font is referenced before it is fully loaded, then it *must* be treated as if it was an unknown font, falling back to another as described by the relevant CSS specifications<^>." + - id: 2d.text.font.get + text: "On getting, the font attribute *must* return the serialized form of the current font of the context (with no 'line-height' component)<^>." + - id: 2d.text.font.default + text: "When the context is created, the font of the context *must* be set to 10px sans-serif<^>." + - id: 2d.text.font.size + text: "When the 'font-size' component is set to lengths using percentages, 'em' or 'ex' units, or the 'larger' or 'smaller' keywords, these *must* be interpreted relative to the computed value of the 'font-size' property of the corresponding canvas element at the time that the attribute is set<^>." + - id: 2d.text.font.weight + text: "When the 'font-weight' component is set to the relative values 'bolder' and 'lighter', these *must* be interpreted relative to the computed value of the 'font-weight' property of the corresponding canvas element at the time that the attribute is set<^>." + - id: 2d.text.font.undefined + text: "If the computed values are undefined for a particular case (e.g. because the canvas element is not in a Document), then the relative keywords *must* be interpreted relative to the normal-weight 10px sans-serif default<^>." + - id: 2d.text.align.get + text: "The textAlign IDL attribute, on getting, *must* return the current value<^>." + - id: 2d.text.align.set + text: "On setting, if the value is one of start, end, left, right, or center, then the value *must* be changed to the new value<^>." + - id: 2d.text.align.invalid + text: "The textAlign IDL attribute, <...> Otherwise, the new value *must* be ignored<^>." + - id: 2d.text.align.default + text: "When the context is created, the textAlign attribute *must* initially have the value start<^>." + - id: 2d.text.baseline.get + text: "The textBaseline IDL attribute, on getting, *must* return the current value<^>." + - id: 2d.text.baseline.set + text: "On setting, if the value is one of top, hanging, middle, alphabetic, ideographic, or bottom, then the value *must* be changed to the new value<^>." + - id: 2d.text.baseline.invalid + text: "The textBaseline IDL attribute, <...> Otherwise, the new value *must* be ignored<^>." + - id: 2d.text.baseline.default + text: "When the context is created, the textBaseline attribute *must* initially have the value alphabetic<^>." + + - id: 2d.text.draw + text: "The fillText() and strokeText() methods <...> when the methods are called, the user agent *must* run the following steps<^>:" + - id: 2d.text.draw.spaces + text: "Replace all the space characters in text with U+0020 SPACE characters<^>." + - id: 2d.text.draw.direction + text: "the 'direction' property of the inline box set to the directionality of the canvas element<^>," + - id: 2d.text.draw.maxwidth + text: "If the maxWidth argument was specified and the hypothetical width of the inline box in the hypothetical line box is greater than maxWidth CSS pixels, then change font to have a more condensed font (if one is available or if a reasonably readable one can be synthesized by applying a horizontal scale factor to the font) or a smaller font, and return to the previous step<^>." + - id: 2d.text.align.left + text: "Let the anchor point's horizontal position be the left edge of the inline box<^>." + - id: 2d.text.align.right + text: "Let the anchor point's horizontal position be the right edge of the inline box<^>." + - id: 2d.text.align.center + text: "Let the anchor point's horizontal position be half way between the left and right edges of the inline box<^>." + + - id: 2d.text.baseline.top + text: "Let the anchor point's vertical position be the top of the em box of the first available font of the inline box<^>." + - id: 2d.text.baseline.hanging + text: "Let the anchor point's vertical position be the hanging baseline of the first available font of the inline box<^>." + - id: 2d.text.baseline.middle + text: "Let the anchor point's vertical position be half way between the bottom and the top of the em box of the first available font of the inline box<^>." + - id: 2d.text.baseline.alphabetic + text: "Let the anchor point's vertical position be the alphabetic baseline of the first available font of the inline box<^>." + - id: 2d.text.baseline.ideographic + text: "Let the anchor point's vertical position be the ideographic baseline of the first available font of the inline box<^>." + - id: 2d.text.baseline.bottom + text: "Let the anchor point's vertical position be the bottom of the em box of the first available font of the inline box<^>." + + - id: 2d.text.draw.fill + text: "For fillText() fillStyle must be applied to the glyphs and strokeStyle *must* be ignored<^>." + - id: 2d.text.draw.stroke + text: "For strokeText() the reverse holds and strokeStyle must be applied to the glyph outlines and fillStyle *must* be ignored<^>." + - id: 2d.text.measure.spaces + text: "When the method is invoked, the user agent *must* replace all the space characters in text with U+0020 SPACE characters<^>," + - id: 2d.text.measure + text: "When the method is invoked, the user agent <...> *must* form a hypothetical infinitely wide CSS line box containing a single inline box containing the text text, with all the properties at their initial values except the 'white-space' property of the inline element set to 'pre' and the 'font' property of the inline element set to the current font of the context as given by the font attribute, and must then return a new TextMetrics object with its width attribute set to the width of that inline box, in CSS pixels<^>." + + - id: 2d.drawImage.defaultdest + text: "If not specified, the dw and dh arguments *must* default to the values of sw and sh, interpreted such that one CSS pixel in the image is treated as one unit in the canvas coordinate space<^>." + - id: 2d.drawImage.defaultsource + text: "If the sx, sy, sw, and sh arguments are omitted, they *must* default to 0, 0, the image's intrinsic width in image pixels, and the image's intrinsic height in image pixels, respectively<^>." + - id: 2d.drawImage.IDL + text: "void drawImage(in HTMLVideoElement image, in double sx, in double sy, in double sw, in double sh, in double dx, in double dy, in double dw, in double dh);<^>" + - id: 2d.drawImage.incomplete.image + text: "If the image argument is an HTMLImageElement object that is not fully decodable<^><...> then the implementation *must* return without drawing anything." + - id: 2d.drawImage.incomplete.video + previously: [ 6, "dw and dh" ] + text: "If the image argument is <...> an HTMLVideoElement object whose readyState attribute is either HAVE_NOTHING or HAVE_METADATA<^>, then the implementation *must* return without drawing anything." + - id: 2d.drawImage.zerocanvas + previously: [ 10, "dw and dh" ] + text: "If the image argument is an HTMLCanvasElement object with either a horizontal dimension or a vertical dimension equal to zero, then the implementation *must* raise an INVALID_STATE_ERR exception<^>." + - id: 2d.drawImage.zerosource + text: "If one of the sw or sh arguments is zero<^>, the implementation *must* raise an INDEX_SIZE_ERR exception." + - id: 2d.drawImage.paint + text: "When drawImage() is invoked, the region of the image specified by the source rectangle *must* be painted on the region of the canvas specified by the destination rectangle<^>, after applying the current transformation matrix to the points of the destination rectangle." + - id: 2d.drawImage.original + text: "The original image data of the source image *must* be used, not the image as it is rendered (e.g. width and height attributes on the source element have no effect)<^>." + - id: 2d.drawImage.direction + text: "The image data *must* be processed in the original direction, even if the dimensions given are negative<^>." + - id: 2d.drawImage.self + text: "When a canvas is drawn onto itself, the drawing model requires the source to be copied before the image is drawn back onto the canvas, so it is possible to copy parts of a canvas onto overlapping parts of itself<^>." + - id: 2d.drawImage.animated.image + text: "When the drawImage() method is passed an animated image as its image argument, the user agent *must* use the poster frame of the animation, or, if there is no poster frame, the first frame of the animation<^>." + - id: 2d.drawImage.animated.video + previously: [ 4, "drawImage" ] + text: "When the image argument is an HTMLVideoElement, then the frame at the current playback position *must* be used as the source image<^>," + - id: 2d.drawImage.video.size + previously: [ 4, "drawImage" ] + text: "When the image argument is an HTMLVideoElement, <...> the source image's dimensions *must* be the intrinsic width and intrinsic height of the media resource (i.e. after any aspect-ratio correction has been applied)<^>." + - id: 2d.drawImage.unaffect + text: "Images are painted without affecting the current path<^>" + - id: 2d.drawImage.subject + text: "Images are painted without affecting the current path, and are subject to shadow effects, global alpha, the clipping region, and global composition operators<^>." + + + - id: 2d.imageData.create2.object + text: "When the method is invoked with two arguments sw and sh, it *must* return an ImageData object<^>" + - id: 2d.imageData.create2.size + text: "When the method is invoked with two arguments sw and sh, it *must* return an ImageData object representing a rectangle with a width in CSS pixels equal to the absolute magnitude of sw and a height in CSS pixels equal to the absolute magnitude of sh<^>." + - id: 2d.imageData.create1.object + text: "When invoked with a single imagedata argument, it *must* return an ImageData object<^>" + - id: 2d.imageData.create1.size + text: "When invoked with a single imagedata argument, it *must* return an ImageData object representing a rectangle with the same dimensions as the ImageData object passed as the argument<^>." + - id: 2d.imageData.create.initial + text: "The ImageData object returned must be filled with transparent black<^>." + + - id: 2d.imageData.get.object + text: "The getImageData(sx, sy, sw, sh) method *must* return an ImageData object<^>" + - id: 2d.imageData.get.basic + text: "The getImageData(sx, sy, sw, sh) method *must* return an ImageData object representing the underlying pixel data for the area of the canvas denoted by the rectangle whose corners are the four points (sx, sy), (sx+sw, sy), (sx+sw, sy+sh), (sx, sy+sh), in canvas coordinate space units<^>." + - id: 2d.imageData.get.outside + text: "Pixels outside the canvas *must* be returned as transparent black<^>." + - id: 2d.imageData.get.premul + text: "Pixels *must* be returned as non-premultiplied alpha values<^>." + + - id: 2d.imageData.getcreate.nonfinite + text: "If any of the arguments to createImageData() or getImageData() are infinite or NaN<^>, the method *must* instead raise a NOT_SUPPORTED_ERR exception." + - id: 2d.imageData.create.null + text: "ImageData createImageData(in ImageData imagedata);<^>" + - id: 2d.imageData.getcreate.zero + text: "If either the sw or sh arguments are zero, the method *must* instead raise an INDEX_SIZE_ERR exception<^>." + + - id: 2d.imageData.initial + text: "ImageData objects *must* be initialized so that their width attribute is set to w, the number of physical device pixels per row in the image data, their height attribute is set to h, the number of rows in the image data, and their data attribute is initialized to a CanvasPixelArray object holding the image data<^>." + - id: 2d.imageData.one + text: "At least one pixel's worth of image data *must* be returned<^>." + - id: 2d.pixelarray.order + text: "The data *must* be represented in left-to-right order, row by row top to bottom, starting with the top left, with each pixel's red, green, blue, and alpha components being given in that order for each pixel<^>." + - id: 2d.pixelarray.range + text: "Each component of each device pixel represented in this array *must* be in the range 0..255, representing the 8 bit value for that component<^>." + - id: 2d.pixelarray.indexes + text: "The components *must* be assigned consecutive indices starting with 0 for the top left pixel's red component<^>." + - id: 2d.pixelarray.length + text: "The length attribute of a CanvasPixelArray object *must* return this number<^>." + - id: 2d.pixelarray.retrieve + text: "To determine the value of an indexed property index, the user agent *must* return the value of the indexth component in the array<^>." + - id: 2d.pixelarray.modify + text: "To set the value of an existing indexed property index to value value, the value of the indexth component in the array *must* be set to value<^>." + + - id: 2d.imageData.put.nonfinite + text: "If any of the arguments to the method are infinite or NaN, the method *must* raise a NOT_SUPPORTED_ERR exception<^>." + - id: 2d.imageData.put.wrongtype + text: "void putImageData(in ImageData imagedata, in double dx, in double dy);<...>void putImageData(in ImageData imagedata, in double dx, in double dy, in double dirtyX, in double dirtyY, in double dirtyWidth, in double dirtyHeight);<^>" + - id: 2d.imageData.put.3arg + text: "When the last four arguments are omitted, they *must* be assumed to have the values 0, 0, the width member of the imagedata structure, and the height member of the imagedata structure, respectively<^>." + - id: 2d.imageData.put.normal + text: "When invoked with arguments that do not, per the last few paragraphs, cause an exception to be raised, the putImageData() method *must* act as follows<^>:" + + - id: 2d.imageData.unchanged + text: "the following *must* result in no visible changes to the rendering<^>:" + - id: 2d.imageData.createround + text: "...*must* return ImageData objects with the same dimensions, for any value of w and h<^>." + - id: 2d.imageData.unaffected + text: "The current path, transformation matrix, shadow attributes, global alpha, the clipping region, and global composition operator *must* not affect the getImageData() and putImageData() methods<^>." + + - id: 2d.drawingmodel + text: "When a shape or image is painted, user agents *must* follow these steps, in the order given (or act as if they do)<^>:" + + - id: 2d.colorspace.correction + text: "The canvas APIs *must* perform color correction at only two points: when rendering images with their own gamma correction and color space information onto the canvas, to convert the image to the color space used by the canvas (e.g. using the 2D Context's drawImage() method with an HTMLImageElement object)<^>," + - id: 2d.colorspace.toDataURL.info + text: "The toDataURL() method *must* not include color space information in the resource returned<^>." + - id: 2d.colorspace.toDataURL.equal + text: "Where the output format allows it, the color of pixels in resources created by toDataURL() *must* match those returned by the getImageData() method<^>." + - id: 2d.colorspace.match + text: "In user agents that support CSS, the color space used by a canvas element *must* match the color space used for processing any colors for that element in CSS<^>." + - id: 2d.colorspace.img.equal + text: "The gamma correction and color space information of images *must* be handled in such a way that an image rendered directly using an img element would use the same colors as one painted on a canvas element that is then itself rendered<^>." + - id: 2d.colorspace.img.noinfo + text: "Furthermore, the rendering of images that have no color correction information (such as those returned by the toDataURL() method) *must* be rendered with no color correction<^>." + + - id: security.start + text: "All canvas elements *must* start with their origin-clean set to true<^>." + - id: security.drawImage.image + keyword: must + text: "The element's 2D context's drawImage() method is called with an HTMLImageElement or an HTMLVideoElement whose origin is not the same as that of the Document object that owns the canvas element<^>." + - id: security.drawImage.canvas + keyword: must + text: "The element's 2D context's drawImage() method is called with an HTMLCanvasElement whose origin-clean flag is false<^>." + - id: security.fillStyle.image + keyword: must + text: "The element's 2D context's fillStyle attribute is set to a CanvasPattern object that was created from an HTMLImageElement<^> or an HTMLVideoElement whose origin was not the same as that of the Document object that owns the canvas element when the pattern was created." + - id: security.fillStyle.video + keyword: must + text: "The element's 2D context's fillStyle attribute is set to a CanvasPattern object that was created from an HTMLImageElement or an HTMLVideoElement<^> whose origin was not the same as that of the Document object that owns the canvas element when the pattern was created." + - id: security.fillStyle.canvas + keyword: must + text: "The element's 2D context's fillStyle attribute is set to a CanvasPattern object that was created from an HTMLCanvasElement whose origin-clean flag was false when the pattern was created<^>." + - id: security.strokeStyle.image + keyword: must + text: "The element's 2D context's strokeStyle attribute is set to a CanvasPattern object that was created from an HTMLImageElement<^> or an HTMLVideoElement whose origin was not the same as that of the Document object that owns the canvas element when the pattern was created." + - id: security.strokeStyle.video + keyword: must + text: "The element's 2D context's strokeStyle attribute is set to a CanvasPattern object that was created from an HTMLImageElement or an HTMLVideoElement<^> whose origin was not the same as that of the Document object that owns the canvas element when the pattern was created." + - id: security.strokeStyle.canvas + keyword: must + text: "The element's 2D context's strokeStyle attribute is set to a CanvasPattern object that was created from an HTMLCanvasElement whose origin-clean flag was false when the pattern was created<^>." + - id: security.toDataURL + text: "Whenever the toDataURL() method of a canvas element whose origin-clean flag is set to false is called, the method *must* raise a SECURITY_ERR exception<^>." + - id: security.getImageData + text: "Whenever the getImageData() method of the 2D context of a canvas element whose origin-clean flag is set to false is called with otherwise correct arguments, the method *must* raise a SECURITY_ERR exception<^>." diff --git a/tests/wpt/web-platform-tests/2dcontext/tools/specextract.py b/tests/wpt/web-platform-tests/2dcontext/tools/specextract.py new file mode 100644 index 00000000000..679bf10e285 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/tools/specextract.py @@ -0,0 +1,57 @@ +import html5lib +import html5lib.treebuilders.dom + +# Expected use: +# curl --compressed http://www.whatwg.org/specs/web-apps/current-work/ >current-work +# python specextract.py +# +# Generates current-work-canvas.xhtml, for use by gentest.py to create the annotated spec document + +def extract(): + parser = html5lib.html5parser.HTMLParser(tree=html5lib.treebuilders.dom.TreeBuilder) + doc = parser.parse(open('current-work'), encoding='utf-8') + + head = doc.getElementsByTagName('head')[0] + for n in head.childNodes: + if n.tagName == 'script': + head.removeChild(n) + + header = doc.getElementsByTagName('header')[0] + #thecanvas = doc.getElementById('the-canvas') # doesn't work (?!) + thecanvas = [ n for n in doc.getElementsByTagName('h4') if n.getAttribute('id') == 'the-canvas-element' ][0] + + keep = [header, thecanvas] + node = thecanvas.nextSibling + while node.nodeName != 'h4': + keep.append(node) + node = node.nextSibling + p = thecanvas.parentNode + for n in p.childNodes[:]: + if n not in keep: + p.removeChild(n) + + for n in header.childNodes[3:-4]: + header.removeChild(n) + + def make_absolute(uri): + if uri.startswith('data:'): + return uri + elif uri[0] == '/': + return 'http://www.whatwg.org' + uri + else: + return 'http://www.whatwg.org/specs/web-apps/current-work/' + uri + + # Fix the stylesheet, icon and image references + for e in doc.getElementsByTagName('link'): + e.setAttribute('href', make_absolute(e.getAttribute('href'))) + for img in doc.getElementsByTagName('img'): + img.setAttribute('src', make_absolute(img.getAttribute('src'))) + + # Convert to XHTML, because it's quicker to re-parse than HTML5 + doc.documentElement.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml') + doc.documentElement.setAttribute('xml:lang', doc.documentElement.getAttribute('lang')) + doc.removeChild(doc.firstChild) # remove the DOCTYPE + + open('current-work-canvas.xhtml', 'w').write(doc.toxml(encoding = 'UTF-8')) + +extract() diff --git a/tests/wpt/web-platform-tests/2dcontext/tools/templates.yaml b/tests/wpt/web-platform-tests/2dcontext/tools/templates.yaml new file mode 100644 index 00000000000..8c8e8fda708 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/tools/templates.yaml @@ -0,0 +1,378 @@ +# Copyright (c) 2010 Philip Taylor +# Released under the BSD license and W3C Test Suite License: see LICENSE.txt + +framed: | + + Canvas test: %(name)s + + + %(fonts)s +

    + %(name_wrapped)s +

    +

    [show output] + %(fonthack)s

    Actual output:

    + %(fallback)s + %(expected)s +
      + + %(images)s + +standalone: | + + Canvas test: %(name)s + + + + + %(fonts)s +

      + < + [index] + > +

      %(backrefs)s

      +

      %(desc)s

      +
      References: +
        + %(refs)s +
      +
      + %(notes)s + %(fonthack)s

      Actual output:

      + %(fallback)s + %(expected)s +
        + + %(images)s + +minimal: | + + + Canvas test: %(name)s + + + + + %(fonts)s +

        Pass

        +

        Fail

        + + %(fonthack)s

        These images should be identical:

        + %(fallback)s + %(expected)s +
          + + %(images)s + +w3c: | + + + Canvas test: %(name)s + + + + + %(fonts)s + +

          %(name)s

          +

          %(desc)s

          + + %(notes)s + %(fonthack)s

          Actual output:

          + %(fallback)s + %(expected)s +
            + + %(images)s + +mochitest: | + + %(mochi_name_fn)s + %(mochi_desc)s + + + %(fonts)s + +

            Canvas test: %(mochi_name)s

            + %(mochi_desc)s%(fonthack)s%(fallback)s + + %(mochi_images)s + +mochitest.isPixel: | + function isPixel(ctx, x,y, r,g,b,a, pos, colour, d) { + var pixel = ctx.getImageData(x, y, 1, 1); + var pr = pixel.data[0], + pg = pixel.data[1], + pb = pixel.data[2], + pa = pixel.data[3]; + ok(r-d <= pr && pr <= r+d && + g-d <= pg && pg <= g+d && + b-d <= pb && pb <= b+d && + a-d <= pa && pa <= a+d, + "pixel "+pos+" is "+pr+","+pg+","+pb+","+pa+"; expected "+colour+" +/- "+d); + } + +mochitest.todo_isPixel: | + function todo_isPixel(ctx, x,y, r,g,b,a, pos, colour, d) { + var pixel = ctx.getImageData(x, y, 1, 1); + var pr = pixel.data[0], + pg = pixel.data[1], + pb = pixel.data[2], + pa = pixel.data[3]; + todo(r-d <= pr && pr <= r+d && + g-d <= pg && pg <= g+d && + b-d <= pb && pb <= b+d && + a-d <= pa && pa <= a+d, + "pixel "+pos+" is "+pr+","+pg+","+pb+","+pa+"; expected "+colour+" +/- "+d); + } + +mochitest.deferTest: | + function deferTest() { + _deferred = true; + } + +mochitest.wrapFunction: | + function wrapFunction(f) { + return function () { + f.apply(null, arguments); + SimpleTest.finish(); + } + } + +mochitest.exception: | + var _thrown_outer = false; + try { + + %s + } catch (e) { + _thrown_outer = true; + } + todo(!_thrown_outer, 'should not throw exception'); + +mochitest.Makefile: | + # + # ***** BEGIN LICENSE BLOCK ***** + # Version: MPL 1.1/GPL 2.0/LGPL 2.1 + # + # The contents of this file are subject to the Mozilla Public License Version + # 1.1 (the "License"); you may not use this file except in compliance with + # the License. You may obtain a copy of the License at + # http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS IS" basis, + # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + # for the specific language governing rights and limitations under the + # License. + # + # The Original Code is mozilla.org code. + # + # The Initial Developer of the Original Code is + # Mozilla Corporation. + # Portions created by the Initial Developer are Copyright (C) 2007 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Philip Taylor + # + # Alternatively, the contents of this file may be used under the terms of + # either of the GNU General Public License Version 2 or later (the "GPL"), + # or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + # in which case the provisions of the GPL or the LGPL are applicable instead + # of those above. If you wish to allow use of your version of this file only + # under the terms of either the GPL or the LGPL, and not to allow others to + # use your version of this file under the terms of the MPL, indicate your + # decision by deleting the provisions above and replace them with the notice + # and other provisions required by the GPL or the LGPL. If you do not delete + # the provisions above, a recipient may use your version of this file under + # the terms of any one of the MPL, the GPL or the LGPL. + # + # ***** END LICENSE BLOCK ***** + + DEPTH = ../../.. + topsrcdir = @top_srcdir@ + srcdir = @srcdir@ + VPATH = @srcdir@ + relativesrcdir = content/canvas/test + + include $(DEPTH)/config/autoconf.mk + include $(topsrcdir)/config/rules.mk + + +index.frame: | + + Canvas tests - %(category)s.* + +

            [index] +

            %(backrefs)s.*

            +

            + +# FF trunk doesn't do onload in object, so use iframe instead +#index.frame.item: |- +# (object fallback) +index.frame.item: |- + + +index.w3c.frame: | + + Canvas tests - %(category)s.* + +

            [index] +

            %(backrefs)s.*

            +

            + +index.w3c.frame.item: |- + + +index: | + + Canvas tests - index + + + +

            <canvas> tests

            + +

            Developed by Philip Taylor. + Last updated %(updated)s. + +

            Based on the HTML + Draft Standard — 22 February 2010. See also the annotated specification. + +

            See test results for some browsers. + (Generated semi-automatically via the report generator.) + +

            You may want to download the source + code/data (e.g. to create an offline copy of the tests). + +

            Test cases

            + +

            For each test, a green background indicates success, red indicates + failure, blue indicates a need to manually confirm the output is as + expected. + +

            The versions in the report generator are the most visually minimalist. + The category links below show the actual and expected renderings, and any + error messages. The individual test pages have links to relevant parts of + the specification and extra notes. + +

            There may be many inaccuracies: tests that do not notice when part of + the output is incorrect; tests that are too intolerant of acceptable + renderings differences, or make other unreasonable assumptions; tests that + were written for an outdated version of the specification, and tests that + are just wrong. Also a number of features are not tested, most notably text + rendering. Please contact me (email, IRC, etc) if you find any + problems. + +index.w3c: | + + Canvas tests - index + + +

            <canvas> tests

            + +index.category.item: | +
          • %s.*

            %d test%s expand

            + +index.w3c.category.item: | +
          • %s.*

            %d test%s

            + +reportgen: | + + Canvas tests - report generator + + +

            This is mainly for my own use, so it is not designed to be user-friendly. + If anyone else wants to use it for some reason, just wait + until "tests not yet loaded" and "tests not yet completed" get down to zero, then click the + pass/fail button for any test it shows where it cannot work out the answer (or use the + y/n keys to choose for the magenta-highlighted case), then use the + buttons at the bottom to collect all the results. +

            +

            +

            +

            + + + +


            +

            +

            +


            + + +
            Test name + Test case + Pass? + Fail? + Notes + +
            +
            +
            +
            +
            +
            + (Submissions will tend to be ignored unless there + is a good reason why they won't be, so don't use this form unless there is such a reason.) +
            + +results: | + + Canvas tests - results + + + + +


            Test diff --git a/tests/wpt/web-platform-tests/2dcontext/tools/tests.yaml b/tests/wpt/web-platform-tests/2dcontext/tools/tests.yaml new file mode 100644 index 00000000000..4a89836c06f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/tools/tests.yaml @@ -0,0 +1,1031 @@ +# Copyright (c) 2010 Philip Taylor +# Released under the BSD license and W3C Test Suite License: see LICENSE.txt + +- name: fallback.basic + desc: Fallback content is inserted into the DOM + testing: + - fallback + code: | + @assert canvas.childNodes.length === 1; + +- name: fallback.multiple + desc: Fallback content with multiple elements + testing: + - fallback + fallback: '

            FAIL

            FAIL

            ' + code: | + @assert canvas.childNodes.length === 2; + +- name: fallback.nested + desc: Fallback content containing another canvas (mostly testing parsers) + testing: + - fallback + fallback: '

            FAIL (fallback content)

            FAIL (fallback content)

            ' + code: | + @assert canvas.childNodes.length === 2; + +- name: type.name + desc: HTMLCanvasElement type and toString + testing: + - canvas.type + code: | + @assert Object.prototype.toString.call(canvas) === '[object HTMLCanvasElement]'; + +- name: type.exists + desc: HTMLCanvasElement is a property of window + notes: &bindings Defined in "Web IDL" (draft) + testing: + - canvas.type + code: | + @assert window.HTMLCanvasElement; + +- name: type.delete + desc: window.HTMLCanvasElement interface object is [[Configurable]] + notes: *bindings + testing: + - canvas.type + code: | + @assert delete window.HTMLCanvasElement === true; + @assert window.HTMLCanvasElement === undefined; + +- name: type.prototype + desc: window.HTMLCanvasElement has prototype, which is { ReadOnly, DontDelete }. prototype has getContext, which is not + notes: *bindings + testing: + - canvas.type + code: | + @assert window.HTMLCanvasElement.prototype; + @assert window.HTMLCanvasElement.prototype.getContext; + window.HTMLCanvasElement.prototype = null; + @assert window.HTMLCanvasElement.prototype; + delete window.HTMLCanvasElement.prototype; + @assert window.HTMLCanvasElement.prototype; + window.HTMLCanvasElement.prototype.getContext = 1; + @assert window.HTMLCanvasElement.prototype.getContext === 1; + delete window.HTMLCanvasElement.prototype.getContext; + @assert window.HTMLCanvasElement.prototype.getContext === undefined; + +- name: type.replace + desc: HTMLCanvasElement methods can be replaced, and the replacement methods used by canvases + notes: *bindings + testing: + - canvas.type + code: | + window.HTMLCanvasElement.prototype.getContext = function (name) { return 0; }; + @assert canvas.getContext('2d') === 0; + +- name: type.extend + desc: HTMLCanvasElement methods can be added, and the new methods used by canvases + notes: *bindings + testing: + - canvas.type + code: | + window.HTMLCanvasElement.prototype.getZero = function () { return 0; }; + @assert canvas.getZero() === 0; + + +- name: size.attributes.idl.set.zero + desc: Setting width/height IDL attributes to 0 + testing: + - size.width + - size.height + code: | + canvas.width = 0; + canvas.height = 0; + @assert canvas.width === 0; + @assert canvas.height === 0; +# expected: size 0 0 # can't generate zero-sized PNG + +- name: size.attributes.idl + desc: Getting/setting width/height IDL attributes + testing: + - size.width + - size.height + webidl: + - es-unsigned-long + code: | + canvas.width = "100"; + canvas.height = "100"; + @assert canvas.width === 100; + @assert canvas.height === 100; + + canvas.width = "+1.5e2"; + canvas.height = "0x96"; + @assert canvas.width === 150; + @assert canvas.height === 150; + + canvas.width = 200 - Math.pow(2, 32); + canvas.height = 200 - Math.pow(2, 32); + @assert canvas.width === 200; + @assert canvas.height === 200; + + canvas.width = 301.999; + canvas.height = 301.001; + @assert canvas.width === 301; + @assert canvas.height === 301; + + canvas.width = "400x"; + canvas.height = "foo"; + @assert canvas.width === 0; + @assert canvas.height === 0; + +- name: size.attributes.default + desc: Default width/height when attributes are missing + testing: + - size.default + - size.missing + canvas: "" + code: | + @assert canvas.width === 300; + @assert canvas.height === 150; + @assert !canvas.hasAttribute('width'); + @assert !canvas.hasAttribute('height'); + expected: size 300 150 + +- name: size.attributes.reflect.setidl + desc: Setting IDL attributes updates IDL and content attributes + testing: + - size.reflect + code: | + canvas.width = 120; + canvas.height = 60; + @assert canvas.getAttribute('width') === '120'; + @assert canvas.getAttribute('height') === '60'; + @assert canvas.width === 120; + @assert canvas.height === 60; + expected: size 120 60 + +- name: size.attributes.reflect.setidlzero + desc: Setting IDL attributes to 0 updates IDL and content attributes + testing: + - size.reflect + code: | + canvas.width = 0; + canvas.height = 0; + @assert canvas.getAttribute('width') === '0'; + @assert canvas.getAttribute('height') === '0'; + @assert canvas.width === 0; + @assert canvas.height === 0; +# expected: size 0 0 # can't generate zero-sized PNG + +- name: size.attributes.reflect.setcontent + desc: Setting content attributes updates IDL and content attributes + testing: + - size.reflect + code: | + canvas.setAttribute('width', '120'); + canvas.setAttribute('height', '60'); + @assert canvas.getAttribute('width') === '120'; + @assert canvas.getAttribute('height') === '60'; + @assert canvas.width === 120; + @assert canvas.height === 60; + expected: size 120 60 + +- name: size.attributes.removed + desc: Removing content attributes reverts to default size + testing: + - size.missing + canvas: width="120" height="60" + code: | + @assert canvas.width === 120; + canvas.removeAttribute('width'); + @assert canvas.width === 300; + expected: size 300 60 + +- meta: | + cases = [ + ("zero", "0", 0), + ("empty", "", None), + ("onlyspace", " ", None), + ("space", " 100", 100), + ("whitespace", "\n\t\f100", 100), + ("plus", "+100", 100), + ("minus", "-100", None), + ("octal", "0100", 100), + ("hex", "0x100", 0), + ("exp", "100e1", 100), + ("decimal", "100.999", 100), + ("percent", "100%", 100), + ("em", "100em", 100), + ("junk", "#!?", None), + ("trailingjunk", "100#!?", 100), + ] + def gen(name, string, exp, code): + testing = ["size.nonnegativeinteger"] + if exp is None: + testing.append("size.error") + code += "@assert canvas.width === 300;\n@assert canvas.height === 150;\n" + expected = "size 300 150" + else: + code += "@assert canvas.width === %s;\n@assert canvas.height === %s;\n" % (exp, exp) + expected = "size %s %s" % (exp, exp) + + # With "100%", Opera gets canvas.width = 100 but renders at 100% of the frame width, + # so check the CSS display width + code += '@assert window.getComputedStyle(canvas, null).getPropertyValue("width") === "%spx";\n' % (exp, ) + + code += "@assert canvas.getAttribute('width') === %r;\n" % string + code += "@assert canvas.getAttribute('height') === %r;\n" % string + + if exp == 0: + expected = None # can't generate zero-sized PNGs for the expected image + + return code, testing, expected + + for name, string, exp in cases: + code = "" + code, testing, expected = gen(name, string, exp, code) + tests.append( { + "name": "size.attributes.parse.%s" % name, + "desc": "Parsing of non-negative integers", + "testing": testing, + "canvas": 'width="%s" height="%s"' % (string, string), + "code": code, + "expected": expected + } ) + + for name, string, exp in cases: + code = "canvas.setAttribute('width', %r);\ncanvas.setAttribute('height', %r);\n" % (string, string) + code, testing, expected = gen(name, string, exp, code) + tests.append( { + "name": "size.attributes.setAttribute.%s" % name, + "desc": "Parsing of non-negative integers in setAttribute", + "testing": testing, + "canvas": 'width="50" height="50"', + "code": code, + "expected": expected + } ) + +- name: size.attributes.style + desc: Canvas size is independent of CSS resizing + testing: + - size.css + canvas: 'width="50" height="30" style="width: 100px; height: 50px"' + code: | + @assert canvas.width === 50; + @assert canvas.height === 30; + expected: size 100 50 + +- name: size.large + DISABLED: | + "User agents may impose implementation-specific limits on otherwise unconstrained + inputs, e.g. to prevent denial of service attacks, to guard against running out of memory, + or to work around platform-specific limitations." + testing: + - size.width + - size.height + notes: Not sure how reasonable this is, but the spec doesn't say there's an upper limit on the size. + code: | + var n = 2147483647; // 2^31 - 1, which should be supported by any sensible definition of "long" + canvas.width = n; + canvas.height = n; + @assert canvas.width === n; + @assert canvas.height === n; +# expected: size 2147483647 2147483647 # not a good idea to generate the expected image in this case... + +- name: initial.colour + desc: Initial state is transparent black + testing: + - initial.colour + notes: | + Output should be transparent black (not transparent anything-else), but manual + verification can only confirm that it's transparent - it's not possible to make + the actual blackness visible. + code: | + @assert pixel 20,20 == 0,0,0,0; + expected: size 100 50 # transparent + +- name: initial.reset.different + desc: Changing size resets canvas to transparent black + testing: + - initial.reset + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 50, 50); + @assert pixel 20,20 == 255,0,0,255; + canvas.width = 50; + @assert pixel 20,20 == 0,0,0,0; + expected: size 50 50 # transparent + +- name: initial.reset.same + desc: Setting size (not changing the value) resets canvas to transparent black + testing: + - initial.reset + code: | + canvas.width = 100; + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 50, 50); + @assert pixel 20,20 == 255,0,0,255; + canvas.width = 100; + @assert pixel 20,20 == 0,0,0,0; + expected: size 100 50 # transparent + +- name: initial.reset.path + desc: Resetting the canvas state resets the current path + testing: + - initial.reset + code: | + canvas.width = 100; + ctx.rect(0, 0, 100, 50); + canvas.width = 100; + ctx.fillStyle = '#f00'; + ctx.fill(); + @assert pixel 20,20 == 0,0,0,0; + expected: size 100 50 # transparent + +- name: initial.reset.clip + desc: Resetting the canvas state resets the current clip region + testing: + - initial.reset + code: | + canvas.width = 100; + ctx.rect(0, 0, 1, 1); + ctx.clip(); + canvas.width = 100; + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 20,20 == 0,255,0,255; + expected: green + +- name: initial.reset.transform + desc: Resetting the canvas state resets the current transformation matrix + testing: + - initial.reset + code: | + canvas.width = 100; + ctx.scale(0.1, 0.1); + canvas.width = 100; + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 20,20 == 0,255,0,255; + expected: green + +- name: initial.reset.gradient + desc: Resetting the canvas state does not invalidate any existing gradients + testing: + - initial.reset + code: | + canvas.width = 50; + var g = ctx.createLinearGradient(0, 0, 100, 0); + g.addColorStop(0, '#0f0'); + g.addColorStop(1, '#0f0'); + canvas.width = 100; + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: initial.reset.pattern + desc: Resetting the canvas state does not invalidate any existing patterns + testing: + - initial.reset + code: | + canvas.width = 30; + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 30, 50); + var p = ctx.createPattern(canvas, 'repeat-x'); + canvas.width = 100; + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = p; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +# See tests2d.yaml for initial.reset.2dstate + + +- name: context.emptystring + desc: getContext with empty string returns null + testing: + - context.unrecognised + code: | + @assert canvas.getContext("") === null; + +- name: context.unrecognised.badname + desc: getContext with unrecognised context name returns null + testing: + - context.unrecognised + code: | + @assert canvas.getContext('This is not an implemented context in any real browser') === null; + +- name: context.unrecognised.badsuffix + desc: Context name "2d" plus a suffix is unrecognised + testing: + - context.unrecognised + code: | + @assert canvas.getContext("2d#") === null; + +- name: context.unrecognised.nullsuffix + desc: Context name "2d" plus a "\0" suffix is unrecognised + testing: + - context.unrecognised + code: | + @assert canvas.getContext("2d\0") === null; + +- name: context.unrecognised.unicode + desc: Context name which kind of looks like "2d" is unrecognised + testing: + - context.unrecognised + code: | + @assert canvas.getContext("2\uFF44") === null; // Fullwidth Latin Small Letter D + +- name: context.casesensitive + desc: Context name "2D" is unrecognised; matching is case sensitive + testing: + - context.unrecognised + code: | + @assert canvas.getContext('2D') === null; + +- name: context.arguments.missing + notes: *bindings + testing: + - canvas.getContext + code: | + @assert throws TypeError canvas.getContext(); @moz-todo + + + + +- name: toDataURL.default + desc: toDataURL with no arguments returns a PNG + testing: + - toDataURL.noarguments + code: | + var data = canvas.toDataURL(); + @assert data =~ /^data:image\/png[;,]/; + +- name: toDataURL.png + desc: toDataURL with image/png returns a PNG + testing: + - toDataURL.png + - toDataURL.witharguments + code: | + var data = canvas.toDataURL('image/png'); + @assert data =~ /^data:image\/png[;,]/; + +- name: toDataURL.bogustype + desc: toDataURL with a syntactically invalid type returns a PNG + testing: + - toDataURL.unrecognised + code: | + var data = canvas.toDataURL('bogus'); + @assert data =~ /^data:image\/png[;,]/; + +- name: toDataURL.unrecognised + desc: toDataURL with an unhandled type returns a PNG + testing: + - toDataURL.unrecognised + code: | + var data = canvas.toDataURL('image/example'); + @assert data =~ /^data:image\/png[;,]/; + +- name: toDataURL.lowercase.ascii + desc: toDataURL type is case-insensitive + testing: + - toDataURL.lowercase + code: | + var data = canvas.toDataURL('ImAgE/PnG'); + @assert data =~ /^data:image\/png[;,]/; + + // If JPEG is supported at all, it must be supported case-insensitively + data = canvas.toDataURL('image/jpeg'); + if (data.match(/^data:image\/jpeg[;,]/)) { + data = canvas.toDataURL('ImAgE/JpEg'); + @assert data =~ /^data:image\/jpeg[;,]/; + } + +- name: toDataURL.lowercase.unicode + desc: toDataURL type is ASCII-case-insensitive + testing: + - toDataURL.lowercase + code: | + // Use LATIN CAPITAL LETTER I WITH DOT ABOVE (Unicode lowercase is "i") + var data = canvas.toDataURL('\u0130mage/png'); + @assert data =~ /^data:image\/png[;,]/; + + var data = canvas.toDataURL('\u0130mage/jpeg'); + @assert data =~ /^data:image\/png[;,]/; + +- name: toDataURL.arguments.1 + desc: toDataURL ignores extra arguments + testing: + - toDataURL.arguments + code: | + var data = canvas.toDataURL('image/png', 'another argument that should not raise an exception'); + @assert data =~ /^data:image\/png[;,]/; + +- name: toDataURL.arguments.2 + desc: toDataURL ignores extra arguments + testing: + - toDataURL.arguments + code: | + var data = canvas.toDataURL('image/png', 'another argument that should not raise an exception', 'and another'); + @assert data =~ /^data:image\/png[;,]/; + +- name: toDataURL.arguments.3 + desc: toDataURL ignores extra arguments + testing: + - toDataURL.arguments + code: | + // More arguments that should not raise exceptions + var data = canvas.toDataURL('image/png', null, null, null); + @assert data =~ /^data:image\/png[;,]/; + +- name: toDataURL.nocontext + desc: toDataURL works before any context has been got + testing: + - toDataURL.noarguments + code: | + var canvas2 = document.createElement('canvas'); + var data = canvas2.toDataURL(); + @assert data =~ /^data:image\/png[;,]/; + +- name: toDataURL.zerosize + desc: toDataURL on zero-size canvas returns 'data:,' + testing: + - toDataURL.zerosize + canvas: width="0" height="0" + code: | + var data = canvas.toDataURL(); + @assert data === 'data:,'; + +- name: toDataURL.zerowidth + desc: toDataURL on zero-size canvas returns 'data:,' + testing: + - toDataURL.zerosize + canvas: width="0" + code: | + var data = canvas.toDataURL(); + @assert data === 'data:,'; + +- name: toDataURL.zeroheight + desc: toDataURL on zero-size canvas returns 'data:,' + testing: + - toDataURL.zerosize + canvas: height="0" + code: | + var data = canvas.toDataURL(); + @assert data === 'data:,'; + +- name: toDataURL.large1 + DISABLED: just testing implementation limits, and tends to crash + canvas: width="30000" height="1" + code: | + var data = canvas.toDataURL(); + @assert data =~ /^data:image\/png[;,]/; + +- name: toDataURL.large2 + DISABLED: just testing implementation limits, and tends to crash + canvas: width="32767" height="1" + code: | + var data = canvas.toDataURL(); + @assert data =~ /^data:image\/png[;,]/; + +- name: toDataURL.large3 + DISABLED: just testing implementation limits, and tends to crash + canvas: width="32768" height="1" + code: | + var data = canvas.toDataURL(); + @assert data =~ /^data:image\/png[;,]/; + +- name: toDataURL.png.primarycolours + desc: toDataURL with PNG handles simple colours correctly + testing: + - toDataURL.png + code: | + ctx.fillStyle = '#ff0'; + ctx.fillRect(0, 0, 25, 40); + ctx.fillStyle = '#0ff'; + ctx.fillRect(25, 0, 50, 40); + ctx.fillStyle = '#00f'; + ctx.fillRect(75, 0, 25, 40); + ctx.fillStyle = '#fff'; + ctx.fillRect(0, 40, 100, 10); + var data = canvas.toDataURL(); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + var img = new Image(); + deferTest(); + img.onload = t.step_func_done(function () + { + ctx.drawImage(img, 0, 0); + @assert pixel 12,20 == 255,255,0,255; + @assert pixel 50,20 == 0,255,255,255; + @assert pixel 87,20 == 0,0,255,255; + @assert pixel 50,45 == 255,255,255,255; + }); + img.src = data; + expected: | + size 100 50 + cr.set_source_rgb(1, 1, 0) + cr.rectangle(0, 0, 25, 40) + cr.fill() + cr.set_source_rgb(0, 1, 1) + cr.rectangle(25, 0, 50, 40) + cr.fill() + cr.set_source_rgb(0, 0, 1) + cr.rectangle(75, 0, 25, 40) + cr.fill() + cr.set_source_rgb(1, 1, 1) + cr.rectangle(0, 40, 100, 10) + cr.fill() + +- name: toDataURL.png.complexcolours + desc: toDataURL with PNG handles non-primary and non-solid colours correctly + testing: + - toDataURL.png + code: | + // (These values are chosen to survive relatively alright through being premultiplied) + ctx.fillStyle = 'rgba(1, 3, 254, 1)'; + ctx.fillRect(0, 0, 25, 25); + ctx.fillStyle = 'rgba(8, 252, 248, 0.75)'; + ctx.fillRect(25, 0, 25, 25); + ctx.fillStyle = 'rgba(6, 10, 250, 0.502)'; + ctx.fillRect(50, 0, 25, 25); + ctx.fillStyle = 'rgba(12, 16, 244, 0.25)'; + ctx.fillRect(75, 0, 25, 25); + var img = new Image(); + deferTest(); + img.onload = t.step_func_done(function () + { + ctx.drawImage(img, 0, 25); + // (The alpha values do not really survive float->int conversion, so just + // do approximate comparisons) + @assert pixel 12,40 == 1,3,254,255; + @assert pixel 37,40 ==~ 8,252,248,191 +/- 2; + @assert pixel 62,40 ==~ 6,10,250,127 +/- 4; + @assert pixel 87,40 ==~ 12,16,244,63 +/- 8; + }); + img.src = canvas.toDataURL(); + expected: | + size 100 50 + cr.set_source_rgba(1/255., 3/255., 254/255., 1) + cr.rectangle(0, 0, 25, 50) + cr.fill() + cr.set_source_rgba(8/255., 252/255., 248/255., 191/255.) + cr.rectangle(25, 0, 25, 50) + cr.fill() + cr.set_source_rgba(6/255., 10/255., 250/255., 127/255.) + cr.rectangle(50, 0, 25, 50) + cr.fill() + cr.set_source_rgba(12/255., 16/255., 244/255., 63/255.) + cr.rectangle(75, 0, 25, 50) + cr.fill() + +- name: toDataURL.jpeg.primarycolours + desc: toDataURL with JPEG handles simple colours correctly + testing: + - toDataURL.jpeg + code: | + ctx.fillStyle = '#ff0'; + ctx.fillRect(0, 0, 25, 40); + ctx.fillStyle = '#0ff'; + ctx.fillRect(25, 0, 50, 40); + ctx.fillStyle = '#00f'; + ctx.fillRect(75, 0, 25, 40); + ctx.fillStyle = '#fff'; + ctx.fillRect(0, 40, 100, 10); + var data = canvas.toDataURL('image/jpeg'); // it is okay if this returns a PNG instead + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + var img = new Image(); + deferTest(); + img.onload = t.step_func_done(function () + { + ctx.drawImage(img, 0, 0); + @assert pixel 12,20 ==~ 255,255,0,255 +/- 8; + @assert pixel 50,20 ==~ 0,255,255,255 +/- 8; + @assert pixel 87,20 ==~ 0,0,255,255 +/- 8; + @assert pixel 50,45 ==~ 255,255,255,255 +/- 8; + }); + img.src = data; + expected: | + size 100 50 + cr.set_source_rgb(1, 1, 0) + cr.rectangle(0, 0, 25, 40) + cr.fill() + cr.set_source_rgb(0, 1, 1) + cr.rectangle(25, 0, 50, 40) + cr.fill() + cr.set_source_rgb(0, 0, 1) + cr.rectangle(75, 0, 25, 40) + cr.fill() + cr.set_source_rgb(1, 1, 1) + cr.rectangle(0, 40, 100, 10) + cr.fill() + +- name: toDataURL.jpeg.alpha + desc: toDataURL with JPEG composites onto black + testing: + - toDataURL.jpeg + - toDataURL.noalpha + code: | + ctx.fillStyle = 'rgba(128, 255, 128, 0.5)'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = 'destination-over'; // should be ignored by toDataURL + var data = canvas.toDataURL('image/jpeg'); + ctx.globalCompositeOperation = 'source-over'; + if (!data.match(/^data:image\/jpeg[;,]/)) { + @assert true; + } else { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + var img = new Image(); + deferTest(); + img.onload = t.step_func_done(function () + { + ctx.drawImage(img, 0, 0); + @assert pixel 50,25 ==~ 63,127,63,255 +/- 8; + }); + img.src = data; + } + expected: | + size 100 50 + cr.set_source_rgb(0.25, 0.5, 0.25) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: toDataURL.jpeg.quality.basic + desc: toDataURL with JPEG uses the quality parameter + testing: + - toDataURL.jpeg.quality + mozilla: { throws } + code: | + ctx.fillStyle = '#00f'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0ff'; + ctx.fillRect(0, 3, 100, 1); + // Check for JPEG support first + var data = canvas.toDataURL('image/jpeg'); + if (!data.match(/^data:image\/jpeg[;,]/)) { + @assert true; + } else { + var data_hi = canvas.toDataURL('image/jpeg', 0.99); + var data_lo = canvas.toDataURL('image/jpeg', 0.01); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + deferTest(); + var img_hi = new Image(); + img_hi.onload = function () + { + var img_lo = new Image(); + img_lo.onload = t.step_func_done(function () + { + ctx.drawImage(img_hi, 0, 0, 50, 50, 0, 0, 50, 50); + ctx.drawImage(img_lo, 0, 0, 50, 50, 50, 0, 50, 50); + @assert data_hi.length > data_lo.length; + @assert pixel 25,25 ==~ 0,0,255,255 +/- 8; + @assert pixel 75,25 ==~ 0,0,255,255 +/- 32; + }); + img_lo.src = data_lo; + }; + img_hi.src = data_hi; + } + expected: | + size 100 50 + cr.set_source_rgb(0, 0, 1) + cr.rectangle(0, 0, 100, 50) + cr.fill() + cr.set_source_rgb(0, 1, 1) + cr.rectangle(0, 3, 100, 1) + cr.fill() + +- name: toDataURL.jpeg.quality.notnumber + desc: toDataURL with JPEG handles non-numeric quality parameters + testing: + - toDataURL.jpeg.nan + code: | + ctx.fillStyle = '#00f'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0ff'; + ctx.fillRect(0, 3, 100, 1); + // Check for JPEG support first + var data = canvas.toDataURL('image/jpeg'); + if (!data.match(/^data:image\/jpeg[;,]/)) { + @assert true; + } else { + @assert canvas.toDataURL('image/jpeg', 'bogus') === data; + @assert canvas.toDataURL('image/jpeg', {}) === data; + @assert canvas.toDataURL('image/jpeg', null) === data; + @assert canvas.toDataURL('image/jpeg', undefined) === data; + @assert canvas.toDataURL('image/jpeg', true) === data; + @assert canvas.toDataURL('image/jpeg', '0.01') === data; + } + +- name: toDataURL.jpeg.quality.outsiderange + desc: toDataURL with JPEG handles out-of-range quality parameters + testing: + - toDataURL.jpeg.range + code: | + ctx.fillStyle = '#00f'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0ff'; + ctx.fillRect(0, 3, 100, 1); + // Check for JPEG support first + var data = canvas.toDataURL('image/jpeg'); + if (!data.match(/^data:image\/jpeg[;,]/)) { + @assert true; + } else { + @assert canvas.toDataURL('image/jpeg', 10) === data; + @assert canvas.toDataURL('image/jpeg', -10) === data; + @assert canvas.toDataURL('image/jpeg', 1.01) === data; + @assert canvas.toDataURL('image/jpeg', -0.01) === data; + + @assert canvas.toDataURL('image/jpeg', 1).length >= canvas.toDataURL('image/jpeg', 0.9).length; + @assert canvas.toDataURL('image/jpeg', 0).length <= canvas.toDataURL('image/jpeg', 0.1).length; + } + + +# TODO: work out what security exception should be thrown +# TODO: test same-origin vs same-host + +- name: security.drawImage.image.sub + desc: drawImage of different-origin image makes the canvas origin-unclean + mozilla: { disabled } # relies on external resources + testing: + - security.drawImage.image + - security.toDataURL + - security.getImageData + images: + - http://{{domains[www2]}}:{{ports[http][0]}}/images/yellow.png + code: | + ctx.drawImage(document.getElementById('yellow.png'), 0, 0); + @assert throws SECURITY_ERR canvas.toDataURL(); + @assert throws SECURITY_ERR ctx.getImageData(0, 0, 1, 1); + +- name: security.drawImage.canvas.sub + desc: drawImage of unclean canvas makes the canvas origin-unclean + mozilla: { disabled } # relies on external resources + testing: + - security.drawImage.canvas + images: + - http://{{domains[www2]}}:{{ports[http][0]}}/images/yellow.png + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.drawImage(document.getElementById('yellow.png'), 0, 0); + ctx.drawImage(canvas2, 0, 0); + @assert throws SECURITY_ERR canvas.toDataURL(); + @assert throws SECURITY_ERR ctx.getImageData(0, 0, 1, 1); + +- name: security.pattern.create.sub + desc: Creating an unclean pattern does not make the canvas origin-unclean + mozilla: { disabled } # relies on external resources + testing: + - security.start + images: + - http://{{domains[www]}}:{{ports[http][0]}}/images/yellow.png + code: | + var p = ctx.createPattern(document.getElementById('yellow.png'), 'repeat'); + canvas.toDataURL(); + ctx.getImageData(0, 0, 1, 1); + @assert true; // okay if there was no exception + +- name: security.pattern.cross.sub + desc: Using an unclean pattern makes the target canvas origin-unclean, not the pattern canvas + mozilla: { disabled } # relies on external resources + testing: + - security.start + images: + - http://{{domains[www2]}}:{{ports[http][0]}}/images/yellow.png + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + var p = ctx2.createPattern(document.getElementById('yellow.png'), 'repeat'); + ctx.fillStyle = p; + ctx.fillRect(0, 0, 100, 50); + @assert throws SECURITY_ERR canvas.toDataURL(); + @assert throws SECURITY_ERR ctx.getImageData(0, 0, 1, 1); + canvas2.toDataURL(); + ctx2.getImageData(0, 0, 1, 1); + +- name: security.pattern.canvas.timing.sub + desc: Pattern safety depends on whether the source was origin-clean, not on whether it still is clean + notes: Disagrees with spec on "is" vs "was" + mozilla: { disabled } # relies on external resources + testing: + - security.start + - security.fillStyle.canvas + images: + - http://{{domains[www2]}}:{{ports[http][0]}}/images/yellow.png + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = '#0f0'; + ctx2.fillRect(0, 0, 100, 50); + var p = ctx.createPattern(canvas2, 'repeat'); + ctx2.drawImage(document.getElementById('yellow.png'), 0, 0); // make canvas2 origin-unclean + ctx.fillStyle = p; + ctx.fillRect(0, 0, 100, 50); + canvas.toDataURL(); + ctx.getImageData(0, 0, 1, 1); + @assert true; // okay if there was no exception + +- name: security.pattern.image.fillStyle.sub + desc: Setting fillStyle to a pattern of a different-origin image makes the canvas origin-unclean + mozilla: { disabled } # relies on external resources + testing: + - security.fillStyle.image + images: + - http://{{domains[www2]}}:{{ports[http][0]}}/images/yellow.png + code: | + var p = ctx.createPattern(document.getElementById('yellow.png'), 'repeat'); + ctx.fillStyle = p; + ctx.fillStyle = 'red'; + @assert throws SECURITY_ERR canvas.toDataURL(); + @assert throws SECURITY_ERR ctx.getImageData(0, 0, 1, 1); + +- name: security.pattern.canvas.fillStyle.sub + desc: Setting fillStyle to a pattern of an unclean canvas makes the canvas origin-unclean + mozilla: { bug: 354127, disabled } # relies on external resources + testing: + - security.fillStyle.canvas + images: + - http://{{domains[www2]}}:{{ports[http][0]}}/images/yellow.png + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.drawImage(document.getElementById('yellow.png'), 0, 0); + var p = ctx.createPattern(canvas2, 'repeat'); + ctx.fillStyle = p; + ctx.fillStyle = 'red'; + @assert throws SECURITY_ERR canvas.toDataURL(); + @assert throws SECURITY_ERR ctx.getImageData(0, 0, 1, 1); + +- name: security.pattern.image.strokeStyle.sub + desc: Setting strokeStyle to a pattern of a different-origin image makes the canvas origin-unclean + mozilla: { disabled } # relies on external resources + testing: + - security.strokeStyle.image + images: + - http://{{domains[www2]}}:{{ports[http][0]}}/images/yellow.png + code: | + var p = ctx.createPattern(document.getElementById('yellow.png'), 'repeat'); + ctx.strokeStyle = p; + ctx.strokeStyle = 'red'; + @assert throws SECURITY_ERR canvas.toDataURL(); + @assert throws SECURITY_ERR ctx.getImageData(0, 0, 1, 1); + +- name: security.pattern.canvas.strokeStyle.sub + desc: Setting strokeStyle to a pattern of an unclean canvas makes the canvas origin-unclean + mozilla: { bug: 354127, disabled } # relies on external resources + testing: + - security.strokeStyle.canvas + images: + - http://{{domains[www2]}}:{{ports[http][0]}}/images/yellow.png + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.drawImage(document.getElementById('yellow.png'), 0, 0); + var p = ctx.createPattern(canvas2, 'repeat'); + ctx.strokeStyle = p; + ctx.strokeStyle = 'red'; + @assert throws SECURITY_ERR canvas.toDataURL(); + @assert throws SECURITY_ERR ctx.getImageData(0, 0, 1, 1); + +- name: security.dataURI + desc: 'data: URIs do not count as different-origin, and do not taint the canvas' + mozilla: { disabled, bug: 417836 } # can't do "todo" so just disable it + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + var data = canvas.toDataURL(); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + var img = new Image(); + deferTest(); + img.onload = t.step_func_done(function () + { + ctx.drawImage(img, 0, 0); + canvas.toDataURL(); // should be permitted + @assert pixel 50,25 == 0,255,0,255; + }); + img.src = data; + expected: green + +- name: security.reset.sub + desc: Resetting the canvas state does not reset the origin-clean flag + mozilla: { disabled } # relies on external resources + testing: + - initial.reset + images: + - http://{{domains[www2]}}:{{ports[http][0]}}/images/yellow.png + code: | + canvas.width = 50; + ctx.drawImage(document.getElementById('yellow.png'), 0, 0); + @assert throws SECURITY_ERR canvas.toDataURL(); + canvas.width = 100; + @assert throws SECURITY_ERR canvas.toDataURL(); diff --git a/tests/wpt/web-platform-tests/2dcontext/tools/tests2d.yaml b/tests/wpt/web-platform-tests/2dcontext/tools/tests2d.yaml new file mode 100644 index 00000000000..2c8dc3078eb --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/tools/tests2d.yaml @@ -0,0 +1,10030 @@ +# Copyright (c) 2011 Philip Taylor +# Released under the BSD license and W3C Test Suite License: see LICENSE.txt + +- name: 2d.getcontext.exists + desc: The 2D context is implemented + testing: + - context.2d + code: | + @assert canvas.getContext('2d') !== null; + +- name: 2d.getcontext.extraargs + desc: The 2D context ignores extra getContext arguments + testing: + - context.2d.extraargs + code: | + @assert canvas.getContext('2d', false, {}, [], 1, "2") !== null; + +- name: 2d.type.exists + desc: The 2D context interface is a property of 'window' + notes: &bindings Defined in "Web IDL" (draft) + testing: + - context.2d.type + code: | + @assert window.CanvasRenderingContext2D; + +- name: 2d.type.delete + desc: window.CanvasRenderingContext2D is Configurable + notes: *bindings + testing: + - context.2d.type + code: | + @assert window.CanvasRenderingContext2D !== undefined; + @assert delete window.CanvasRenderingContext2D === true; + @assert window.CanvasRenderingContext2D === undefined; + +- name: 2d.type.prototype + desc: window.CanvasRenderingContext2D.prototype are not [[Writable]] and not [[Configurable]], and its methods are [[Configurable]]. + notes: *bindings + testing: + - context.2d.type + code: | + @assert window.CanvasRenderingContext2D.prototype; + @assert window.CanvasRenderingContext2D.prototype.fill; + window.CanvasRenderingContext2D.prototype = null; + @assert window.CanvasRenderingContext2D.prototype; + delete window.CanvasRenderingContext2D.prototype; + @assert window.CanvasRenderingContext2D.prototype; + window.CanvasRenderingContext2D.prototype.fill = 1; + @assert window.CanvasRenderingContext2D.prototype.fill === 1; + delete window.CanvasRenderingContext2D.prototype.fill; + @assert window.CanvasRenderingContext2D.prototype.fill === undefined; + +- name: 2d.type.replace + desc: Interface methods can be overridden + notes: *bindings + testing: + - context.2d.type + code: | + var fillRect = window.CanvasRenderingContext2D.prototype.fillRect; + window.CanvasRenderingContext2D.prototype.fillRect = function (x, y, w, h) + { + this.fillStyle = '#0f0'; + fillRect.call(this, x, y, w, h); + }; + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.type.extend + desc: Interface methods can be added + notes: *bindings + testing: + - context.2d.type + code: | + window.CanvasRenderingContext2D.prototype.fillRectGreen = function (x, y, w, h) + { + this.fillStyle = '#0f0'; + this.fillRect(x, y, w, h); + }; + ctx.fillStyle = '#f00'; + ctx.fillRectGreen(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.getcontext.unique + desc: getContext('2d') returns the same object + testing: + - context.unique + code: | + @assert canvas.getContext('2d') === canvas.getContext('2d'); + +- name: 2d.getcontext.shared + desc: getContext('2d') returns objects which share canvas state + testing: + - context.unique + code: | + var ctx2 = canvas.getContext('2d'); + ctx.fillStyle = '#f00'; + ctx2.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.voidreturn + desc: void methods return undefined + notes: *bindings + images: + - yellow.png + code: | + @assert ctx.save() === undefined; + @assert ctx.restore() === undefined; + @assert ctx.scale(1, 1) === undefined; + @assert ctx.rotate(0) === undefined; + @assert ctx.translate(0, 0) === undefined; + if (ctx.transform) { // (avoid spurious failures, since the aim here is not to test that all features are supported) + @assert ctx.transform(1, 0, 0, 1, 0, 0) === undefined; + } + if (ctx.setTransform) { + @assert ctx.setTransform(1, 0, 0, 1, 0, 0) === undefined; + } + @assert ctx.clearRect(0, 0, 0, 0) === undefined; + @assert ctx.fillRect(0, 0, 0, 0) === undefined; + @assert ctx.strokeRect(0, 0, 0, 0) === undefined; + @assert ctx.beginPath() === undefined; + @assert ctx.closePath() === undefined; + @assert ctx.moveTo(0, 0) === undefined; + @assert ctx.lineTo(0, 0) === undefined; + @assert ctx.quadraticCurveTo(0, 0, 0, 0) === undefined; + @assert ctx.bezierCurveTo(0, 0, 0, 0, 0, 0) === undefined; + @assert ctx.arcTo(0, 0, 0, 0, 1) === undefined; + @assert ctx.rect(0, 0, 0, 0) === undefined; + @assert ctx.arc(0, 0, 1, 0, 0, true) === undefined; + @assert ctx.fill() === undefined; + @assert ctx.stroke() === undefined; + @assert ctx.clip() === undefined; + if (ctx.fillText) { + @assert ctx.fillText('test', 0, 0) === undefined; + @assert ctx.strokeText('test', 0, 0) === undefined; + } + if (ctx.putImageData) { + @assert ctx.putImageData(ctx.getImageData(0, 0, 1, 1), 0, 0) === undefined; + } + @assert ctx.drawImage(document.getElementById('yellow.png'), 0, 0, 1, 1, 0, 0, 0, 0) === undefined; + @assert ctx.drawImage(canvas, 0, 0, 1, 1, 0, 0, 0, 0) === undefined; + @assert ctx.createLinearGradient(0, 0, 0, 0).addColorStop(0, 'white') === undefined; + +- name: 2d.missingargs + desc: Missing arguments cause TypeError + code: | + @assert throws TypeError ctx.scale(); + @assert throws TypeError ctx.scale(1); + @assert throws TypeError ctx.rotate(); + @assert throws TypeError ctx.translate(); + @assert throws TypeError ctx.translate(0); + if (ctx.transform) { // (avoid spurious failures, since the aim here is not to test that all features are supported) + @assert throws TypeError ctx.transform(); + @assert throws TypeError ctx.transform(1); + @assert throws TypeError ctx.transform(1, 0); + @assert throws TypeError ctx.transform(1, 0, 0); + @assert throws TypeError ctx.transform(1, 0, 0, 1); + @assert throws TypeError ctx.transform(1, 0, 0, 1, 0); + } + if (ctx.setTransform) { + @assert throws TypeError ctx.setTransform(); + @assert throws TypeError ctx.setTransform(1); + @assert throws TypeError ctx.setTransform(1, 0); + @assert throws TypeError ctx.setTransform(1, 0, 0); + @assert throws TypeError ctx.setTransform(1, 0, 0, 1); + @assert throws TypeError ctx.setTransform(1, 0, 0, 1, 0); + } + @assert throws TypeError ctx.createLinearGradient(); + @assert throws TypeError ctx.createLinearGradient(0); + @assert throws TypeError ctx.createLinearGradient(0, 0); + @assert throws TypeError ctx.createLinearGradient(0, 0, 1); + @assert throws TypeError ctx.createRadialGradient(); + @assert throws TypeError ctx.createRadialGradient(0); + @assert throws TypeError ctx.createRadialGradient(0, 0); + @assert throws TypeError ctx.createRadialGradient(0, 0, 1); + @assert throws TypeError ctx.createRadialGradient(0, 0, 1, 0); + @assert throws TypeError ctx.createRadialGradient(0, 0, 1, 0, 0); + @assert throws TypeError ctx.createPattern(canvas); + @assert throws TypeError ctx.clearRect(); + @assert throws TypeError ctx.clearRect(0); + @assert throws TypeError ctx.clearRect(0, 0); + @assert throws TypeError ctx.clearRect(0, 0, 0); + @assert throws TypeError ctx.fillRect(); + @assert throws TypeError ctx.fillRect(0); + @assert throws TypeError ctx.fillRect(0, 0); + @assert throws TypeError ctx.fillRect(0, 0, 0); + @assert throws TypeError ctx.strokeRect(); + @assert throws TypeError ctx.strokeRect(0); + @assert throws TypeError ctx.strokeRect(0, 0); + @assert throws TypeError ctx.strokeRect(0, 0, 0); + @assert throws TypeError ctx.moveTo(); + @assert throws TypeError ctx.moveTo(0); + @assert throws TypeError ctx.lineTo(); + @assert throws TypeError ctx.lineTo(0); + @assert throws TypeError ctx.quadraticCurveTo(); + @assert throws TypeError ctx.quadraticCurveTo(0); + @assert throws TypeError ctx.quadraticCurveTo(0, 0); + @assert throws TypeError ctx.quadraticCurveTo(0, 0, 0); + @assert throws TypeError ctx.bezierCurveTo(); + @assert throws TypeError ctx.bezierCurveTo(0); + @assert throws TypeError ctx.bezierCurveTo(0, 0); + @assert throws TypeError ctx.bezierCurveTo(0, 0, 0); + @assert throws TypeError ctx.bezierCurveTo(0, 0, 0, 0); + @assert throws TypeError ctx.bezierCurveTo(0, 0, 0, 0, 0); + @assert throws TypeError ctx.arcTo(); + @assert throws TypeError ctx.arcTo(0); + @assert throws TypeError ctx.arcTo(0, 0); + @assert throws TypeError ctx.arcTo(0, 0, 0); + @assert throws TypeError ctx.arcTo(0, 0, 0, 0); + @assert throws TypeError ctx.rect(); + @assert throws TypeError ctx.rect(0); + @assert throws TypeError ctx.rect(0, 0); + @assert throws TypeError ctx.rect(0, 0, 0); + @assert throws TypeError ctx.arc(); + @assert throws TypeError ctx.arc(0); + @assert throws TypeError ctx.arc(0, 0); + @assert throws TypeError ctx.arc(0, 0, 1); + @assert throws TypeError ctx.arc(0, 0, 1, 0); + // (6th argument to arc is optional) + if (ctx.isPointInPath) { + @assert throws TypeError ctx.isPointInPath(); + @assert throws TypeError ctx.isPointInPath(0); + } + if (ctx.drawFocusRing) { + @assert throws TypeError ctx.drawFocusRing(); + @assert throws TypeError ctx.drawFocusRing(canvas); + @assert throws TypeError ctx.drawFocusRing(canvas, 0); + } + if (ctx.fillText) { + @assert throws TypeError ctx.fillText(); + @assert throws TypeError ctx.fillText('test'); + @assert throws TypeError ctx.fillText('test', 0); + @assert throws TypeError ctx.strokeText(); + @assert throws TypeError ctx.strokeText('test'); + @assert throws TypeError ctx.strokeText('test', 0); + @assert throws TypeError ctx.measureText(); + } + @assert throws TypeError ctx.drawImage(); + @assert throws TypeError ctx.drawImage(canvas); + @assert throws TypeError ctx.drawImage(canvas, 0); + // TODO: n >= 3 args on drawImage could be either a valid overload, + // or too few for another overload, or too many for another + // overload - what should happen? + if (ctx.createImageData) { + @assert throws TypeError ctx.createImageData(); + @assert throws TypeError ctx.createImageData(1); + } + if (ctx.getImageData) { + @assert throws TypeError ctx.getImageData(); + @assert throws TypeError ctx.getImageData(0); + @assert throws TypeError ctx.getImageData(0, 0); + @assert throws TypeError ctx.getImageData(0, 0, 1); + } + if (ctx.putImageData) { + var imgdata = ctx.getImageData(0, 0, 1, 1); + @assert throws TypeError ctx.putImageData(); + @assert throws TypeError ctx.putImageData(imgdata); + @assert throws TypeError ctx.putImageData(imgdata, 0); + } + var g = ctx.createLinearGradient(0, 0, 0, 0); + @assert throws TypeError g.addColorStop(); @moz-todo + @assert throws TypeError g.addColorStop(0); @moz-todo + +- name: 2d.coordinatespace + desc: Coordinate space goes from top-left to bottom-right + notes: This should not be upside down. + manual: We can't tell that getPixelData isn't using the wrong coordinate space too. + testing: + - 2d.coordinatespace + code: | + ctx.fillStyle = '#00f'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0ff'; + ctx.fillRect(0, 0, 50, 25); + @assert pixel 25,12 == 0,255,255,255; + @assert pixel 75,12 == 0,0,255,255; + @assert pixel 25,37 == 0,0,255,255; + @assert pixel 75,37 == 0,0,255,255; + expected: | + size 100 50 + cr.set_source_rgb(0, 0, 1) + cr.rectangle(0, 0, 100, 50) + cr.fill() + cr.set_source_rgb(0, 1, 1) + cr.rectangle(0, 0, 50, 25) + cr.fill() + +- name: 2d.scaled + desc: CSS-scaled canvases get drawn correctly + canvas: 'width="50" height="25" style="width: 100px; height: 50px"' + manual: + code: | + ctx.fillStyle = '#00f'; + ctx.fillRect(0, 0, 50, 25); + ctx.fillStyle = '#0ff'; + ctx.fillRect(0, 0, 25, 10); + expected: | + size 100 50 + cr.set_source_rgb(0, 0, 1) + cr.rectangle(0, 0, 100, 50) + cr.fill() + cr.set_source_rgb(0, 1, 1) + cr.rectangle(0, 0, 50, 20) + cr.fill() + +- name: 2d.canvas.reference + desc: CanvasRenderingContext2D.canvas refers back to its canvas + testing: + - 2d.canvas + code: | + @assert ctx.canvas === canvas; + +- name: 2d.canvas.readonly + desc: CanvasRenderingContext2D.canvas is readonly + testing: + - 2d.canvas.attribute + code: | + var c = document.createElement('canvas'); + var d = ctx.canvas; + @assert c !== d; + ctx.canvas = c; + @assert ctx.canvas === d; + +- meta: | + state = [ # some non-default values to test with + ('strokeStyle', '"#ff0000"'), + ('fillStyle', '"#ff0000"'), + ('globalAlpha', 0.5), + ('lineWidth', 0.5), + ('lineCap', '"round"'), + ('lineJoin', '"round"'), + ('miterLimit', 0.5), + ('shadowOffsetX', 5), + ('shadowOffsetY', 5), + ('shadowBlur', 5), + ('shadowColor', '"#ff0000"'), + ('globalCompositeOperation', '"copy"'), + ('font', '"25px serif"'), + ('textAlign', '"center"'), + ('textBaseline', '"bottom"'), + ] + for key,value in state: + tests.append( { + 'name': '2d.state.saverestore.%s' % key, + 'desc': 'save()/restore() works for %s' % key, + 'testing': [ '2d.state.%s' % key ], + 'code': + """// Test that restore() undoes any modifications + var old = ctx.%(key)s; + ctx.save(); + ctx.%(key)s = %(value)s; + ctx.restore(); + @assert ctx.%(key)s === old; + + // Also test that save() doesn't modify the values + ctx.%(key)s = %(value)s; + old = ctx.%(key)s; + // we're not interested in failures caused by get(set(x)) != x (e.g. + // from rounding), so compare against 'old' instead of against %(value)s + ctx.save(); + @assert ctx.%(key)s === old; + ctx.restore(); + """ % { 'key':key, 'value':value } + } ) + + tests.append( { + 'name': 'initial.reset.2dstate', + 'desc': 'Resetting the canvas state resets 2D state variables', + 'testing': [ 'initial.reset' ], + 'code': + """canvas.width = 100; + var default_val; + """ + "".join( + """ + default_val = ctx.%(key)s; + ctx.%(key)s = %(value)s; + canvas.width = 100; + @assert ctx.%(key)s === default_val; + """ % { 'key':key, 'value':value } + for key,value in state), + } ) + +- name: 2d.state.saverestore.transformation + desc: save()/restore() affects the current transformation matrix + testing: + - 2d.state.transformation + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.save(); + ctx.translate(200, 0); + ctx.restore(); + ctx.fillStyle = '#f00'; + ctx.fillRect(-200, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.state.saverestore.clip + desc: save()/restore() affects the clipping path + testing: + - 2d.state.clip + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.save(); + ctx.rect(0, 0, 1, 1); + ctx.clip(); + ctx.restore(); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.state.saverestore.path + desc: save()/restore() does not affect the current path + testing: + - 2d.state.path + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.save(); + ctx.rect(0, 0, 100, 50); + ctx.restore(); + ctx.fillStyle = '#0f0'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.state.saverestore.bitmap + desc: save()/restore() does not affect the current bitmap + testing: + - 2d.state.bitmap + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.save(); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.restore(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.state.saverestore.stack + desc: save()/restore() can be nested as a stack + testing: + - 2d.state.save + - 2d.state.restore + code: | + ctx.lineWidth = 1; + ctx.save(); + ctx.lineWidth = 2; + ctx.save(); + ctx.lineWidth = 3; + @assert ctx.lineWidth === 3; + ctx.restore(); + @assert ctx.lineWidth === 2; + ctx.restore(); + @assert ctx.lineWidth === 1; + +- name: 2d.state.saverestore.stackdepth + desc: save()/restore() stack depth is not unreasonably limited + testing: + - 2d.state.save + - 2d.state.restore + code: | + var limit = 512; + for (var i = 1; i < limit; ++i) + { + ctx.save(); + ctx.lineWidth = i; + } + for (var i = limit-1; i > 0; --i) + { + @assert ctx.lineWidth === i; + ctx.restore(); + } + +- name: 2d.state.saverestore.underflow + desc: restore() with an empty stack has no effect + testing: + - 2d.state.restore.underflow + code: | + for (var i = 0; i < 16; ++i) + ctx.restore(); + ctx.lineWidth = 0.5; + ctx.restore(); + @assert ctx.lineWidth === 0.5; + + +- name: 2d.transformation.order + desc: Transformations are applied in the right order + testing: + - 2d.transformation.order + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.scale(2, 1); + ctx.rotate(Math.PI / 2); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, -50, 50, 50); + @assert pixel 75,25 == 0,255,0,255; + expected: green + + +- name: 2d.transformation.scale.basic + desc: scale() works + testing: + - 2d.transformation.scale + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.scale(2, 4); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 50, 12.5); + @assert pixel 90,40 == 0,255,0,255; + expected: green + +- name: 2d.transformation.scale.zero + desc: scale() with a scale factor of zero works + testing: + - 2d.transformation.scale + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.save(); + ctx.translate(50, 0); + ctx.scale(0, 1); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.restore(); + + ctx.save(); + ctx.translate(0, 25); + ctx.scale(1, 0); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.restore(); + + canvas.toDataURL(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.transformation.scale.negative + desc: scale() with negative scale factors works + testing: + - 2d.transformation.scale + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.save(); + ctx.scale(-1, 1); + ctx.fillStyle = '#0f0'; + ctx.fillRect(-50, 0, 50, 50); + ctx.restore(); + + ctx.save(); + ctx.scale(1, -1); + ctx.fillStyle = '#0f0'; + ctx.fillRect(50, -50, 50, 50); + ctx.restore(); + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.transformation.scale.large + desc: scale() with large scale factors works + notes: Not really that large at all, but it hits the limits in Firefox. + testing: + - 2d.transformation.scale + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.scale(1e5, 1e5); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 1, 1); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.transformation.scale.nonfinite + desc: scale() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.translate(100, 10); + @nonfinite ctx.scale(<0.1 Infinity -Infinity NaN>, <0.1 Infinity -Infinity NaN>); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(-100, -10, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.transformation.scale.multiple + desc: Multiple scale()s combine + testing: + - 2d.transformation.scale.multiple + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.scale(Math.sqrt(2), Math.sqrt(2)); + ctx.scale(Math.sqrt(2), Math.sqrt(2)); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 50, 25); + @assert pixel 90,40 == 0,255,0,255; + expected: green + + +- name: 2d.transformation.rotate.zero + desc: rotate() by 0 does nothing + testing: + - 2d.transformation.rotate + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.rotate(0); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.transformation.rotate.radians + desc: rotate() uses radians + testing: + - 2d.transformation.rotate.radians + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.rotate(Math.PI); // should fail obviously if this is 3.1 degrees + ctx.fillStyle = '#0f0'; + ctx.fillRect(-100, -50, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.transformation.rotate.direction + desc: rotate() is clockwise + testing: + - 2d.transformation.rotate.direction + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.rotate(Math.PI / 2); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, -100, 50, 100); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.transformation.rotate.wrap + desc: rotate() wraps large positive values correctly + testing: + - 2d.transformation.rotate + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.rotate(Math.PI * (1 + 4096)); // == pi (mod 2*pi) + // We need about pi +/- 0.001 in order to get correct-looking results + // 32-bit floats can store pi*4097 with precision 2^-10, so that should + // be safe enough on reasonable implementations + ctx.fillStyle = '#0f0'; + ctx.fillRect(-100, -50, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,2 == 0,255,0,255; + @assert pixel 98,47 == 0,255,0,255; + expected: green + +- name: 2d.transformation.rotate.wrapnegative + desc: rotate() wraps large negative values correctly + testing: + - 2d.transformation.rotate + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.rotate(-Math.PI * (1 + 4096)); + ctx.fillStyle = '#0f0'; + ctx.fillRect(-100, -50, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,2 == 0,255,0,255; + @assert pixel 98,47 == 0,255,0,255; + expected: green + +- name: 2d.transformation.rotate.nonfinite + desc: rotate() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.translate(100, 10); + @nonfinite ctx.rotate(<0.1 Infinity -Infinity NaN>); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(-100, -10, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.transformation.translate.basic + desc: translate() works + testing: + - 2d.transformation.translate + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.translate(100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillRect(-100, -50, 100, 50); + @assert pixel 90,40 == 0,255,0,255; + expected: green + +- name: 2d.transformation.translate.nonfinite + desc: translate() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.translate(100, 10); + @nonfinite ctx.translate(<0.1 Infinity -Infinity NaN>, <0.1 Infinity -Infinity NaN>); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(-100, -10, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + + +- name: 2d.transformation.transform.identity + desc: transform() with the identity matrix does nothing + testing: + - 2d.transformation.transform + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.transform(1,0, 0,1, 0,0); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.transformation.transform.skewed + desc: transform() with skewy matrix transforms correctly + testing: + - 2d.transformation.transform + code: | + // Create green with a red square ring inside it + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(20, 10, 60, 30); + ctx.fillStyle = '#0f0'; + ctx.fillRect(40, 20, 20, 10); + + // Draw a skewed shape to fill that gap, to make sure it is aligned correctly + ctx.transform(1,4, 2,3, 5,6); + // Post-transform coordinates: + // [[20,10],[80,10],[80,40],[20,40],[20,10],[40,20],[40,30],[60,30],[60,20],[40,20],[20,10]]; + // Hence pre-transform coordinates: + var pts=[[-7.4,11.2],[-43.4,59.2],[-31.4,53.2],[4.6,5.2],[-7.4,11.2], + [-15.4,25.2],[-11.4,23.2],[-23.4,39.2],[-27.4,41.2],[-15.4,25.2], + [-7.4,11.2]]; + ctx.beginPath(); + ctx.moveTo(pts[0][0], pts[0][1]); + for (var i = 0; i < pts.length; ++i) + ctx.lineTo(pts[i][0], pts[i][1]); + ctx.fill(); + @assert pixel 21,11 == 0,255,0,255; + @assert pixel 79,11 == 0,255,0,255; + @assert pixel 21,39 == 0,255,0,255; + @assert pixel 79,39 == 0,255,0,255; + @assert pixel 39,19 == 0,255,0,255; + @assert pixel 61,19 == 0,255,0,255; + @assert pixel 39,31 == 0,255,0,255; + @assert pixel 61,31 == 0,255,0,255; + expected: green + +- name: 2d.transformation.transform.multiply + desc: transform() multiplies the CTM + testing: + - 2d.transformation.transform.multiply + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.transform(1,2, 3,4, 5,6); + ctx.transform(-2,1, 3/2,-1/2, 1,-2); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.transformation.transform.nonfinite + desc: transform() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.translate(100, 10); + @nonfinite ctx.transform(<0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(-100, -10, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + + +- name: 2d.transformation.setTransform.skewed + testing: + - 2d.transformation.setTransform + code: | + // Create green with a red square ring inside it + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(20, 10, 60, 30); + ctx.fillStyle = '#0f0'; + ctx.fillRect(40, 20, 20, 10); + + // Draw a skewed shape to fill that gap, to make sure it is aligned correctly + ctx.setTransform(1,4, 2,3, 5,6); + // Post-transform coordinates: + // [[20,10],[80,10],[80,40],[20,40],[20,10],[40,20],[40,30],[60,30],[60,20],[40,20],[20,10]]; + // Hence pre-transform coordinates: + var pts=[[-7.4,11.2],[-43.4,59.2],[-31.4,53.2],[4.6,5.2],[-7.4,11.2], + [-15.4,25.2],[-11.4,23.2],[-23.4,39.2],[-27.4,41.2],[-15.4,25.2], + [-7.4,11.2]]; + ctx.beginPath(); + ctx.moveTo(pts[0][0], pts[0][1]); + for (var i = 0; i < pts.length; ++i) + ctx.lineTo(pts[i][0], pts[i][1]); + ctx.fill(); + @assert pixel 21,11 == 0,255,0,255; + @assert pixel 79,11 == 0,255,0,255; + @assert pixel 21,39 == 0,255,0,255; + @assert pixel 79,39 == 0,255,0,255; + @assert pixel 39,19 == 0,255,0,255; + @assert pixel 61,19 == 0,255,0,255; + @assert pixel 39,31 == 0,255,0,255; + @assert pixel 61,31 == 0,255,0,255; + expected: green + +- name: 2d.transformation.setTransform.multiple + testing: + - 2d.transformation.setTransform.identity + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.setTransform(1/2,0, 0,1/2, 0,0); + ctx.setTransform(2,0, 0,2, 0,0); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 50, 25); + @assert pixel 75,35 == 0,255,0,255; + expected: green + +- name: 2d.transformation.setTransform.nonfinite + desc: setTransform() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.translate(100, 10); + @nonfinite ctx.setTransform(<0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(-100, -10, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + + +- name: 2d.composite.globalAlpha.range + testing: + - 2d.composite.globalAlpha.range + code: | + ctx.globalAlpha = 0.5; + var a = ctx.globalAlpha; // might not be exactly 0.5, if it is rounded/quantised, so remember for future comparisons + ctx.globalAlpha = 1.1; + @assert ctx.globalAlpha === a; + ctx.globalAlpha = -0.1; + @assert ctx.globalAlpha === a; + ctx.globalAlpha = 0; + @assert ctx.globalAlpha === 0; + ctx.globalAlpha = 1; + @assert ctx.globalAlpha === 1; + +- name: 2d.composite.globalAlpha.invalid + testing: + - 2d.composite.globalAlpha.range + code: | + ctx.globalAlpha = 0.5; + var a = ctx.globalAlpha; // might not be exactly 0.5, if it is rounded/quantised, so remember for future comparisons + ctx.globalAlpha = Infinity; + @assert ctx.globalAlpha === a; + ctx.globalAlpha = -Infinity; + @assert ctx.globalAlpha === a; + ctx.globalAlpha = NaN; + @assert ctx.globalAlpha === a; + +- name: 2d.composite.globalAlpha.default + testing: + - 2d.composite.globalAlpha.default + code: | + @assert ctx.globalAlpha === 1.0; + +- name: 2d.composite.globalAlpha.fill + testing: + - 2d.composite.globalAlpha.shape + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalAlpha = 0.01; // avoid any potential alpha=0 optimisations + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 ==~ 2,253,0,255; + expected: green + +- name: 2d.composite.globalAlpha.image + testing: + - 2d.composite.globalAlpha.image + images: + - red.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalAlpha = 0.01; // avoid any potential alpha=0 optimisations + ctx.drawImage(document.getElementById('red.png'), 0, 0); + @assert pixel 50,25 ==~ 2,253,0,255; + expected: green + +- name: 2d.composite.globalAlpha.canvas + testing: + - 2d.composite.globalAlpha.image + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = '#f00'; + ctx2.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalAlpha = 0.01; // avoid any potential alpha=0 optimisations + ctx.drawImage(canvas2, 0, 0); + @assert pixel 50,25 ==~ 2,253,0,255; + expected: green + +- name: 2d.composite.globalAlpha.imagepattern + testing: + - 2d.composite.globalAlpha.image + images: + - red.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = ctx.createPattern(document.getElementById('red.png'), 'no-repeat'); + ctx.globalAlpha = 0.01; // avoid any potential alpha=0 optimisations + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 ==~ 2,253,0,255; + expected: green + +- name: 2d.composite.globalAlpha.canvaspattern + testing: + - 2d.composite.globalAlpha.image + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = '#f00'; + ctx2.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = ctx.createPattern(canvas2, 'no-repeat'); + ctx.globalAlpha = 0.01; // avoid any potential alpha=0 optimisations + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 ==~ 2,253,0,255; + expected: green + + +- meta: | + # Composite operation tests + # + ops = [ + # name FA FB + ('source-over', '1', '1-aA'), + ('destination-over', '1-aB', '1'), + ('source-in', 'aB', '0'), + ('destination-in', '0', 'aA'), + ('source-out', '1-aB', '0'), + ('destination-out', '0', '1-aA'), + ('source-atop', 'aB', '1-aA'), + ('destination-atop', '1-aB', 'aA'), + ('xor', '1-aB', '1-aA'), + ('copy', '1', '0'), + ('lighter', '1', '1'), + ] + + # The ones that change the output when src = (0,0,0,0): + ops_trans = [ 'source-in', 'destination-in', 'source-out', 'destination-atop', 'copy' ]; + + def calc_output((RA, GA, BA, aA), (RB, GB, BB, aB), FA_code, FB_code): + rA, gA, bA = RA*aA, GA*aA, BA*aA + rB, gB, bB = RB*aB, GB*aB, BB*aB + + FA = eval(FA_code) + FB = eval(FB_code) + + rO = rA*FA + rB*FB + gO = gA*FA + gB*FB + bO = bA*FA + bB*FB + aO = aA*FA + aB*FB + + rO = min(255, rO) + gO = min(255, gO) + bO = min(255, bO) + aO = min(1, aO) + + if aO: + RO = rO / aO + GO = gO / aO + BO = bO / aO + else: RO = GO = BO = 0 + + return (RO, GO, BO, aO) + + def to_test((r,g,b,a)): + return '%d,%d,%d,%d' % (round(r), round(g), round(b), round(a*255)) + def to_cairo((r,g,b,a)): + return '%f,%f,%f,%f' % (r/255., g/255., b/255., a) + + for (name, src, dest) in [ + ('solid', (255, 255, 0, 1.0), (0, 255, 255, 1.0)), + ('transparent', (0, 0, 255, 0.75), (0, 255, 0, 0.5)), + # catches the atop, xor and lighter bugs in Opera 9.10 + ]: + for op, FA_code, FB_code in ops: + expected = calc_output(src, dest, FA_code, FB_code) + tests.append( { + 'name': '2d.composite.%s.%s' % (name, op), + 'testing': [ '2d.composite.%s' % op ], + 'code': """ + ctx.fillStyle = 'rgba%s'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = '%s'; + ctx.fillStyle = 'rgba%s'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 ==~ %s +/- 5; + """ % (dest, op, src, to_test(expected)), + 'expected': """size 100 50 + cr.set_source_rgba(%s) + cr.rectangle(0, 0, 100, 50) + cr.fill() + """ % to_cairo(expected), + } ) + + for (name, src, dest) in [ ('image', (255, 255, 0, 0.75), (0, 255, 255, 0.5)) ]: + for op, FA_code, FB_code in ops: + expected = calc_output(src, dest, FA_code, FB_code) + tests.append( { + 'name': '2d.composite.%s.%s' % (name, op), + 'testing': [ '2d.composite.%s' % op ], + 'images': [ 'yellow75.png' ], + 'code': """ + ctx.fillStyle = 'rgba%s'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = '%s'; + ctx.drawImage(document.getElementById('yellow75.png'), 0, 0); + @assert pixel 50,25 ==~ %s +/- 5; + """ % (dest, op, to_test(expected)), + 'expected': """size 100 50 + cr.set_source_rgba(%s) + cr.rectangle(0, 0, 100, 50) + cr.fill() + """ % to_cairo(expected), + } ) + + for (name, src, dest) in [ ('canvas', (255, 255, 0, 0.75), (0, 255, 255, 0.5)) ]: + for op, FA_code, FB_code in ops: + expected = calc_output(src, dest, FA_code, FB_code) + tests.append( { + 'name': '2d.composite.%s.%s' % (name, op), + 'testing': [ '2d.composite.%s' % op ], + 'images': [ 'yellow75.png' ], + 'code': """ + var canvas2 = document.createElement('canvas'); + canvas2.width = canvas.width; + canvas2.height = canvas.height; + var ctx2 = canvas2.getContext('2d'); + ctx2.drawImage(document.getElementById('yellow75.png'), 0, 0); + ctx.fillStyle = 'rgba%s'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = '%s'; + ctx.drawImage(canvas2, 0, 0); + @assert pixel 50,25 ==~ %s +/- 5; + """ % (dest, op, to_test(expected)), + 'expected': """size 100 50 + cr.set_source_rgba(%s) + cr.rectangle(0, 0, 100, 50) + cr.fill() + """ % to_cairo(expected), + } ) + + + for (name, src, dest) in [ ('uncovered.fill', (0, 0, 255, 0.75), (0, 255, 0, 0.5)) ]: + for op, FA_code, FB_code in ops: + if op not in ops_trans: continue + expected0 = calc_output((0,0,0,0.0), dest, FA_code, FB_code) + tests.append( { + 'name': '2d.composite.%s.%s' % (name, op), + 'desc': 'fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.', + 'testing': [ '2d.composite.%s' % op ], + 'code': """ + ctx.fillStyle = 'rgba%s'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = '%s'; + ctx.fillStyle = 'rgba%s'; + ctx.translate(0, 25); + ctx.fillRect(0, 50, 100, 50); + @assert pixel 50,25 ==~ %s +/- 5; + """ % (dest, op, src, to_test(expected0)), + 'expected': """size 100 50 + cr.set_source_rgba(%s) + cr.rectangle(0, 0, 100, 50) + cr.fill() + """ % (to_cairo(expected0)), + } ) + + for (name, src, dest) in [ ('uncovered.image', (255, 255, 0, 1.0), (0, 255, 255, 0.5)) ]: + for op, FA_code, FB_code in ops: + if op not in ops_trans: continue + expected0 = calc_output((0,0,0,0.0), dest, FA_code, FB_code) + tests.append( { + 'name': '2d.composite.%s.%s' % (name, op), + 'desc': 'drawImage() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.', + 'testing': [ '2d.composite.%s' % op ], + 'images': [ 'yellow.png' ], + 'code': """ + ctx.fillStyle = 'rgba%s'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = '%s'; + ctx.drawImage(document.getElementById('yellow.png'), 40, 40, 10, 10, 40, 50, 10, 10); + @assert pixel 15,15 ==~ %s +/- 5; + @assert pixel 50,25 ==~ %s +/- 5; + """ % (dest, op, to_test(expected0), to_test(expected0)), + 'expected': """size 100 50 + cr.set_source_rgba(%s) + cr.rectangle(0, 0, 100, 50) + cr.fill() + """ % (to_cairo(expected0)), + } ) + + for (name, src, dest) in [ ('uncovered.nocontext', (255, 255, 0, 1.0), (0, 255, 255, 0.5)) ]: + for op, FA_code, FB_code in ops: + if op not in ops_trans: continue + expected0 = calc_output((0,0,0,0.0), dest, FA_code, FB_code) + tests.append( { + 'name': '2d.composite.%s.%s' % (name, op), + 'desc': 'drawImage() of a canvas with no context draws pixels as (0,0,0,0), and does not leave the pixels unchanged.', + 'testing': [ '2d.composite.%s' % op ], + 'code': """ + ctx.fillStyle = 'rgba%s'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = '%s'; + var canvas2 = document.createElement('canvas'); + ctx.drawImage(canvas2, 0, 0); + @assert pixel 50,25 ==~ %s +/- 5; + """ % (dest, op, to_test(expected0)), + 'expected': """size 100 50 + cr.set_source_rgba(%s) + cr.rectangle(0, 0, 100, 50) + cr.fill() + """ % (to_cairo(expected0)), + } ) + + for (name, src, dest) in [ ('uncovered.pattern', (255, 255, 0, 1.0), (0, 255, 255, 0.5)) ]: + for op, FA_code, FB_code in ops: + if op not in ops_trans: continue + expected0 = calc_output((0,0,0,0.0), dest, FA_code, FB_code) + tests.append( { + 'name': '2d.composite.%s.%s' % (name, op), + 'desc': 'Pattern fill() draws pixels not covered by the source object as (0,0,0,0), and does not leave the pixels unchanged.', + 'testing': [ '2d.composite.%s' % op ], + 'images': [ 'yellow.png' ], + 'code': """ + ctx.fillStyle = 'rgba%s'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = '%s'; + ctx.fillStyle = ctx.createPattern(document.getElementById('yellow.png'), 'no-repeat'); + ctx.fillRect(0, 50, 100, 50); + @assert pixel 50,25 ==~ %s +/- 5; + """ % (dest, op, to_test(expected0)), + 'expected': """size 100 50 + cr.set_source_rgba(%s) + cr.rectangle(0, 0, 100, 50) + cr.fill() + """ % (to_cairo(expected0)), + } ) + + for op, FA_code, FB_code in ops: + tests.append( { + 'name': '2d.composite.clip.%s' % (op), + 'desc': 'fill() does not affect pixels outside the clip region.', + 'testing': [ '2d.composite.%s' % op ], + 'code': """ + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = '%s'; + ctx.rect(-20, -20, 10, 10); + ctx.clip(); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 50, 50); + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + """ % (op), + 'expected': 'green' + } ) + +- name: 2d.composite.operation.get + testing: + - 2d.composite.operation + code: | + var modes = ['source-atop', 'source-in', 'source-out', 'source-over', + 'destination-atop', 'destination-in', 'destination-out', 'destination-over', + 'lighter', 'copy', 'xor']; + for (var i = 0; i < modes.length; ++i) + { + ctx.globalCompositeOperation = modes[i]; + @assert ctx.globalCompositeOperation === modes[i]; + } + +- name: 2d.composite.operation.unrecognised + testing: + - 2d.composite.operation.unrecognised + code: | + ctx.globalCompositeOperation = 'xor'; + ctx.globalCompositeOperation = 'nonexistent'; + @assert ctx.globalCompositeOperation === 'xor'; + +- name: 2d.composite.operation.darker + testing: + - 2d.composite.operation.unrecognised + code: | + ctx.globalCompositeOperation = 'xor'; + ctx.globalCompositeOperation = 'darker'; + @assert ctx.globalCompositeOperation === 'xor'; + +- name: 2d.composite.operation.over + testing: + - 2d.composite.operation.unrecognised + code: | + ctx.globalCompositeOperation = 'xor'; + ctx.globalCompositeOperation = 'over'; + @assert ctx.globalCompositeOperation === 'xor'; + +- name: 2d.composite.operation.clear + testing: + - 2d.composite.operation.unrecognised + code: | + ctx.globalCompositeOperation = 'xor'; + ctx.globalCompositeOperation = 'clear'; + @assert ctx.globalCompositeOperation === 'xor'; + +- name: 2d.composite.operation.highlight + testing: + - 2d.composite.operation.unrecognised + code: | + ctx.globalCompositeOperation = 'xor'; + ctx.globalCompositeOperation = 'highlight'; + @assert ctx.globalCompositeOperation === 'xor'; + +- name: 2d.composite.operation.nullsuffix + testing: + - 2d.composite.operation.exact + code: | + ctx.globalCompositeOperation = 'xor'; + ctx.globalCompositeOperation = 'source-over\0'; + @assert ctx.globalCompositeOperation === 'xor'; + +- name: 2d.composite.operation.casesensitive + testing: + - 2d.composite.operation.casesensitive + code: | + ctx.globalCompositeOperation = 'xor'; + ctx.globalCompositeOperation = 'Source-over'; + @assert ctx.globalCompositeOperation === 'xor'; + +- name: 2d.composite.operation.default + testing: + - 2d.composite.operation.default + code: | + @assert ctx.globalCompositeOperation === 'source-over'; + + +- meta: | + # Colour parsing tests + + # Try most of the CSS3 Color values - http://www.w3.org/TR/css3-color/#colorunits + big_float = '1' + ('0' * 39) + big_double = '1' + ('0' * 310) + for name, string, r,g,b,a, notes in [ + ('html4', 'limE', 0,255,0,255, ""), + ('hex3', '#0f0', 0,255,0,255, ""), + ('hex6', '#00fF00', 0,255,0,255, ""), + ('rgb-num', 'rgb(0,255,0)', 0,255,0,255, ""), + ('rgb-clamp-1', 'rgb(-1000, 1000, -1000)', 0,255,0,255, 'Assumes colours are clamped to [0,255].'), + ('rgb-clamp-2', 'rgb(-200%, 200%, -200%)', 0,255,0,255, 'Assumes colours are clamped to [0,255].'), + ('rgb-clamp-3', 'rgb(-2147483649, 4294967298, -18446744073709551619)', 0,255,0,255, 'Assumes colours are clamped to [0,255].'), + ('rgb-clamp-4', 'rgb(-'+big_float+', '+big_float+', -'+big_float+')', 0,255,0,255, 'Assumes colours are clamped to [0,255].'), + ('rgb-clamp-5', 'rgb(-'+big_double+', '+big_double+', -'+big_double+')', 0,255,0,255, 'Assumes colours are clamped to [0,255].'), + ('rgb-percent', 'rgb(0% ,100% ,0%)', 0,255,0,255, 'CSS3 Color says "The integer value 255 corresponds to 100%". (In particular, it is not 254...)'), + ('rgb-eof', 'rgb(0, 255, 0', 0,255,0,255, ""), # see CSS2.1 4.2 "Unexpected end of style sheet" + ('rgba-solid-1', 'rgba( 0 , 255 , 0 , 1 )', 0,255,0,255, ""), + ('rgba-solid-2', 'rgba( 0 , 255 , 0 , 1.0 )', 0,255,0,255, ""), + ('rgba-solid-3', 'rgba( 0 , 255 , 0 , +1 )', 0,255,0,255, ""), + ('rgba-solid-4', 'rgba( -0 , 255 , +0 , 1 )', 0,255,0,255, ""), + ('rgba-num-1', 'rgba( 0 , 255 , 0 , .499 )', 0,255,0,127, ""), + ('rgba-num-2', 'rgba( 0 , 255 , 0 , 0.499 )', 0,255,0,127, ""), + ('rgba-percent', 'rgba(0%,100%,0%,0.499)', 0,255,0,127, ""), # 0.499*255 rounds to 127, both down and nearest, so it should be safe + ('rgba-clamp-1', 'rgba(0, 255, 0, -2)', 0,0,0,0, ""), + ('rgba-clamp-2', 'rgba(0, 255, 0, 2)', 0,255,0,255, ""), + ('rgba-eof', 'rgba(0, 255, 0, 1', 0,255,0,255, ""), + ('transparent-1', 'transparent', 0,0,0,0, ""), + ('transparent-2', 'TrAnSpArEnT', 0,0,0,0, ""), + ('hsl-1', 'hsl(120, 100%, 50%)', 0,255,0,255, ""), + ('hsl-2', 'hsl( -240 , 100% , 50% )', 0,255,0,255, ""), + ('hsl-3', 'hsl(360120, 100%, 50%)', 0,255,0,255, ""), + ('hsl-4', 'hsl(-360240, 100%, 50%)', 0,255,0,255, ""), + ('hsl-5', 'hsl(120.0, 100.0%, 50.0%)', 0,255,0,255, ""), + ('hsl-6', 'hsl(+120, +100%, +50%)', 0,255,0,255, ""), + ('hsl-clamp-1', 'hsl(120, 200%, 50%)', 0,255,0,255, ""), + ('hsl-clamp-2', 'hsl(120, -200%, 49.9%)', 127,127,127,255, ""), + ('hsl-clamp-3', 'hsl(120, 100%, 200%)', 255,255,255,255, ""), + ('hsl-clamp-4', 'hsl(120, 100%, -200%)', 0,0,0,255, ""), + ('hsla-1', 'hsla(120, 100%, 50%, 0.499)', 0,255,0,127, ""), + ('hsla-2', 'hsla( 120.0 , 100.0% , 50.0% , 1 )', 0,255,0,255, ""), + ('hsla-clamp-1', 'hsla(120, 200%, 50%, 1)', 0,255,0,255, ""), + ('hsla-clamp-2', 'hsla(120, -200%, 49.9%, 1)', 127,127,127,255, ""), + ('hsla-clamp-3', 'hsla(120, 100%, 200%, 1)', 255,255,255,255, ""), + ('hsla-clamp-4', 'hsla(120, 100%, -200%, 1)', 0,0,0,255, ""), + ('hsla-clamp-5', 'hsla(120, 100%, 50%, 2)', 0,255,0,255, ""), + ('hsla-clamp-6', 'hsla(120, 100%, 0%, -2)', 0,0,0,0, ""), + ('svg-1', 'gray', 128,128,128,255, ""), + ('svg-2', 'grey', 128,128,128,255, ""), + # currentColor is handled later + ]: + # TODO: test by retrieving fillStyle, instead of actually drawing? + # TODO: test strokeStyle, shadowColor in the same way + test = { + 'name': '2d.fillStyle.parse.%s' % name, + 'testing': [ '2d.colours.parse' ], + 'notes': notes, + 'code': """ + ctx.fillStyle = '#f00'; + ctx.fillStyle = '%s'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == %d,%d,%d,%d; + """ % (string, r,g,b,a), + 'expected': """size 100 50 + cr.set_source_rgba(%f, %f, %f, %f) + cr.rectangle(0, 0, 100, 50) + cr.fill() + """ % (r/255., g/255., b/255., a/255.), + } + tests.append(test) + + # Also test that invalid colours are ignored + for name, string in [ + ('hex1', '#f'), + ('hex2', '#f0'), + ('hex3', '#g00'), + ('hex4', '#ff00'), + ('hex5', '#ff000'), + ('hex6', '#fg0000'), + ('hex7', '#ff0000f'), + ('hex8', '#ff0000ff'), + ('rgb-1', 'rgb(255.0, 0, 0)'), + ('rgb-2', 'rgb(255, 0.0, 0)'), + ('rgb-3', 'rgb(255.0, 0, 0,)'), + ('rgb-4', 'rgb(100%, 0, 0)'), + ('rgb-5', 'rgb(255 0 0)'), + ('rgb-6', 'rgb(255, - 1, 0)'), + ('rgb-7', 'rgb(255, 0, 0, 1)'), + ('rgba-1', 'rgba(255, 0, 0)'), + ('rgba-2', 'rgba(255.0, 0, 0, 1)'), + ('rgba-3', 'rgba(100%, 0, 0, 1)'), + ('rgba-4', 'rgba(255, 0, 0, 100%)'), + ('rgba-5', 'rgba(255, 0, 0, 1. 0)'), + ('rgba-6', 'rgba(255, 0, 0, 1.)'), + ('rgba-7', 'rgba(255, 0, 0, '), + ('hsl-1', 'hsl(0%, 100%, 50%)'), + ('hsl-2', 'hsl(z, 100%, 50%)'), + ('hsl-3', 'hsl(0, 0, 50%)'), + ('hsl-4', 'hsl(0, 100%, 0)'), + ('hsl-5', 'hsl(0, 100%, 100%, 1)'), + ('hsl-6', 'hsl(0, 100.%, 50%)'), + ('hsla-1', 'hsla(0%, 100%, 50%, 1)'), + ('hsla-2', 'hsla(0, 0, 50%, 1)'), + ('name-1', 'darkbrown'), + ('name-2', 'firebrick1'), + ('name-3', 'red blue'), + ('name-4', '"red"'), + ('name-5', '"red'), + ]: + test = { + 'name': '2d.fillStyle.parse.invalid.%s' % name, + 'testing': [ '2d.colours.parse' ], + 'code': """ + ctx.fillStyle = '#0f0'; + try { ctx.fillStyle = '%s'; } catch (e) { } // this shouldn't throw, but it shouldn't matter here if it does + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + """ % string, + 'expected': 'green' + } + tests.append(test) + + # Some can't have positive tests, only negative tests, because we don't know what colour they're meant to be + for name, string in [ + ('system', 'ThreeDDarkShadow'), + #('flavor', 'flavor'), # removed from latest CSS3 Color drafts + ]: + test = { + 'name': '2d.fillStyle.parse.%s' % name, + 'testing': [ '2d.colours.parse' ], + 'code': """ + ctx.fillStyle = '#f00'; + ctx.fillStyle = '%s'; + @assert ctx.fillStyle =~ /^#(?!(FF0000|ff0000|f00)$)/; // test that it's not red + """ % (string,), + } + tests.append(test) + +- name: 2d.fillStyle.parse.current.basic + desc: currentColor is computed from the canvas element + testing: + - 2d.colours.parse + - 2d.currentColor.onset + code: | + canvas.setAttribute('style', 'color: #0f0'); + ctx.fillStyle = '#f00'; + ctx.fillStyle = 'currentColor'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.fillStyle.parse.current.changed + desc: currentColor is computed when the attribute is set, not when it is painted + testing: + - 2d.colours.parse + - 2d.currentColor.onset + code: | + canvas.setAttribute('style', 'color: #0f0'); + ctx.fillStyle = '#f00'; + ctx.fillStyle = 'currentColor'; + canvas.setAttribute('style', 'color: #f00'); + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.fillStyle.parse.current.removed + desc: currentColor is solid black when the canvas element is not in a document + testing: + - 2d.colours.parse + - 2d.currentColor.outofdoc + code: | + // Try not to let it undetectably incorrectly pick up opaque-black + // from other parts of the document: + document.body.parentNode.setAttribute('style', 'color: #f00'); + document.body.setAttribute('style', 'color: #f00'); + canvas.setAttribute('style', 'color: #f00'); + + var canvas2 = document.createElement('canvas'); + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = '#f00'; + ctx2.fillStyle = 'currentColor'; + ctx2.fillRect(0, 0, 100, 50); + ctx.drawImage(canvas2, 0, 0); + + document.body.parentNode.removeAttribute('style'); + document.body.removeAttribute('style'); + + @assert pixel 50,25 == 0,0,0,255; + expected: | + size 100 50 + cr.set_source_rgb(0, 0, 0) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.fillStyle.invalidstring + testing: + - 2d.colours.invalidstring + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillStyle = 'invalid'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.fillStyle.invalidtype + testing: + - 2d.colours.invalidtype + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillStyle = null; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.fillStyle.get.solid + testing: + - 2d.colours.getcolour + - 2d.serializecolour.solid + code: | + ctx.fillStyle = '#fa0'; + @assert ctx.fillStyle === '#ffaa00'; + +- name: 2d.fillStyle.get.semitransparent + testing: + - 2d.colours.getcolour + - 2d.serializecolour.transparent + code: | + ctx.fillStyle = 'rgba(255,255,255,0.45)'; + @assert ctx.fillStyle =~ /^rgba\(255, 255, 255, 0\.4\d+\)$/; + +- name: 2d.fillStyle.get.transparent + testing: + - 2d.colours.getcolour + - 2d.serializecolour.transparent + code: | + ctx.fillStyle = 'rgba(0,0,0,0)'; + @assert ctx.fillStyle === 'rgba(0, 0, 0, 0)'; + +- name: 2d.fillStyle.default + testing: + - 2d.colours.default + code: | + @assert ctx.fillStyle === '#000000'; + +- name: 2d.strokeStyle.default + testing: + - 2d.colours.default + code: | + @assert ctx.strokeStyle === '#000000'; + + +- name: 2d.gradient.object.type + desc: window.CanvasGradient exists and has the right properties + testing: + - 2d.canvasGradient.type + notes: *bindings + code: | + @assert window.CanvasGradient !== undefined; + @assert window.CanvasGradient.prototype.addColorStop !== undefined; + +- name: 2d.gradient.object.return + desc: createLinearGradient() and createRadialGradient() returns objects implementing CanvasGradient + testing: + - 2d.gradient.linear.return + - 2d.gradient.radial.return + code: | + window.CanvasGradient.prototype.thisImplementsCanvasGradient = true; + + var g1 = ctx.createLinearGradient(0, 0, 100, 0); + @assert g1.addColorStop !== undefined; + @assert g1.thisImplementsCanvasGradient === true; + + var g2 = ctx.createRadialGradient(0, 0, 10, 0, 0, 20); + @assert g2.addColorStop !== undefined; + @assert g2.thisImplementsCanvasGradient === true; + +- name: 2d.gradient.interpolate.solid + testing: + - 2d.gradient.interpolate.linear + code: | + var g = ctx.createLinearGradient(0, 0, 100, 0); + g.addColorStop(0, '#0f0'); + g.addColorStop(1, '#0f0'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.gradient.interpolate.colour + testing: + - 2d.gradient.interpolate.linear + code: | + var g = ctx.createLinearGradient(0, 0, 100, 0); + g.addColorStop(0, '#ff0'); + g.addColorStop(1, '#00f'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 25,25 ==~ 191,191,63,255 +/- 3; + @assert pixel 50,25 ==~ 127,127,127,255 +/- 3; + @assert pixel 75,25 ==~ 63,63,191,255 +/- 3; + expected: | + size 100 50 + g = cairo.LinearGradient(0, 0, 100, 0) + g.add_color_stop_rgb(0, 1,1,0) + g.add_color_stop_rgb(1, 0,0,1) + cr.set_source(g) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.gradient.interpolate.alpha + testing: + - 2d.gradient.interpolate.linear + code: | + ctx.fillStyle = '#ff0'; + ctx.fillRect(0, 0, 100, 50); + var g = ctx.createLinearGradient(0, 0, 100, 0); + g.addColorStop(0, 'rgba(0,0,255, 0)'); + g.addColorStop(1, 'rgba(0,0,255, 1)'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 25,25 ==~ 191,191,63,255 +/- 3; + @assert pixel 50,25 ==~ 127,127,127,255 +/- 3; + @assert pixel 75,25 ==~ 63,63,191,255 +/- 3; + expected: | + size 100 50 + g = cairo.LinearGradient(0, 0, 100, 0) + g.add_color_stop_rgb(0, 1,1,0) + g.add_color_stop_rgb(1, 0,0,1) + cr.set_source(g) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.gradient.interpolate.colouralpha + testing: + - 2d.gradient.interpolate.alpha + code: | + var g = ctx.createLinearGradient(0, 0, 100, 0); + g.addColorStop(0, 'rgba(255,255,0, 0)'); + g.addColorStop(1, 'rgba(0,0,255, 1)'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 25,25 ==~ 191,191,63,63 +/- 3; + @assert pixel 50,25 ==~ 127,127,127,127 +/- 3; + @assert pixel 75,25 ==~ 63,63,191,191 +/- 3; + expected: | + size 100 50 + g = cairo.LinearGradient(0, 0, 100, 0) + g.add_color_stop_rgba(0, 1,1,0, 0) + g.add_color_stop_rgba(1, 0,0,1, 1) + cr.set_source(g) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.gradient.interpolate.outside + testing: + - 2d.gradient.outside.first + - 2d.gradient.outside.last + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createLinearGradient(25, 0, 75, 0); + g.addColorStop(0.4, '#0f0'); + g.addColorStop(0.6, '#0f0'); + + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 20,25 ==~ 0,255,0,255; + @assert pixel 50,25 ==~ 0,255,0,255; + @assert pixel 80,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.gradient.interpolate.zerosize.fill + testing: + - 2d.gradient.linear.zerosize + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createLinearGradient(50, 25, 50, 25); // zero-length line (undefined direction) + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.rect(0, 0, 100, 50); + ctx.fill(); + @assert pixel 40,20 == 0,255,0,255; + expected: green + +- name: 2d.gradient.interpolate.zerosize.stroke + testing: + - 2d.gradient.linear.zerosize + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createLinearGradient(50, 25, 50, 25); // zero-length line (undefined direction) + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.strokeStyle = g; + ctx.rect(20, 20, 60, 10); + ctx.stroke(); + @assert pixel 19,19 == 0,255,0,255; + @assert pixel 20,19 == 0,255,0,255; + @assert pixel 21,19 == 0,255,0,255; + @assert pixel 19,20 == 0,255,0,255; + @assert pixel 20,20 == 0,255,0,255; + @assert pixel 21,20 == 0,255,0,255; + @assert pixel 19,21 == 0,255,0,255; + @assert pixel 20,21 == 0,255,0,255; + @assert pixel 21,21 == 0,255,0,255; + expected: green + +- name: 2d.gradient.interpolate.zerosize.fillRect + testing: + - 2d.gradient.linear.zerosize + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createLinearGradient(50, 25, 50, 25); // zero-length line (undefined direction) + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 40,20 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.gradient.interpolate.zerosize.strokeRect + testing: + - 2d.gradient.linear.zerosize + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createLinearGradient(50, 25, 50, 25); // zero-length line (undefined direction) + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.strokeStyle = g; + ctx.strokeRect(20, 20, 60, 10); + @assert pixel 19,19 == 0,255,0,255; + @assert pixel 20,19 == 0,255,0,255; + @assert pixel 21,19 == 0,255,0,255; + @assert pixel 19,20 == 0,255,0,255; + @assert pixel 20,20 == 0,255,0,255; + @assert pixel 21,20 == 0,255,0,255; + @assert pixel 19,21 == 0,255,0,255; + @assert pixel 20,21 == 0,255,0,255; + @assert pixel 21,21 == 0,255,0,255; + expected: green + +- name: 2d.gradient.interpolate.zerosize.fillText + testing: + - 2d.gradient.linear.zerosize + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createLinearGradient(50, 25, 50, 25); // zero-length line (undefined direction) + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.font = '100px sans-serif'; + ctx.fillText("AA", 0, 50); + _assertGreen(ctx, 100, 50); + expected: green + +- name: 2d.gradient.interpolate.zerosize.strokeText + testing: + - 2d.gradient.linear.zerosize + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createLinearGradient(50, 25, 50, 25); // zero-length line (undefined direction) + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.strokeStyle = g; + ctx.font = '100px sans-serif'; + ctx.strokeText("AA", 0, 50); + _assertGreen(ctx, 100, 50); + expected: green + + +- name: 2d.gradient.interpolate.vertical + testing: + - 2d.gradient.interpolate.linear + code: | + var g = ctx.createLinearGradient(0, 0, 0, 50); + g.addColorStop(0, '#ff0'); + g.addColorStop(1, '#00f'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,12 ==~ 191,191,63,255 +/- 10; + @assert pixel 50,25 ==~ 127,127,127,255 +/- 5; + @assert pixel 50,37 ==~ 63,63,191,255 +/- 10; + expected: | + size 100 50 + g = cairo.LinearGradient(0, 0, 0, 50) + g.add_color_stop_rgb(0, 1,1,0) + g.add_color_stop_rgb(1, 0,0,1) + cr.set_source(g) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.gradient.interpolate.multiple + testing: + - 2d.gradient.interpolate.linear + code: | + canvas.width = 200; + var g = ctx.createLinearGradient(0, 0, 200, 0); + g.addColorStop(0, '#ff0'); + g.addColorStop(0.5, '#0ff'); + g.addColorStop(1, '#f0f'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 200, 50); + @assert pixel 50,25 ==~ 127,255,127,255 +/- 3; + @assert pixel 100,25 ==~ 0,255,255,255 +/- 3; + @assert pixel 150,25 ==~ 127,127,255,255 +/- 3; + expected: | + size 200 50 + g = cairo.LinearGradient(0, 0, 200, 0) + g.add_color_stop_rgb(0.0, 1,1,0) + g.add_color_stop_rgb(0.5, 0,1,1) + g.add_color_stop_rgb(1.0, 1,0,1) + cr.set_source(g) + cr.rectangle(0, 0, 200, 50) + cr.fill() + +- name: 2d.gradient.interpolate.overlap + testing: + - 2d.gradient.interpolate.overlap + code: | + canvas.width = 200; + var g = ctx.createLinearGradient(0, 0, 200, 0); + g.addColorStop(0, '#f00'); + g.addColorStop(0, '#ff0'); + g.addColorStop(0.25, '#00f'); + g.addColorStop(0.25, '#0f0'); + g.addColorStop(0.25, '#0f0'); + g.addColorStop(0.25, '#0f0'); + g.addColorStop(0.25, '#ff0'); + g.addColorStop(0.5, '#00f'); + g.addColorStop(0.5, '#0f0'); + g.addColorStop(0.75, '#00f'); + g.addColorStop(0.75, '#f00'); + g.addColorStop(0.75, '#ff0'); + g.addColorStop(0.5, '#0f0'); + g.addColorStop(0.5, '#0f0'); + g.addColorStop(0.5, '#ff0'); + g.addColorStop(1, '#00f'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 200, 50); + @assert pixel 49,25 ==~ 0,0,255,255 +/- 16; + @assert pixel 51,25 ==~ 255,255,0,255 +/- 16; + @assert pixel 99,25 ==~ 0,0,255,255 +/- 16; + @assert pixel 101,25 ==~ 255,255,0,255 +/- 16; + @assert pixel 149,25 ==~ 0,0,255,255 +/- 16; + @assert pixel 151,25 ==~ 255,255,0,255 +/- 16; + expected: | + size 200 50 + g = cairo.LinearGradient(0, 0, 50, 0) + g.add_color_stop_rgb(0, 1,1,0) + g.add_color_stop_rgb(1, 0,0,1) + cr.set_source(g) + cr.rectangle(0, 0, 50, 50) + cr.fill() + + g = cairo.LinearGradient(50, 0, 100, 0) + g.add_color_stop_rgb(0, 1,1,0) + g.add_color_stop_rgb(1, 0,0,1) + cr.set_source(g) + cr.rectangle(50, 0, 50, 50) + cr.fill() + + g = cairo.LinearGradient(100, 0, 150, 0) + g.add_color_stop_rgb(0, 1,1,0) + g.add_color_stop_rgb(1, 0,0,1) + cr.set_source(g) + cr.rectangle(100, 0, 50, 50) + cr.fill() + + g = cairo.LinearGradient(150, 0, 200, 0) + g.add_color_stop_rgb(0, 1,1,0) + g.add_color_stop_rgb(1, 0,0,1) + cr.set_source(g) + cr.rectangle(150, 0, 50, 50) + cr.fill() + +- name: 2d.gradient.interpolate.overlap2 + testing: + - 2d.gradient.interpolate.overlap + code: | + var g = ctx.createLinearGradient(0, 0, 100, 0); + var ps = [ 0, 1/10, 1/4, 1/3, 1/2, 3/4, 1 ]; + for (var p = 0; p < ps.length; ++p) + { + g.addColorStop(ps[p], '#0f0'); + for (var i = 0; i < 15; ++i) + g.addColorStop(ps[p], '#f00'); + g.addColorStop(ps[p], '#0f0'); + } + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 30,25 == 0,255,0,255; + @assert pixel 40,25 == 0,255,0,255; + @assert pixel 60,25 == 0,255,0,255; + @assert pixel 80,25 == 0,255,0,255; + expected: green + +- name: 2d.gradient.empty + testing: + - 2d.gradient.empty + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + var g = ctx.createLinearGradient(0, 0, 0, 50); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.gradient.object.update + testing: + - 2d.gradient.update + code: | + var g = ctx.createLinearGradient(-100, 0, 200, 0); + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + g.addColorStop(0.1, '#0f0'); + g.addColorStop(0.9, '#0f0'); + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.gradient.object.compare + testing: + - 2d.gradient.object + code: | + var g1 = ctx.createLinearGradient(0, 0, 100, 0); + var g2 = ctx.createLinearGradient(0, 0, 100, 0); + @assert g1 !== g2; + ctx.fillStyle = g1; + @assert ctx.fillStyle === g1; + +- name: 2d.gradient.object.crosscanvas + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + var g = document.createElement('canvas').getContext('2d').createLinearGradient(0, 0, 100, 0); + g.addColorStop(0, '#0f0'); + g.addColorStop(1, '#0f0'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.gradient.object.current + testing: + - 2d.currentColor.gradient + code: | + canvas.setAttribute('style', 'color: #f00'); + + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createLinearGradient(0, 0, 100, 0); + g.addColorStop(0, 'currentColor'); + g.addColorStop(1, 'currentColor'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 ==~ 0,0,0,255; + expected: | + size 100 50 + cr.set_source_rgb(0, 0, 0) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.gradient.object.invalidoffset + testing: + - 2d.gradient.invalidoffset + code: | + var g = ctx.createLinearGradient(0, 0, 100, 0); + @assert throws INDEX_SIZE_ERR g.addColorStop(-1, '#000'); + @assert throws INDEX_SIZE_ERR g.addColorStop(2, '#000'); + @assert throws INDEX_SIZE_ERR g.addColorStop(Infinity, '#000'); + @assert throws INDEX_SIZE_ERR g.addColorStop(-Infinity, '#000'); + @assert throws INDEX_SIZE_ERR g.addColorStop(NaN, '#000'); + +- name: 2d.gradient.object.invalidcolour + testing: + - 2d.gradient.invalidcolour + code: | + var g = ctx.createLinearGradient(0, 0, 100, 0); + @assert throws SYNTAX_ERR g.addColorStop(0, ""); + @assert throws SYNTAX_ERR g.addColorStop(0, 'null'); + @assert throws SYNTAX_ERR g.addColorStop(0, 'undefined'); + @assert throws SYNTAX_ERR g.addColorStop(0, null); + @assert throws SYNTAX_ERR g.addColorStop(0, undefined); + + +- name: 2d.gradient.linear.nonfinite + desc: createLinearGradient() throws TypeError if arguments are not finite + notes: *bindings + testing: + - 2d.gradient.linear.nonfinite + code: | + @nonfinite @assert throws TypeError ctx.createLinearGradient(<0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <1 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>); + +- name: 2d.gradient.linear.transform.1 + desc: Linear gradient coordinates are relative to the coordinate space at the time of filling + testing: + - 2d.gradient.linear.transform + code: | + var g = ctx.createLinearGradient(0, 0, 200, 0); + g.addColorStop(0, '#f00'); + g.addColorStop(0.25, '#0f0'); + g.addColorStop(0.75, '#0f0'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.translate(-50, 0); + ctx.fillRect(50, 0, 100, 50); + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.gradient.linear.transform.2 + desc: Linear gradient coordinates are relative to the coordinate space at the time of filling + testing: + - 2d.gradient.linear.transform + code: | + ctx.translate(100, 0); + var g = ctx.createLinearGradient(0, 0, 200, 0); + g.addColorStop(0, '#f00'); + g.addColorStop(0.25, '#0f0'); + g.addColorStop(0.75, '#0f0'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.translate(-150, 0); + ctx.fillRect(50, 0, 100, 50); + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.gradient.linear.transform.3 + desc: Linear gradient transforms do not experience broken caching effects + testing: + - 2d.gradient.linear.transform + code: | + var g = ctx.createLinearGradient(0, 0, 200, 0); + g.addColorStop(0, '#f00'); + g.addColorStop(0.25, '#0f0'); + g.addColorStop(0.75, '#0f0'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + ctx.translate(-50, 0); + ctx.fillRect(50, 0, 100, 50); + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.negative + desc: createRadialGradient() throws INDEX_SIZE_ERR if either radius is negative + testing: + - 2d.gradient.radial.negative + code: | + @assert throws INDEX_SIZE_ERR ctx.createRadialGradient(0, 0, -0.1, 0, 0, 1); + @assert throws INDEX_SIZE_ERR ctx.createRadialGradient(0, 0, 1, 0, 0, -0.1); + @assert throws INDEX_SIZE_ERR ctx.createRadialGradient(0, 0, -0.1, 0, 0, -0.1); + +- name: 2d.gradient.radial.nonfinite + desc: createRadialGradient() throws TypeError if arguments are not finite + notes: *bindings + testing: + - 2d.gradient.radial.nonfinite + code: | + @nonfinite @assert throws TypeError ctx.createRadialGradient(<0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <1 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <1 Infinity -Infinity NaN>); + +- name: 2d.gradient.radial.inside1 + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(50, 25, 100, 50, 25, 200); + g.addColorStop(0, '#0f0'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.inside2 + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(50, 25, 200, 50, 25, 100); + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#0f0'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.inside3 + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(50, 25, 200, 50, 25, 100); + g.addColorStop(0, '#f00'); + g.addColorStop(0.993, '#f00'); + g.addColorStop(1, '#0f0'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.outside1 + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(200, 25, 10, 200, 25, 20); + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#0f0'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.outside2 + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(200, 25, 20, 200, 25, 10); + g.addColorStop(0, '#0f0'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.outside3 + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(200, 25, 20, 200, 25, 10); + g.addColorStop(0, '#0f0'); + g.addColorStop(0.001, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.touch1 + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(150, 25, 50, 200, 25, 100); + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; @moz-todo + @assert pixel 50,1 == 0,255,0,255; @moz-todo + @assert pixel 98,1 == 0,255,0,255; @moz-todo + @assert pixel 1,25 == 0,255,0,255; @moz-todo + @assert pixel 50,25 == 0,255,0,255; @moz-todo + @assert pixel 98,25 == 0,255,0,255; @moz-todo + @assert pixel 1,48 == 0,255,0,255; @moz-todo + @assert pixel 50,48 == 0,255,0,255; @moz-todo + @assert pixel 98,48 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.gradient.radial.touch2 + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(-80, 25, 70, 0, 25, 150); + g.addColorStop(0, '#f00'); + g.addColorStop(0.01, '#0f0'); + g.addColorStop(0.99, '#0f0'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.touch3 + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(120, -15, 25, 140, -30, 50); + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; @moz-todo + @assert pixel 50,1 == 0,255,0,255; @moz-todo + @assert pixel 98,1 == 0,255,0,255; @moz-todo + @assert pixel 1,25 == 0,255,0,255; @moz-todo + @assert pixel 50,25 == 0,255,0,255; @moz-todo + @assert pixel 98,25 == 0,255,0,255; @moz-todo + @assert pixel 1,48 == 0,255,0,255; @moz-todo + @assert pixel 50,48 == 0,255,0,255; @moz-todo + @assert pixel 98,48 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.gradient.radial.equal + testing: + - 2d.gradient.radial.equal + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(50, 25, 20, 50, 25, 20); + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; @moz-todo + @assert pixel 50,1 == 0,255,0,255; @moz-todo + @assert pixel 98,1 == 0,255,0,255; @moz-todo + @assert pixel 1,25 == 0,255,0,255; @moz-todo + @assert pixel 50,25 == 0,255,0,255; @moz-todo + @assert pixel 98,25 == 0,255,0,255; @moz-todo + @assert pixel 1,48 == 0,255,0,255; @moz-todo + @assert pixel 50,48 == 0,255,0,255; @moz-todo + @assert pixel 98,48 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.gradient.radial.cone.behind + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(120, 25, 10, 211, 25, 100); + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; @moz-todo + @assert pixel 50,1 == 0,255,0,255; @moz-todo + @assert pixel 98,1 == 0,255,0,255; @moz-todo + @assert pixel 1,25 == 0,255,0,255; @moz-todo + @assert pixel 50,25 == 0,255,0,255; @moz-todo + @assert pixel 98,25 == 0,255,0,255; @moz-todo + @assert pixel 1,48 == 0,255,0,255; @moz-todo + @assert pixel 50,48 == 0,255,0,255; @moz-todo + @assert pixel 98,48 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.gradient.radial.cone.front + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(311, 25, 10, 210, 25, 100); + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#0f0'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.cone.bottom + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(210, 25, 100, 230, 25, 101); + g.addColorStop(0, '#0f0'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.cone.top + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(230, 25, 100, 100, 25, 101); + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#0f0'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.cone.beside + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(0, 100, 40, 100, 100, 50); + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; @moz-todo + @assert pixel 50,1 == 0,255,0,255; @moz-todo + @assert pixel 98,1 == 0,255,0,255; @moz-todo + @assert pixel 1,25 == 0,255,0,255; @moz-todo + @assert pixel 50,25 == 0,255,0,255; @moz-todo + @assert pixel 98,25 == 0,255,0,255; @moz-todo + @assert pixel 1,48 == 0,255,0,255; @moz-todo + @assert pixel 50,48 == 0,255,0,255; @moz-todo + @assert pixel 98,48 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.gradient.radial.cone.cylinder + testing: + - 2d.gradient.radial.rendering + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(210, 25, 100, 230, 25, 100); + g.addColorStop(0, '#0f0'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.cone.shape1 + testing: + - 2d.gradient.radial.rendering + code: | + var tol = 1; // tolerance to avoid antialiasing artifacts + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(30+tol, 40); + ctx.lineTo(110, -20+tol); + ctx.lineTo(110, 100-tol); + ctx.fill(); + + var g = ctx.createRadialGradient(30+10*5/2, 40, 10*3/2, 30+10*15/4, 40, 10*9/4); + g.addColorStop(0, '#0f0'); + g.addColorStop(1, '#0f0'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.cone.shape2 + testing: + - 2d.gradient.radial.rendering + code: | + var tol = 1; // tolerance to avoid antialiasing artifacts + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var g = ctx.createRadialGradient(30+10*5/2, 40, 10*3/2, 30+10*15/4, 40, 10*9/4); + g.addColorStop(0, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(30-tol, 40); + ctx.lineTo(110, -20-tol); + ctx.lineTo(110, 100+tol); + ctx.fill(); + + @assert pixel 1,1 == 0,255,0,255; @moz-todo + @assert pixel 50,1 == 0,255,0,255; @moz-todo + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; @moz-todo + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; @moz-todo + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.transform.1 + desc: Radial gradient coordinates are relative to the coordinate space at the time of filling + testing: + - 2d.gradient.radial.transform + code: | + var g = ctx.createRadialGradient(0, 0, 0, 0, 0, 11.2); + g.addColorStop(0, '#0f0'); + g.addColorStop(0.5, '#0f0'); + g.addColorStop(0.51, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.translate(50, 25); + ctx.scale(10, 10); + ctx.fillRect(-5, -2.5, 10, 5); + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.transform.2 + desc: Radial gradient coordinates are relative to the coordinate space at the time of filling + testing: + - 2d.gradient.radial.transform + code: | + ctx.translate(100, 0); + var g = ctx.createRadialGradient(0, 0, 0, 0, 0, 11.2); + g.addColorStop(0, '#0f0'); + g.addColorStop(0.5, '#0f0'); + g.addColorStop(0.51, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.translate(-50, 25); + ctx.scale(10, 10); + ctx.fillRect(-5, -2.5, 10, 5); + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.gradient.radial.transform.3 + desc: Radial gradient transforms do not experience broken caching effects + testing: + - 2d.gradient.radial.transform + code: | + var g = ctx.createRadialGradient(0, 0, 0, 0, 0, 11.2); + g.addColorStop(0, '#0f0'); + g.addColorStop(0.5, '#0f0'); + g.addColorStop(0.51, '#f00'); + g.addColorStop(1, '#f00'); + ctx.fillStyle = g; + ctx.fillRect(0, 0, 100, 50); + ctx.translate(50, 25); + ctx.scale(10, 10); + ctx.fillRect(-5, -2.5, 10, 5); + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + + + + + + +- name: 2d.pattern.basic.type + testing: + - 2d.pattern.return + images: + - green.png + code: | + @assert window.CanvasPattern !== undefined; + + window.CanvasPattern.prototype.thisImplementsCanvasPattern = true; + + var img = document.getElementById('green.png'); + var pattern = ctx.createPattern(img, 'no-repeat'); + @assert pattern.thisImplementsCanvasPattern; + +- name: 2d.pattern.basic.image + testing: + - 2d.pattern.painting + images: + - green.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + var img = document.getElementById('green.png'); + var pattern = ctx.createPattern(img, 'no-repeat'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.basic.canvas + testing: + - 2d.pattern.painting + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = '#0f0'; + ctx2.fillRect(0, 0, 100, 50); + + var pattern = ctx.createPattern(canvas2, 'no-repeat'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.basic.zerocanvas + testing: + - 2d.pattern.zerocanvas + code: | + canvas.width = 0; + canvas.height = 10; + @assert canvas.width === 0; + @assert canvas.height === 10; + @assert throws INVALID_STATE_ERR ctx.createPattern(canvas, 'repeat'); + + canvas.width = 10; + canvas.height = 0; + @assert canvas.width === 10; + @assert canvas.height === 0; + @assert throws INVALID_STATE_ERR ctx.createPattern(canvas, 'repeat'); + + canvas.width = 0; + canvas.height = 0; + @assert canvas.width === 0; + @assert canvas.height === 0; + @assert throws INVALID_STATE_ERR ctx.createPattern(canvas, 'repeat'); + +- name: 2d.pattern.basic.nocontext + testing: + - 2d.pattern.painting + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var pattern = ctx.createPattern(canvas2, 'no-repeat'); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.image.undefined + testing: + - 2d.pattern.IDL + notes: *bindings + code: | + @assert throws TypeError ctx.createPattern(undefined, 'repeat'); + +- name: 2d.pattern.image.null + testing: + - 2d.pattern.IDL + notes: *bindings + code: | + @assert throws TypeError ctx.createPattern(null, 'repeat'); + +- name: 2d.pattern.image.string + testing: + - 2d.pattern.IDL + notes: *bindings + code: | + @assert throws TypeError ctx.createPattern('../images/red.png', 'repeat'); + +- name: 2d.pattern.image.incomplete.nosrc + testing: + - 2d.pattern.incomplete.image + mozilla: { throws } + code: | + var img = new Image(); + @assert ctx.createPattern(img, 'repeat') === null; + +- name: 2d.pattern.image.incomplete.immediate + testing: + - 2d.pattern.incomplete.image + images: + - red.png + code: | + var img = new Image(); + img.src = '../images/red.png'; + // This triggers the "update the image data" algorithm. + // The image will not go to the "completely available" state + // until a fetch task in the networking task source is processed, + // so the image must not be fully decodable yet: + @assert ctx.createPattern(img, 'repeat') === null; @moz-todo + +- name: 2d.pattern.image.incomplete.reload + testing: + - 2d.pattern.incomplete.image + images: + - yellow.png + - red.png + code: | + var img = document.getElementById('yellow.png'); + img.src = '../images/red.png'; + // This triggers the "update the image data" algorithm, + // and resets the image to the "unavailable" state. + // The image will not go to the "completely available" state + // until a fetch task in the networking task source is processed, + // so the image must not be fully decodable yet: + @assert ctx.createPattern(img, 'repeat') === null; @moz-todo + +- name: 2d.pattern.image.incomplete.emptysrc + testing: + - 2d.pattern.incomplete.image + images: + - red.png + mozilla: { throws } + code: | + var img = document.getElementById('red.png'); + img.src = ""; + @assert ctx.createPattern(img, 'repeat') === null; + +- name: 2d.pattern.image.incomplete.removedsrc + testing: + - 2d.pattern.incomplete.image + images: + - red.png + mozilla: { throws } + code: | + var img = document.getElementById('red.png'); + img.removeAttribute('src'); + @assert ctx.createPattern(img, 'repeat') === null; + +- name: 2d.pattern.image.broken + testing: + - 2d.pattern.incomplete.image + images: + - broken.png + code: | + var img = document.getElementById('broken.png'); + @assert throws INVALID_STATE_ERR ctx.createPattern(img, 'repeat'); + +- name: 2d.pattern.repeat.empty + testing: + - 2d.pattern.missing + images: + - green-1x1.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + var img = document.getElementById('green-1x1.png'); + var pattern = ctx.createPattern(img, ""); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 200, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.repeat.null + testing: + - 2d.pattern.unrecognised + code: | + @assert ctx.createPattern(canvas, null) != null; + +- name: 2d.pattern.repeat.undefined + testing: + - 2d.pattern.unrecognised + code: | + @assert throws SYNTAX_ERR ctx.createPattern(canvas, undefined); + +- name: 2d.pattern.repeat.unrecognised + testing: + - 2d.pattern.unrecognised + code: | + @assert throws SYNTAX_ERR ctx.createPattern(canvas, "invalid"); + +- name: 2d.pattern.repeat.unrecognisednull + testing: + - 2d.pattern.unrecognised + code: | + @assert throws SYNTAX_ERR ctx.createPattern(canvas, "null"); + +- name: 2d.pattern.repeat.case + testing: + - 2d.pattern.exact + code: | + @assert throws SYNTAX_ERR ctx.createPattern(canvas, "Repeat"); + +- name: 2d.pattern.repeat.nullsuffix + testing: + - 2d.pattern.exact + code: | + @assert throws SYNTAX_ERR ctx.createPattern(canvas, "repeat\0"); + +- name: 2d.pattern.modify.image1 + testing: + - 2d.pattern.modify + images: + - green.png + code: | + var img = document.getElementById('green.png'); + var pattern = ctx.createPattern(img, 'no-repeat'); + deferTest(); + img.onload = t.step_func_done(function () + { + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + }); + img.src = '/images/red.png'; + expected: green + +- name: 2d.pattern.modify.image2 + testing: + - 2d.pattern.modify + images: + - green.png + code: | + var img = document.getElementById('green.png'); + var pattern = ctx.createPattern(img, 'no-repeat'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#00f'; + ctx.fillRect(0, 0, 100, 50); + deferTest(); + img.onload = t.step_func_done(function () + { + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + }); + img.src = '/images/red.png'; + expected: green + +- name: 2d.pattern.modify.canvas1 + testing: + - 2d.pattern.modify + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = '#0f0'; + ctx2.fillRect(0, 0, 100, 50); + + var pattern = ctx.createPattern(canvas2, 'no-repeat'); + + ctx2.fillStyle = '#f00'; + ctx2.fillRect(0, 0, 100, 50); + + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.modify.canvas2 + testing: + - 2d.pattern.modify + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = '#0f0'; + ctx2.fillRect(0, 0, 100, 50); + + var pattern = ctx.createPattern(canvas2, 'no-repeat'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx2.fillStyle = '#f00'; + ctx2.fillRect(0, 0, 100, 50); + + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.crosscanvas + images: + - green.png + code: | + var img = document.getElementById('green.png'); + + var pattern = document.createElement('canvas').getContext('2d').createPattern(img, 'no-repeat'); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.norepeat.basic + testing: + - 2d.pattern.painting + images: + - green.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var img = document.getElementById('green.png'); + var pattern = ctx.createPattern(img, 'no-repeat'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.norepeat.outside + testing: + - 2d.pattern.painting + images: + - red.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var img = document.getElementById('red.png'); + var pattern = ctx.createPattern(img, 'no-repeat'); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = pattern; + ctx.fillRect(0, -50, 100, 50); + ctx.fillRect(-100, 0, 100, 50); + ctx.fillRect(0, 50, 100, 50); + ctx.fillRect(100, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.norepeat.coord1 + testing: + - 2d.pattern.painting + images: + - green.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 50, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(50, 0, 50, 50); + + var img = document.getElementById('green.png'); + var pattern = ctx.createPattern(img, 'no-repeat'); + ctx.fillStyle = pattern; + ctx.translate(50, 0); + ctx.fillRect(-50, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.norepeat.coord2 + testing: + - 2d.pattern.painting + images: + - green.png + code: | + var img = document.getElementById('green.png'); + var pattern = ctx.createPattern(img, 'no-repeat'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 50, 50); + + ctx.fillStyle = '#f00'; + ctx.fillRect(50, 0, 50, 50); + + ctx.fillStyle = pattern; + ctx.translate(50, 0); + ctx.fillRect(-50, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.norepeat.coord3 + testing: + - 2d.pattern.painting + images: + - red.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var img = document.getElementById('red.png'); + var pattern = ctx.createPattern(img, 'no-repeat'); + ctx.fillStyle = pattern; + ctx.translate(50, 25); + ctx.fillRect(-50, -25, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 50, 25); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.repeat.basic + testing: + - 2d.pattern.painting + images: + - green-16x16.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var img = document.getElementById('green-16x16.png'); + var pattern = ctx.createPattern(img, 'repeat'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.repeat.outside + testing: + - 2d.pattern.painting + images: + - green-16x16.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var img = document.getElementById('green-16x16.png'); + var pattern = ctx.createPattern(img, 'repeat'); + ctx.fillStyle = pattern; + ctx.translate(50, 25); + ctx.fillRect(-50, -25, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.repeat.coord1 + testing: + - 2d.pattern.painting + images: + - rgrg-256x256.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var img = document.getElementById('rgrg-256x256.png'); + var pattern = ctx.createPattern(img, 'repeat'); + ctx.fillStyle = pattern; + ctx.translate(-128, -78); + ctx.fillRect(128, 78, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.repeat.coord2 + testing: + - 2d.pattern.painting + images: + - ggrr-256x256.png + code: | + var img = document.getElementById('ggrr-256x256.png'); + var pattern = ctx.createPattern(img, 'repeat'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.repeat.coord3 + testing: + - 2d.pattern.painting + images: + - rgrg-256x256.png + code: | + var img = document.getElementById('rgrg-256x256.png'); + var pattern = ctx.createPattern(img, 'repeat'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + ctx.translate(-128, -78); + ctx.fillRect(128, 78, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.repeatx.basic + testing: + - 2d.pattern.painting + images: + - green-16x16.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 16); + + var img = document.getElementById('green-16x16.png'); + var pattern = ctx.createPattern(img, 'repeat-x'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.repeatx.outside + testing: + - 2d.pattern.painting + images: + - red-16x16.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var img = document.getElementById('red-16x16.png'); + var pattern = ctx.createPattern(img, 'repeat-x'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 16); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.repeatx.coord1 + testing: + - 2d.pattern.painting + images: + - red-16x16.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var img = document.getElementById('red-16x16.png'); + var pattern = ctx.createPattern(img, 'repeat-x'); + ctx.fillStyle = pattern; + ctx.translate(0, 16); + ctx.fillRect(0, -16, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 16); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.repeaty.basic + testing: + - 2d.pattern.painting + images: + - green-16x16.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 16, 50); + + var img = document.getElementById('green-16x16.png'); + var pattern = ctx.createPattern(img, 'repeat-y'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.repeaty.outside + testing: + - 2d.pattern.painting + images: + - red-16x16.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var img = document.getElementById('red-16x16.png'); + var pattern = ctx.createPattern(img, 'repeat-y'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 16, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.repeaty.coord1 + testing: + - 2d.pattern.painting + images: + - red-16x16.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var img = document.getElementById('red-16x16.png'); + var pattern = ctx.createPattern(img, 'repeat-y'); + ctx.fillStyle = pattern; + ctx.translate(48, 0); + ctx.fillRect(-48, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 16, 50); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.orientation.image + desc: Image patterns do not get flipped when painted + testing: + - 2d.pattern.painting + images: + - rrgg-256x256.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var img = document.getElementById('rrgg-256x256.png'); + var pattern = ctx.createPattern(img, 'no-repeat'); + ctx.fillStyle = pattern; + ctx.save(); + ctx.translate(0, -103); + ctx.fillRect(0, 103, 100, 50); + ctx.restore(); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 25); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.pattern.paint.orientation.canvas + desc: Canvas patterns do not get flipped when painted + testing: + - 2d.pattern.painting + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = '#f00'; + ctx2.fillRect(0, 0, 100, 25); + ctx2.fillStyle = '#0f0'; + ctx2.fillRect(0, 25, 100, 25); + + var pattern = ctx.createPattern(canvas2, 'no-repeat'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 25); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + + +- name: 2d.pattern.animated.gif + desc: createPattern() of an animated GIF draws the first frame + testing: + - 2d.pattern.animated.image + images: + - anim-gr.gif + code: | + deferTest(); + setTimeout(function () { + var pattern = ctx.createPattern(document.getElementById('anim-gr.gif'), 'repeat'); + ctx.fillStyle = pattern; + ctx.fillRect(0, 0, 50, 50); + setTimeout(t.step_func_done(function () { + ctx.fillRect(50, 0, 50, 50); + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + }), 250); + }, 250); + expected: green + + + + +- name: 2d.line.defaults + testing: + - 2d.lineWidth.default + - 2d.lineCap.default + - 2d.lineJoin.default + - 2d.miterLimit.default + code: | + @assert ctx.lineWidth === 1; + @assert ctx.lineCap === 'butt'; + @assert ctx.lineJoin === 'miter'; + @assert ctx.miterLimit === 10; + +- name: 2d.line.width.basic + desc: lineWidth determines the width of line strokes + testing: + - 2d.lineWidth + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineWidth = 20; + // Draw a green line over a red box, to check the line is not too small + ctx.fillStyle = '#f00'; + ctx.strokeStyle = '#0f0'; + ctx.fillRect(15, 15, 20, 20); + ctx.beginPath(); + ctx.moveTo(25, 15); + ctx.lineTo(25, 35); + ctx.stroke(); + + // Draw a green box over a red line, to check the line is not too large + ctx.fillStyle = '#0f0'; + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(75, 15); + ctx.lineTo(75, 35); + ctx.stroke(); + ctx.fillRect(65, 15, 20, 20); + + @assert pixel 14,25 == 0,255,0,255; + @assert pixel 15,25 == 0,255,0,255; + @assert pixel 16,25 == 0,255,0,255; + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 34,25 == 0,255,0,255; + @assert pixel 35,25 == 0,255,0,255; + @assert pixel 36,25 == 0,255,0,255; + + @assert pixel 64,25 == 0,255,0,255; + @assert pixel 65,25 == 0,255,0,255; + @assert pixel 66,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + @assert pixel 84,25 == 0,255,0,255; + @assert pixel 85,25 == 0,255,0,255; + @assert pixel 86,25 == 0,255,0,255; + expected: green + +- name: 2d.line.width.transformed + desc: Line stroke widths are affected by scale transformations + testing: + - 2d.lineWidth + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineWidth = 4; + // Draw a green line over a red box, to check the line is not too small + ctx.fillStyle = '#f00'; + ctx.strokeStyle = '#0f0'; + ctx.fillRect(15, 15, 20, 20); + ctx.save(); + ctx.scale(5, 1); + ctx.beginPath(); + ctx.moveTo(5, 15); + ctx.lineTo(5, 35); + ctx.stroke(); + ctx.restore(); + + // Draw a green box over a red line, to check the line is not too large + ctx.fillStyle = '#0f0'; + ctx.strokeStyle = '#f00'; + ctx.save(); + ctx.scale(-5, 1); + ctx.beginPath(); + ctx.moveTo(-15, 15); + ctx.lineTo(-15, 35); + ctx.stroke(); + ctx.restore(); + ctx.fillRect(65, 15, 20, 20); + + @assert pixel 14,25 == 0,255,0,255; + @assert pixel 15,25 == 0,255,0,255; + @assert pixel 16,25 == 0,255,0,255; + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 34,25 == 0,255,0,255; + @assert pixel 35,25 == 0,255,0,255; + @assert pixel 36,25 == 0,255,0,255; + + @assert pixel 64,25 == 0,255,0,255; + @assert pixel 65,25 == 0,255,0,255; + @assert pixel 66,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + @assert pixel 84,25 == 0,255,0,255; + @assert pixel 85,25 == 0,255,0,255; + @assert pixel 86,25 == 0,255,0,255; + expected: green + +- name: 2d.line.width.scaledefault + desc: Default lineWidth strokes are affected by scale transformations + testing: + - 2d.lineWidth + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.scale(50, 50); + ctx.strokeStyle = '#0f0'; + ctx.moveTo(0, 0.5); + ctx.lineTo(2, 0.5); + ctx.stroke(); + + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + @assert pixel 50,5 == 0,255,0,255; + @assert pixel 50,45 == 0,255,0,255; + expected: green + +- name: 2d.line.width.valid + desc: Setting lineWidth to valid values works + testing: + - 2d.lineWidth.set + - 2d.lineWidth.get + code: | + ctx.lineWidth = 1.5; + @assert ctx.lineWidth === 1.5; + + ctx.lineWidth = "1e1"; + @assert ctx.lineWidth === 10; + + ctx.lineWidth = 1/1024; + @assert ctx.lineWidth === 1/1024; + + ctx.lineWidth = 1000; + @assert ctx.lineWidth === 1000; + +- name: 2d.line.width.invalid + desc: Setting lineWidth to invalid values is ignored + testing: + - 2d.lineWidth.invalid + code: | + ctx.lineWidth = 1.5; + @assert ctx.lineWidth === 1.5; + + ctx.lineWidth = 1.5; + ctx.lineWidth = 0; + @assert ctx.lineWidth === 1.5; + + ctx.lineWidth = 1.5; + ctx.lineWidth = -1; + @assert ctx.lineWidth === 1.5; + + ctx.lineWidth = 1.5; + ctx.lineWidth = Infinity; + @assert ctx.lineWidth === 1.5; + + ctx.lineWidth = 1.5; + ctx.lineWidth = -Infinity; + @assert ctx.lineWidth === 1.5; + + ctx.lineWidth = 1.5; + ctx.lineWidth = NaN; + @assert ctx.lineWidth === 1.5; + +- name: 2d.line.cap.butt + desc: lineCap 'butt' is rendered correctly + testing: + - 2d.lineCap.butt + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineCap = 'butt'; + ctx.lineWidth = 20; + + ctx.fillStyle = '#f00'; + ctx.strokeStyle = '#0f0'; + ctx.fillRect(15, 15, 20, 20); + ctx.beginPath(); + ctx.moveTo(25, 15); + ctx.lineTo(25, 35); + ctx.stroke(); + + ctx.fillStyle = '#0f0'; + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(75, 15); + ctx.lineTo(75, 35); + ctx.stroke(); + ctx.fillRect(65, 15, 20, 20); + + @assert pixel 25,14 == 0,255,0,255; + @assert pixel 25,15 == 0,255,0,255; + @assert pixel 25,16 == 0,255,0,255; + @assert pixel 25,34 == 0,255,0,255; + @assert pixel 25,35 == 0,255,0,255; + @assert pixel 25,36 == 0,255,0,255; + + @assert pixel 75,14 == 0,255,0,255; + @assert pixel 75,15 == 0,255,0,255; + @assert pixel 75,16 == 0,255,0,255; + @assert pixel 75,34 == 0,255,0,255; + @assert pixel 75,35 == 0,255,0,255; + @assert pixel 75,36 == 0,255,0,255; + expected: green + +- name: 2d.line.cap.round + desc: lineCap 'round' is rendered correctly + testing: + - 2d.lineCap.round + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var tol = 1; // tolerance to avoid antialiasing artifacts + + ctx.lineCap = 'round'; + ctx.lineWidth = 20; + + + ctx.fillStyle = '#f00'; + ctx.strokeStyle = '#0f0'; + + ctx.beginPath(); + ctx.moveTo(35-tol, 15); + ctx.arc(25, 15, 10-tol, 0, Math.PI, true); + ctx.arc(25, 35, 10-tol, Math.PI, 0, true); + ctx.fill(); + + ctx.beginPath(); + ctx.moveTo(25, 15); + ctx.lineTo(25, 35); + ctx.stroke(); + + + ctx.fillStyle = '#0f0'; + ctx.strokeStyle = '#f00'; + + ctx.beginPath(); + ctx.moveTo(75, 15); + ctx.lineTo(75, 35); + ctx.stroke(); + + ctx.beginPath(); + ctx.moveTo(85+tol, 15); + ctx.arc(75, 15, 10+tol, 0, Math.PI, true); + ctx.arc(75, 35, 10+tol, Math.PI, 0, true); + ctx.fill(); + + @assert pixel 17,6 == 0,255,0,255; + @assert pixel 25,6 == 0,255,0,255; + @assert pixel 32,6 == 0,255,0,255; + @assert pixel 17,43 == 0,255,0,255; + @assert pixel 25,43 == 0,255,0,255; + @assert pixel 32,43 == 0,255,0,255; + + @assert pixel 67,6 == 0,255,0,255; + @assert pixel 75,6 == 0,255,0,255; + @assert pixel 82,6 == 0,255,0,255; + @assert pixel 67,43 == 0,255,0,255; + @assert pixel 75,43 == 0,255,0,255; + @assert pixel 82,43 == 0,255,0,255; + expected: green + +- name: 2d.line.cap.square + desc: lineCap 'square' is rendered correctly + testing: + - 2d.lineCap.square + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineCap = 'square'; + ctx.lineWidth = 20; + + ctx.fillStyle = '#f00'; + ctx.strokeStyle = '#0f0'; + ctx.fillRect(15, 5, 20, 40); + ctx.beginPath(); + ctx.moveTo(25, 15); + ctx.lineTo(25, 35); + ctx.stroke(); + + ctx.fillStyle = '#0f0'; + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(75, 15); + ctx.lineTo(75, 35); + ctx.stroke(); + ctx.fillRect(65, 5, 20, 40); + + @assert pixel 25,4 == 0,255,0,255; + @assert pixel 25,5 == 0,255,0,255; + @assert pixel 25,6 == 0,255,0,255; + @assert pixel 25,44 == 0,255,0,255; + @assert pixel 25,45 == 0,255,0,255; + @assert pixel 25,46 == 0,255,0,255; + + @assert pixel 75,4 == 0,255,0,255; + @assert pixel 75,5 == 0,255,0,255; + @assert pixel 75,6 == 0,255,0,255; + @assert pixel 75,44 == 0,255,0,255; + @assert pixel 75,45 == 0,255,0,255; + @assert pixel 75,46 == 0,255,0,255; + expected: green + +- name: 2d.line.cap.open + desc: Line caps are drawn at the corners of an unclosed rectangle + testing: + - 2d.lineCap.end + code: | + ctx.fillStyle = '#f00'; + ctx.strokeStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineJoin = 'bevel'; + ctx.lineCap = 'square'; + ctx.lineWidth = 400; + + ctx.beginPath(); + ctx.moveTo(200, 200); + ctx.lineTo(200, 1000); + ctx.lineTo(1000, 1000); + ctx.lineTo(1000, 200); + ctx.lineTo(200, 200); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + expected: green + +- name: 2d.line.cap.closed + desc: Line caps are not drawn at the corners of an unclosed rectangle + testing: + - 2d.lineCap.end + code: | + ctx.fillStyle = '#0f0'; + ctx.strokeStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineJoin = 'bevel'; + ctx.lineCap = 'square'; + ctx.lineWidth = 400; + + ctx.beginPath(); + ctx.moveTo(200, 200); + ctx.lineTo(200, 1000); + ctx.lineTo(1000, 1000); + ctx.lineTo(1000, 200); + ctx.closePath(); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + expected: green + +- name: 2d.line.cap.valid + desc: Setting lineCap to valid values works + testing: + - 2d.lineCap.set + - 2d.lineCap.get + code: | + ctx.lineCap = 'butt' + @assert ctx.lineCap === 'butt'; + + ctx.lineCap = 'round'; + @assert ctx.lineCap === 'round'; + + ctx.lineCap = 'square'; + @assert ctx.lineCap === 'square'; + +- name: 2d.line.cap.invalid + desc: Setting lineCap to invalid values is ignored + testing: + - 2d.lineCap.invalid + code: | + ctx.lineCap = 'butt' + @assert ctx.lineCap === 'butt'; + + ctx.lineCap = 'butt'; + ctx.lineCap = 'invalid'; + @assert ctx.lineCap === 'butt'; + + ctx.lineCap = 'butt'; + ctx.lineCap = 'ROUND'; + @assert ctx.lineCap === 'butt'; + + ctx.lineCap = 'butt'; + ctx.lineCap = 'round\0'; + @assert ctx.lineCap === 'butt'; + + ctx.lineCap = 'butt'; + ctx.lineCap = 'round '; + @assert ctx.lineCap === 'butt'; + + ctx.lineCap = 'butt'; + ctx.lineCap = ""; + @assert ctx.lineCap === 'butt'; + + ctx.lineCap = 'butt'; + ctx.lineCap = 'bevel'; + @assert ctx.lineCap === 'butt'; + +- name: 2d.line.join.bevel + desc: lineJoin 'bevel' is rendered correctly + testing: + - 2d.lineJoin.common + - 2d.lineJoin.bevel + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var tol = 1; // tolerance to avoid antialiasing artifacts + + ctx.lineJoin = 'bevel'; + ctx.lineWidth = 20; + + ctx.fillStyle = '#f00'; + ctx.strokeStyle = '#0f0'; + + ctx.fillRect(10, 10, 20, 20); + ctx.fillRect(20, 20, 20, 20); + ctx.beginPath(); + ctx.moveTo(30, 20); + ctx.lineTo(40-tol, 20); + ctx.lineTo(30, 10+tol); + ctx.fill(); + + ctx.beginPath(); + ctx.moveTo(10, 20); + ctx.lineTo(30, 20); + ctx.lineTo(30, 40); + ctx.stroke(); + + + ctx.fillStyle = '#0f0'; + ctx.strokeStyle = '#f00'; + + ctx.beginPath(); + ctx.moveTo(60, 20); + ctx.lineTo(80, 20); + ctx.lineTo(80, 40); + ctx.stroke(); + + ctx.fillRect(60, 10, 20, 20); + ctx.fillRect(70, 20, 20, 20); + ctx.beginPath(); + ctx.moveTo(80, 20); + ctx.lineTo(90+tol, 20); + ctx.lineTo(80, 10-tol); + ctx.fill(); + + @assert pixel 34,16 == 0,255,0,255; + @assert pixel 34,15 == 0,255,0,255; + @assert pixel 35,15 == 0,255,0,255; + @assert pixel 36,15 == 0,255,0,255; + @assert pixel 36,14 == 0,255,0,255; + + @assert pixel 84,16 == 0,255,0,255; + @assert pixel 84,15 == 0,255,0,255; + @assert pixel 85,15 == 0,255,0,255; + @assert pixel 86,15 == 0,255,0,255; + @assert pixel 86,14 == 0,255,0,255; + expected: green + +- name: 2d.line.join.round + desc: lineJoin 'round' is rendered correctly + testing: + - 2d.lineJoin.round + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var tol = 1; // tolerance to avoid antialiasing artifacts + + ctx.lineJoin = 'round'; + ctx.lineWidth = 20; + + ctx.fillStyle = '#f00'; + ctx.strokeStyle = '#0f0'; + + ctx.fillRect(10, 10, 20, 20); + ctx.fillRect(20, 20, 20, 20); + ctx.beginPath(); + ctx.moveTo(30, 20); + ctx.arc(30, 20, 10-tol, 0, 2*Math.PI, true); + ctx.fill(); + + ctx.beginPath(); + ctx.moveTo(10, 20); + ctx.lineTo(30, 20); + ctx.lineTo(30, 40); + ctx.stroke(); + + + ctx.fillStyle = '#0f0'; + ctx.strokeStyle = '#f00'; + + ctx.beginPath(); + ctx.moveTo(60, 20); + ctx.lineTo(80, 20); + ctx.lineTo(80, 40); + ctx.stroke(); + + ctx.fillRect(60, 10, 20, 20); + ctx.fillRect(70, 20, 20, 20); + ctx.beginPath(); + ctx.moveTo(80, 20); + ctx.arc(80, 20, 10+tol, 0, 2*Math.PI, true); + ctx.fill(); + + @assert pixel 36,14 == 0,255,0,255; + @assert pixel 36,13 == 0,255,0,255; + @assert pixel 37,13 == 0,255,0,255; + @assert pixel 38,13 == 0,255,0,255; + @assert pixel 38,12 == 0,255,0,255; + + @assert pixel 86,14 == 0,255,0,255; + @assert pixel 86,13 == 0,255,0,255; + @assert pixel 87,13 == 0,255,0,255; + @assert pixel 88,13 == 0,255,0,255; + @assert pixel 88,12 == 0,255,0,255; + expected: green + +- name: 2d.line.join.miter + desc: lineJoin 'miter' is rendered correctly + testing: + - 2d.lineJoin.miter + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineJoin = 'miter'; + ctx.lineWidth = 20; + + ctx.fillStyle = '#f00'; + ctx.strokeStyle = '#0f0'; + + ctx.fillStyle = '#f00'; + ctx.strokeStyle = '#0f0'; + + ctx.fillRect(10, 10, 30, 20); + ctx.fillRect(20, 10, 20, 30); + + ctx.beginPath(); + ctx.moveTo(10, 20); + ctx.lineTo(30, 20); + ctx.lineTo(30, 40); + ctx.stroke(); + + + ctx.fillStyle = '#0f0'; + ctx.strokeStyle = '#f00'; + + ctx.beginPath(); + ctx.moveTo(60, 20); + ctx.lineTo(80, 20); + ctx.lineTo(80, 40); + ctx.stroke(); + + ctx.fillRect(60, 10, 30, 20); + ctx.fillRect(70, 10, 20, 30); + + @assert pixel 38,12 == 0,255,0,255; + @assert pixel 39,11 == 0,255,0,255; + @assert pixel 40,10 == 0,255,0,255; + @assert pixel 41,9 == 0,255,0,255; + @assert pixel 42,8 == 0,255,0,255; + + @assert pixel 88,12 == 0,255,0,255; + @assert pixel 89,11 == 0,255,0,255; + @assert pixel 90,10 == 0,255,0,255; + @assert pixel 91,9 == 0,255,0,255; + @assert pixel 92,8 == 0,255,0,255; + expected: green + +- name: 2d.line.join.open + desc: Line joins are not drawn at the corner of an unclosed rectangle + testing: + - 2d.lineJoin.joins + code: | + ctx.fillStyle = '#0f0'; + ctx.strokeStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineJoin = 'miter'; + ctx.lineWidth = 200; + + ctx.beginPath(); + ctx.moveTo(100, 50); + ctx.lineTo(100, 1000); + ctx.lineTo(1000, 1000); + ctx.lineTo(1000, 50); + ctx.lineTo(100, 50); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + expected: green + +- name: 2d.line.join.closed + desc: Line joins are drawn at the corner of a closed rectangle + testing: + - 2d.lineJoin.joinclosed + code: | + ctx.fillStyle = '#f00'; + ctx.strokeStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineJoin = 'miter'; + ctx.lineWidth = 200; + + ctx.beginPath(); + ctx.moveTo(100, 50); + ctx.lineTo(100, 1000); + ctx.lineTo(1000, 1000); + ctx.lineTo(1000, 50); + ctx.closePath(); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + expected: green + +- name: 2d.line.join.parallel + desc: Line joins are drawn at 180-degree joins + testing: + - 2d.lineJoin.joins + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 300; + ctx.lineJoin = 'round'; + ctx.beginPath(); + ctx.moveTo(-100, 25); + ctx.lineTo(0, 25); + ctx.lineTo(-100, 25); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + expected: green + +- name: 2d.line.join.valid + desc: Setting lineJoin to valid values works + testing: + - 2d.lineJoin.set + - 2d.lineJoin.get + code: | + ctx.lineJoin = 'bevel' + @assert ctx.lineJoin === 'bevel'; + + ctx.lineJoin = 'round'; + @assert ctx.lineJoin === 'round'; + + ctx.lineJoin = 'miter'; + @assert ctx.lineJoin === 'miter'; + +- name: 2d.line.join.invalid + desc: Setting lineJoin to invalid values is ignored + testing: + - 2d.lineJoin.invalid + code: | + ctx.lineJoin = 'bevel' + @assert ctx.lineJoin === 'bevel'; + + ctx.lineJoin = 'bevel'; + ctx.lineJoin = 'invalid'; + @assert ctx.lineJoin === 'bevel'; + + ctx.lineJoin = 'bevel'; + ctx.lineJoin = 'ROUND'; + @assert ctx.lineJoin === 'bevel'; + + ctx.lineJoin = 'bevel'; + ctx.lineJoin = 'round\0'; + @assert ctx.lineJoin === 'bevel'; + + ctx.lineJoin = 'bevel'; + ctx.lineJoin = 'round '; + @assert ctx.lineJoin === 'bevel'; + + ctx.lineJoin = 'bevel'; + ctx.lineJoin = ""; + @assert ctx.lineJoin === 'bevel'; + + ctx.lineJoin = 'bevel'; + ctx.lineJoin = 'butt'; + @assert ctx.lineJoin === 'bevel'; + +- name: 2d.line.miter.exceeded + desc: Miter joins are not drawn when the miter limit is exceeded + testing: + - 2d.lineJoin.miterLimit + - 2d.lineJoin.miter + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineWidth = 400; + ctx.lineJoin = 'miter'; + + ctx.strokeStyle = '#f00'; + ctx.miterLimit = 1.414; + ctx.beginPath(); + ctx.moveTo(200, 1000); + ctx.lineTo(200, 200); + ctx.lineTo(1000, 201); // slightly non-right-angle to avoid being a special case + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + expected: green + +- name: 2d.line.miter.acute + desc: Miter joins are drawn correctly with acute angles + testing: + - 2d.lineJoin.miterLimit + - 2d.lineJoin.miter + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineWidth = 200; + ctx.lineJoin = 'miter'; + + ctx.strokeStyle = '#0f0'; + ctx.miterLimit = 2.614; + ctx.beginPath(); + ctx.moveTo(100, 1000); + ctx.lineTo(100, 100); + ctx.lineTo(1000, 1000); + ctx.stroke(); + + ctx.strokeStyle = '#f00'; + ctx.miterLimit = 2.613; + ctx.beginPath(); + ctx.moveTo(100, 1000); + ctx.lineTo(100, 100); + ctx.lineTo(1000, 1000); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + expected: green + +- name: 2d.line.miter.obtuse + desc: Miter joins are drawn correctly with obtuse angles + testing: + - 2d.lineJoin.miterLimit + - 2d.lineJoin.miter + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineWidth = 1600; + ctx.lineJoin = 'miter'; + + ctx.strokeStyle = '#0f0'; + ctx.miterLimit = 1.083; + ctx.beginPath(); + ctx.moveTo(800, 10000); + ctx.lineTo(800, 300); + ctx.lineTo(10000, -8900); + ctx.stroke(); + + ctx.strokeStyle = '#f00'; + ctx.miterLimit = 1.082; + ctx.beginPath(); + ctx.moveTo(800, 10000); + ctx.lineTo(800, 300); + ctx.lineTo(10000, -8900); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + expected: green + +- name: 2d.line.miter.rightangle + desc: Miter joins are not drawn when the miter limit is exceeded, on exact right angles + testing: + - 2d.lineJoin.miter + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineWidth = 400; + ctx.lineJoin = 'miter'; + + ctx.strokeStyle = '#f00'; + ctx.miterLimit = 1.414; + ctx.beginPath(); + ctx.moveTo(200, 1000); + ctx.lineTo(200, 200); + ctx.lineTo(1000, 200); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + expected: green + +- name: 2d.line.miter.lineedge + desc: Miter joins are not drawn when the miter limit is exceeded at the corners of a zero-height rectangle + testing: + - 2d.lineJoin.miter + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineWidth = 200; + ctx.lineJoin = 'miter'; + + ctx.strokeStyle = '#f00'; + ctx.miterLimit = 1.414; + ctx.beginPath(); + ctx.strokeRect(100, 25, 200, 0); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + expected: green + +- name: 2d.line.miter.within + desc: Miter joins are drawn when the miter limit is not quite exceeded + testing: + - 2d.lineJoin.miter + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineWidth = 400; + ctx.lineJoin = 'miter'; + + ctx.strokeStyle = '#0f0'; + ctx.miterLimit = 1.416; + ctx.beginPath(); + ctx.moveTo(200, 1000); + ctx.lineTo(200, 200); + ctx.lineTo(1000, 201); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + expected: green + +- name: 2d.line.miter.valid + desc: Setting miterLimit to valid values works + testing: + - 2d.miterLimit.set + - 2d.miterLimit.get + code: | + ctx.miterLimit = 1.5; + @assert ctx.miterLimit === 1.5; + + ctx.miterLimit = "1e1"; + @assert ctx.miterLimit === 10; + + ctx.miterLimit = 1/1024; + @assert ctx.miterLimit === 1/1024; + + ctx.miterLimit = 1000; + @assert ctx.miterLimit === 1000; + +- name: 2d.line.miter.invalid + desc: Setting miterLimit to invalid values is ignored + testing: + - 2d.miterLimit.invalid + code: | + ctx.miterLimit = 1.5; + @assert ctx.miterLimit === 1.5; + + ctx.miterLimit = 1.5; + ctx.miterLimit = 0; + @assert ctx.miterLimit === 1.5; + + ctx.miterLimit = 1.5; + ctx.miterLimit = -1; + @assert ctx.miterLimit === 1.5; + + ctx.miterLimit = 1.5; + ctx.miterLimit = Infinity; + @assert ctx.miterLimit === 1.5; + + ctx.miterLimit = 1.5; + ctx.miterLimit = -Infinity; + @assert ctx.miterLimit === 1.5; + + ctx.miterLimit = 1.5; + ctx.miterLimit = NaN; + @assert ctx.miterLimit === 1.5; + +- name: 2d.line.cross + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineWidth = 200; + ctx.lineJoin = 'bevel'; + + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(110, 50); + ctx.lineTo(110, 60); + ctx.lineTo(100, 60); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + expected: green + +- name: 2d.line.union + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineWidth = 100; + ctx.lineCap = 'round'; + + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(0, 24); + ctx.lineTo(100, 25); + ctx.lineTo(0, 26); + ctx.closePath(); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 25,1 == 0,255,0,255; + @assert pixel 48,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 25,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + expected: green + + + + + + + +- name: 2d.shadow.attributes.shadowBlur.initial + testing: + - 2d.shadow.blur.get + - 2d.shadow.blur.initial + code: | + @assert ctx.shadowBlur === 0; + +- name: 2d.shadow.attributes.shadowBlur.valid + testing: + - 2d.shadow.blur.get + - 2d.shadow.blur.set + code: | + ctx.shadowBlur = 1; + @assert ctx.shadowBlur === 1; + + ctx.shadowBlur = 0.5; + @assert ctx.shadowBlur === 0.5; + + ctx.shadowBlur = 1e6; + @assert ctx.shadowBlur === 1e6; + + ctx.shadowBlur = 0; + @assert ctx.shadowBlur === 0; + +- name: 2d.shadow.attributes.shadowBlur.invalid + testing: + - 2d.shadow.blur.invalid + code: | + ctx.shadowBlur = 1; + ctx.shadowBlur = -2; + @assert ctx.shadowBlur === 1; + + ctx.shadowBlur = 1; + ctx.shadowBlur = Infinity; + @assert ctx.shadowBlur === 1; + + ctx.shadowBlur = 1; + ctx.shadowBlur = -Infinity; + @assert ctx.shadowBlur === 1; + + ctx.shadowBlur = 1; + ctx.shadowBlur = NaN; + @assert ctx.shadowBlur === 1; + +- name: 2d.shadow.attributes.shadowOffset.initial + testing: + - 2d.shadow.offset.initial + code: | + @assert ctx.shadowOffsetX === 0; + @assert ctx.shadowOffsetY === 0; + +- name: 2d.shadow.attributes.shadowOffset.valid + testing: + - 2d.shadow.offset.get + - 2d.shadow.offset.set + code: | + ctx.shadowOffsetX = 1; + ctx.shadowOffsetY = 2; + @assert ctx.shadowOffsetX === 1; + @assert ctx.shadowOffsetY === 2; + + ctx.shadowOffsetX = 0.5; + ctx.shadowOffsetY = 0.25; + @assert ctx.shadowOffsetX === 0.5; + @assert ctx.shadowOffsetY === 0.25; + + ctx.shadowOffsetX = -0.5; + ctx.shadowOffsetY = -0.25; + @assert ctx.shadowOffsetX === -0.5; + @assert ctx.shadowOffsetY === -0.25; + + ctx.shadowOffsetX = 0; + ctx.shadowOffsetY = 0; + @assert ctx.shadowOffsetX === 0; + @assert ctx.shadowOffsetY === 0; + + ctx.shadowOffsetX = 1e6; + ctx.shadowOffsetY = 1e6; + @assert ctx.shadowOffsetX === 1e6; + @assert ctx.shadowOffsetY === 1e6; + +- name: 2d.shadow.attributes.shadowOffset.invalid + testing: + - 2d.shadow.offset.invalid + code: | + ctx.shadowOffsetX = 1; + ctx.shadowOffsetY = 2; + ctx.shadowOffsetX = Infinity; + ctx.shadowOffsetY = Infinity; + @assert ctx.shadowOffsetX === 1; + @assert ctx.shadowOffsetY === 2; + + ctx.shadowOffsetX = 1; + ctx.shadowOffsetY = 2; + ctx.shadowOffsetX = -Infinity; + ctx.shadowOffsetY = -Infinity; + @assert ctx.shadowOffsetX === 1; + @assert ctx.shadowOffsetY === 2; + + ctx.shadowOffsetX = 1; + ctx.shadowOffsetY = 2; + ctx.shadowOffsetX = NaN; + ctx.shadowOffsetY = NaN; + @assert ctx.shadowOffsetX === 1; + @assert ctx.shadowOffsetY === 2; + +- name: 2d.shadow.attributes.shadowColor.initial + testing: + - 2d.shadow.color.initial + code: | + @assert ctx.shadowColor === 'rgba(0, 0, 0, 0)'; + +- name: 2d.shadow.attributes.shadowColor.valid + testing: + - 2d.shadow.color.get + - 2d.shadow.color.set + code: | + ctx.shadowColor = 'lime'; + @assert ctx.shadowColor === '#00ff00'; + + ctx.shadowColor = 'RGBA(0,255, 0,0)'; + @assert ctx.shadowColor === 'rgba(0, 255, 0, 0)'; + +- name: 2d.shadow.attributes.shadowColor.invalid + testing: + - 2d.shadow.color.invalid + code: | + ctx.shadowColor = '#00ff00'; + ctx.shadowColor = 'bogus'; + @assert ctx.shadowColor === '#00ff00'; + + ctx.shadowColor = '#00ff00'; + ctx.shadowColor = 'red bogus'; + @assert ctx.shadowColor === '#00ff00'; + + ctx.shadowColor = '#00ff00'; + ctx.shadowColor = ctx; + @assert ctx.shadowColor === '#00ff00'; + + ctx.shadowColor = '#00ff00'; + ctx.shadowColor = undefined; + @assert ctx.shadowColor === '#00ff00'; + +- name: 2d.shadow.enable.off.1 + desc: Shadows are not drawn when only shadowColor is set + testing: + - 2d.shadow.enable + - 2d.shadow.render + code: | + ctx.shadowColor = '#f00'; + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.enable.off.2 + desc: Shadows are not drawn when only shadowColor is set + testing: + - 2d.shadow.enable + - 2d.shadow.render + code: | + ctx.globalCompositeOperation = 'destination-atop'; + ctx.shadowColor = '#f00'; + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.enable.blur + desc: Shadows are drawn if shadowBlur is set + testing: + - 2d.shadow.enable + - 2d.shadow.render + code: | + ctx.globalCompositeOperation = 'destination-atop'; + ctx.shadowColor = '#0f0'; + ctx.shadowBlur = 0.1; + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.enable.x + desc: Shadows are drawn if shadowOffsetX is set + testing: + - 2d.shadow.enable + - 2d.shadow.render + code: | + ctx.globalCompositeOperation = 'destination-atop'; + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetX = 0.1; + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.enable.y + desc: Shadows are drawn if shadowOffsetY is set + testing: + - 2d.shadow.enable + - 2d.shadow.render + code: | + ctx.globalCompositeOperation = 'destination-atop'; + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetY = 0.1; + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.offset.positiveX + desc: Shadows can be offset with positive x + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetX = 50; + ctx.fillRect(0, 0, 50, 50); + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.offset.negativeX + desc: Shadows can be offset with negative x + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetX = -50; + ctx.fillRect(50, 0, 50, 50); + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.offset.positiveY + desc: Shadows can be offset with positive y + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetY = 25; + ctx.fillRect(0, 0, 100, 25); + @assert pixel 50,12 == 0,255,0,255; + @assert pixel 50,37 == 0,255,0,255; + expected: green + +- name: 2d.shadow.offset.negativeY + desc: Shadows can be offset with negative y + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetY = -25; + ctx.fillRect(0, 25, 100, 25); + @assert pixel 50,12 == 0,255,0,255; + @assert pixel 50,37 == 0,255,0,255; + expected: green + +- name: 2d.shadow.outside + desc: Shadows of shapes outside the visible area can be offset onto the visible area + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetX = 100; + ctx.fillRect(-100, 0, 25, 50); + ctx.shadowOffsetX = -100; + ctx.fillRect(175, 0, 25, 50); + ctx.shadowOffsetX = 0; + ctx.shadowOffsetY = 100; + ctx.fillRect(25, -100, 50, 25); + ctx.shadowOffsetY = -100; + ctx.fillRect(25, 125, 50, 25); + @assert pixel 12,25 == 0,255,0,255; + @assert pixel 87,25 == 0,255,0,255; + @assert pixel 50,12 == 0,255,0,255; + @assert pixel 50,37 == 0,255,0,255; + expected: green + +- name: 2d.shadow.clip.1 + desc: Shadows of clipped shapes are still drawn within the clipping region + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 50, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(50, 0, 50, 50); + + ctx.save(); + ctx.beginPath(); + ctx.rect(50, 0, 50, 50); + ctx.clip(); + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetX = 50; + ctx.fillRect(0, 0, 50, 50); + ctx.restore(); + + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.clip.2 + desc: Shadows are not drawn outside the clipping region + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 50, 50); + ctx.fillStyle = '#0f0'; + ctx.fillRect(50, 0, 50, 50); + + ctx.save(); + ctx.beginPath(); + ctx.rect(0, 0, 50, 50); + ctx.clip(); + ctx.shadowColor = '#f00'; + ctx.shadowOffsetX = 50; + ctx.fillRect(0, 0, 50, 50); + ctx.restore(); + + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.clip.3 + desc: Shadows of clipped shapes are still drawn within the clipping region + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 50, 50); + ctx.fillStyle = '#0f0'; + ctx.fillRect(50, 0, 50, 50); + + ctx.save(); + ctx.beginPath(); + ctx.rect(0, 0, 50, 50); + ctx.clip(); + ctx.fillStyle = '#f00'; + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetX = 50; + ctx.fillRect(-50, 0, 50, 50); + ctx.restore(); + + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.stroke.basic + desc: Shadows are drawn for strokes + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetY = 50; + ctx.beginPath(); + ctx.lineWidth = 50; + ctx.moveTo(0, -25); + ctx.lineTo(100, -25); + ctx.stroke(); + + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.stroke.cap.1 + desc: Shadows are not drawn for areas outside stroke caps + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.shadowColor = '#f00'; + ctx.shadowOffsetY = 50; + ctx.beginPath(); + ctx.lineWidth = 50; + ctx.lineCap = 'butt'; + ctx.moveTo(-50, -25); + ctx.lineTo(0, -25); + ctx.moveTo(100, -25); + ctx.lineTo(150, -25); + ctx.stroke(); + + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.stroke.cap.2 + desc: Shadows are drawn for stroke caps + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetY = 50; + ctx.beginPath(); + ctx.lineWidth = 50; + ctx.lineCap = 'square'; + ctx.moveTo(25, -25); + ctx.lineTo(75, -25); + ctx.stroke(); + + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.stroke.join.1 + desc: Shadows are not drawn for areas outside stroke joins + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.shadowColor = '#f00'; + ctx.shadowOffsetX = 100; + ctx.lineWidth = 200; + ctx.lineJoin = 'bevel'; + ctx.beginPath(); + ctx.moveTo(-200, -50); + ctx.lineTo(-150, -50); + ctx.lineTo(-151, -100); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.shadow.stroke.join.2 + desc: Shadows are drawn for stroke joins + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 50, 50); + ctx.fillStyle = '#0f0'; + ctx.fillRect(50, 0, 50, 50); + ctx.strokeStyle = '#f00'; + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetX = 100; + ctx.lineWidth = 200; + ctx.lineJoin = 'miter'; + ctx.beginPath(); + ctx.moveTo(-200, -50); + ctx.lineTo(-150, -50); + ctx.lineTo(-151, -100); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.shadow.stroke.join.3 + desc: Shadows are drawn for stroke joins respecting miter limit + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.shadowColor = '#f00'; + ctx.shadowOffsetX = 100; + ctx.lineWidth = 200; + ctx.lineJoin = 'miter'; + ctx.miterLimit = 0.1; + ctx.beginPath(); + ctx.moveTo(-200, -50); + ctx.lineTo(-150, -50); + ctx.lineTo(-151, -100); // (not an exact right angle, to avoid some other bug in Firefox 3) + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 48,48 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.shadow.image.basic + desc: Shadows are drawn for images + testing: + - 2d.shadow.render + images: + - red.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetY = 50; + ctx.drawImage(document.getElementById('red.png'), 0, -50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.image.transparent.1 + desc: Shadows are not drawn for transparent images + testing: + - 2d.shadow.render + images: + - transparent.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#f00'; + ctx.shadowOffsetY = 50; + ctx.drawImage(document.getElementById('transparent.png'), 0, -50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.image.transparent.2 + desc: Shadows are not drawn for transparent parts of images + testing: + - 2d.shadow.render + images: + - redtransparent.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 50, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(50, 0, 50, 50); + ctx.shadowOffsetY = 50; + ctx.shadowColor = '#0f0'; + ctx.drawImage(document.getElementById('redtransparent.png'), 50, -50); + ctx.shadowColor = '#f00'; + ctx.drawImage(document.getElementById('redtransparent.png'), -50, -50); + + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.image.alpha + desc: Shadows are drawn correctly for partially-transparent images + testing: + - 2d.shadow.render + images: + - transparent50.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowOffsetY = 50; + ctx.shadowColor = '#00f'; + ctx.drawImage(document.getElementById('transparent50.png'), 0, -50); + + @assert pixel 50,25 ==~ 127,0,127,255; + expected: | + size 100 50 + cr.set_source_rgb(0.5, 0, 0.5) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.shadow.image.section + desc: Shadows are not drawn for areas outside image source rectangles + testing: + - 2d.shadow.render + images: + - redtransparent.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowOffsetY = 50; + ctx.shadowColor = '#f00'; + ctx.drawImage(document.getElementById('redtransparent.png'), 50, 0, 50, 50, 0, -50, 50, 50); + + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 50,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.shadow.image.scale + desc: Shadows are drawn correctly for scaled images + testing: + - 2d.shadow.render + images: + - redtransparent.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowOffsetY = 50; + ctx.shadowColor = '#0f0'; + ctx.drawImage(document.getElementById('redtransparent.png'), 0, 0, 100, 50, -10, -50, 240, 50); + + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 50,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.shadow.canvas.basic + desc: Shadows are drawn for canvases + testing: + - 2d.shadow.render + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = '#f00'; + ctx2.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetY = 50; + ctx.drawImage(canvas2, 0, -50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.canvas.transparent.1 + desc: Shadows are not drawn for transparent canvases + testing: + - 2d.shadow.render + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#f00'; + ctx.shadowOffsetY = 50; + ctx.drawImage(canvas2, 0, -50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.canvas.transparent.2 + desc: Shadows are not drawn for transparent parts of canvases + testing: + - 2d.shadow.render + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = '#f00'; + ctx2.fillRect(0, 0, 50, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 50, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(50, 0, 50, 50); + ctx.shadowOffsetY = 50; + ctx.shadowColor = '#0f0'; + ctx.drawImage(canvas2, 50, -50); + ctx.shadowColor = '#f00'; + ctx.drawImage(canvas2, -50, -50); + + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.canvas.alpha + desc: Shadows are drawn correctly for partially-transparent canvases + testing: + - 2d.shadow.render + images: + - transparent50.png + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = 'rgba(255, 0, 0, 0.5)'; + ctx2.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowOffsetY = 50; + ctx.shadowColor = '#00f'; + ctx.drawImage(canvas2, 0, -50); + + @assert pixel 50,25 ==~ 127,0,127,255; + expected: | + size 100 50 + cr.set_source_rgb(0.5, 0, 0.5) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.shadow.pattern.basic + desc: Shadows are drawn for fill patterns + testing: + - 2d.shadow.render + # http://bugs.webkit.org/show_bug.cgi?id=15266 + images: + - red.png + code: | + var pattern = ctx.createPattern(document.getElementById('red.png'), 'repeat'); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetY = 50; + ctx.fillStyle = pattern; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.pattern.transparent.1 + desc: Shadows are not drawn for transparent fill patterns + testing: + - 2d.shadow.render + # http://bugs.webkit.org/show_bug.cgi?id=15266 + images: + - transparent.png + code: | + var pattern = ctx.createPattern(document.getElementById('transparent.png'), 'repeat'); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#f00'; + ctx.shadowOffsetY = 50; + ctx.fillStyle = pattern; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.pattern.transparent.2 + desc: Shadows are not drawn for transparent parts of fill patterns + testing: + - 2d.shadow.render + # http://bugs.webkit.org/show_bug.cgi?id=15266 + images: + - redtransparent.png + code: | + var pattern = ctx.createPattern(document.getElementById('redtransparent.png'), 'repeat'); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 50, 50); + ctx.fillStyle = '#0f0'; + ctx.fillRect(50, 0, 50, 50); + ctx.shadowOffsetY = 50; + ctx.shadowColor = '#0f0'; + ctx.fillStyle = pattern; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.pattern.alpha + desc: Shadows are drawn correctly for partially-transparent fill patterns + testing: + - 2d.shadow.render + # http://bugs.webkit.org/show_bug.cgi?id=15266 + images: + - transparent50.png + code: | + var pattern = ctx.createPattern(document.getElementById('transparent50.png'), 'repeat'); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowOffsetY = 50; + ctx.shadowColor = '#00f'; + ctx.fillStyle = pattern; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 50,25 ==~ 127,0,127,255; + expected: | + size 100 50 + cr.set_source_rgb(0.5, 0, 0.5) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.shadow.gradient.basic + desc: Shadows are drawn for gradient fills + testing: + - 2d.shadow.render + # http://bugs.webkit.org/show_bug.cgi?id=15266 + code: | + var gradient = ctx.createLinearGradient(0, 0, 100, 0); + gradient.addColorStop(0, '#f00'); + gradient.addColorStop(1, '#f00'); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#0f0'; + ctx.shadowOffsetY = 50; + ctx.fillStyle = gradient; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.gradient.transparent.1 + desc: Shadows are not drawn for transparent gradient fills + testing: + - 2d.shadow.render + # http://bugs.webkit.org/show_bug.cgi?id=15266 + code: | + var gradient = ctx.createLinearGradient(0, 0, 100, 0); + gradient.addColorStop(0, 'rgba(0,0,0,0)'); + gradient.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#f00'; + ctx.shadowOffsetY = 50; + ctx.fillStyle = gradient; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.gradient.transparent.2 + desc: Shadows are not drawn for transparent parts of gradient fills + testing: + - 2d.shadow.render + # http://bugs.webkit.org/show_bug.cgi?id=15266 + code: | + var gradient = ctx.createLinearGradient(0, 0, 100, 0); + gradient.addColorStop(0, '#f00'); + gradient.addColorStop(0.499, '#f00'); + gradient.addColorStop(0.5, 'rgba(0,0,0,0)'); + gradient.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 50, 50); + ctx.fillStyle = '#0f0'; + ctx.fillRect(50, 0, 50, 50); + ctx.shadowOffsetY = 50; + ctx.shadowColor = '#0f0'; + ctx.fillStyle = gradient; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 25,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 75,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.gradient.alpha + desc: Shadows are drawn correctly for partially-transparent gradient fills + testing: + - 2d.shadow.render + # http://bugs.webkit.org/show_bug.cgi?id=15266 + code: | + var gradient = ctx.createLinearGradient(0, 0, 100, 0); + gradient.addColorStop(0, 'rgba(255,0,0,0.5)'); + gradient.addColorStop(1, 'rgba(255,0,0,0.5)'); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowOffsetY = 50; + ctx.shadowColor = '#00f'; + ctx.fillStyle = gradient; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 50,25 ==~ 127,0,127,255; + expected: | + size 100 50 + cr.set_source_rgb(0.5, 0, 0.5) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.shadow.transform.1 + desc: Shadows take account of transformations + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowOffsetY = 50; + ctx.shadowColor = '#0f0'; + ctx.translate(100, 100); + ctx.fillRect(-100, -150, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.transform.2 + desc: Shadow offsets are not affected by transformations + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowOffsetY = 50; + ctx.shadowColor = '#0f0'; + ctx.rotate(Math.PI) + ctx.fillRect(-100, 0, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.shadow.blur.low + desc: Shadows look correct for small blurs + manual: + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#ff0'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#00f'; + ctx.shadowOffsetY = 25; + for (var x = 0; x < 100; ++x) { + ctx.save(); + ctx.beginPath(); + ctx.rect(x, 0, 1, 50); + ctx.clip(); + ctx.shadowBlur = x; + ctx.fillRect(-200, -200, 500, 200); + ctx.restore(); + } + expected: | + size 100 50 + import math + cr.set_source_rgb(0, 0, 1) + cr.rectangle(0, 0, 1, 25) + cr.fill() + cr.set_source_rgb(1, 1, 0) + cr.rectangle(0, 25, 1, 25) + cr.fill() + for x in range(1, 100): + sigma = x/2.0 + filter = [math.exp(-i*i / (2*sigma*sigma)) / (math.sqrt(2*math.pi)*sigma) for i in range(-24, 26)] + accum = [0] + for f in filter: + accum.append(accum[-1] + f) + for y in range(0, 50): + cr.set_source_rgb(accum[y], accum[y], 1-accum[y]) + cr.rectangle(x, y, 1, 1) + cr.fill() + +- name: 2d.shadow.blur.high + desc: Shadows look correct for large blurs + manual: + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#ff0'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#00f'; + ctx.shadowOffsetY = 0; + ctx.shadowBlur = 100; + ctx.fillRect(-200, -200, 200, 400); + expected: | + size 100 50 + import math + sigma = 100.0/2 + filter = [math.exp(-i*i / (2*sigma*sigma)) / (math.sqrt(2*math.pi)*sigma) for i in range(-200, 100)] + accum = [0] + for f in filter: + accum.append(accum[-1] + f) + for x in range(0, 100): + cr.set_source_rgb(accum[x+200], accum[x+200], 1-accum[x+200]) + cr.rectangle(x, 0, 1, 50) + cr.fill() + +- name: 2d.shadow.alpha.1 + desc: Shadow colour alpha components are used + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = 'rgba(255, 0, 0, 0.01)'; + ctx.shadowOffsetY = 50; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 50,25 ==~ 0,255,0,255 +/- 4; + expected: green + +- name: 2d.shadow.alpha.2 + desc: Shadow colour alpha components are used + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = 'rgba(0, 0, 255, 0.5)'; + ctx.shadowOffsetY = 50; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 50,25 ==~ 127,0,127,255; + expected: | + size 100 50 + cr.set_source_rgb(0.5, 0, 0.5) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.shadow.alpha.3 + desc: Shadows are affected by globalAlpha + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; // (work around broken Firefox globalAlpha caching) + ctx.shadowColor = '#00f'; + ctx.shadowOffsetY = 50; + ctx.globalAlpha = 0.5; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 50,25 ==~ 127,0,127,255; + expected: | + size 100 50 + cr.set_source_rgb(0.5, 0, 0.5) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.shadow.alpha.4 + desc: Shadows with alpha components are correctly affected by globalAlpha + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; // (work around broken Firefox globalAlpha caching) + ctx.shadowColor = 'rgba(0, 0, 255, 0.707)'; + ctx.shadowOffsetY = 50; + ctx.globalAlpha = 0.707; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 50,25 ==~ 127,0,127,255; + expected: | + size 100 50 + cr.set_source_rgb(0.5, 0, 0.5) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.shadow.alpha.5 + desc: Shadows of shapes with alpha components are drawn correctly + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = 'rgba(64, 0, 0, 0.5)'; + ctx.shadowColor = '#00f'; + ctx.shadowOffsetY = 50; + ctx.fillRect(0, -50, 100, 50); + + @assert pixel 50,25 ==~ 127,0,127,255; + expected: | + size 100 50 + cr.set_source_rgb(0.5, 0, 0.5) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.shadow.composite.1 + desc: Shadows are drawn using globalCompositeOperation + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = 'xor'; + ctx.shadowColor = '#f00'; + ctx.shadowOffsetX = 100; + ctx.fillStyle = '#0f0'; + ctx.fillRect(-100, 0, 200, 50); + + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.shadow.composite.2 + desc: Shadows are drawn using globalCompositeOperation + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = 'xor'; + ctx.shadowColor = '#f00'; + ctx.shadowBlur = 1; + ctx.fillStyle = '#0f0'; + ctx.fillRect(-10, -10, 120, 70); + + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.shadow.composite.3 + desc: Areas outside shadows are drawn correctly with destination-out + testing: + - 2d.shadow.render + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = 'destination-out'; + ctx.shadowColor = '#f00'; + ctx.shadowBlur = 10; + ctx.fillStyle = '#f00'; + ctx.fillRect(200, 0, 100, 50); + + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + + + + + + +- name: 2d.clearRect.basic + desc: clearRect clears to transparent black + testing: + - 2d.clearRect + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.clearRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,0,0,0; + expected: clear + +- name: 2d.clearRect.path + desc: clearRect does not affect the current path + testing: + - 2d.clearRect + code: | + ctx.fillStyle = '#0f0'; + ctx.beginPath(); + ctx.rect(0, 0, 100, 50); + ctx.clearRect(0, 0, 16, 16); + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.clearRect.zero + desc: clearRect of zero pixels has no effect + testing: + - 2d.clearRect + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.clearRect(0, 0, 100, 0); + ctx.clearRect(0, 0, 0, 50); + ctx.clearRect(0, 0, 0, 0); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.clearRect.negative + desc: clearRect of negative sizes works + testing: + - 2d.clearRect + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.clearRect(0, 0, 50, 25); + ctx.clearRect(100, 0, -50, 25); + ctx.clearRect(0, 50, 50, -25); + ctx.clearRect(100, 50, -50, -25); + @assert pixel 25,12 == 0,0,0,0; + @assert pixel 75,12 == 0,0,0,0; + @assert pixel 25,37 == 0,0,0,0; + @assert pixel 75,37 == 0,0,0,0; + expected: clear + +- name: 2d.clearRect.transform + desc: clearRect is affected by transforms + testing: + - 2d.clearRect + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.scale(10, 10); + ctx.translate(0, 5); + ctx.clearRect(0, -5, 10, 5); + @assert pixel 50,25 == 0,0,0,0; + expected: clear + +- name: 2d.clearRect.globalalpha + desc: clearRect is not affected by globalAlpha + testing: + - 2d.clearRect + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalAlpha = 0.1; + ctx.clearRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,0,0,0; + expected: clear + +- name: 2d.clearRect.globalcomposite + desc: clearRect is not affected by globalCompositeOperation + testing: + - 2d.clearRect + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = 'destination-atop'; + ctx.clearRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,0,0,0; + expected: clear + +- name: 2d.clearRect.clip + desc: clearRect is affected by clipping regions + testing: + - 2d.clearRect + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.beginPath(); + ctx.rect(0, 0, 16, 16); + ctx.clip(); + + ctx.clearRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 16, 16); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.clearRect.shadow + desc: clearRect does not draw shadows + testing: + - 2d.clearRect + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#f00'; + ctx.shadowBlur = 0; + ctx.shadowOffsetX = 0; + ctx.shadowOffsetY = 50; + ctx.clearRect(0, -50, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.clearRect.nonfinite + desc: clearRect() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + @nonfinite ctx.clearRect(<0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <100 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + + +- name: 2d.fillRect.basic + desc: fillRect works + testing: + - 2d.fillRect + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.fillRect.path + desc: fillRect does not affect the current path + testing: + - 2d.fillRect + code: | + ctx.beginPath(); + ctx.rect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 16, 16); + ctx.fillStyle = '#0f0'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.fillRect.zero + desc: fillRect of zero pixels has no effect + testing: + - 2d.fillRect + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 0); + ctx.fillRect(0, 0, 0, 50); + ctx.fillRect(0, 0, 0, 0); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.fillRect.negative + desc: fillRect of negative sizes works + testing: + - 2d.fillRect + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 50, 25); + ctx.fillRect(100, 0, -50, 25); + ctx.fillRect(0, 50, 50, -25); + ctx.fillRect(100, 50, -50, -25); + @assert pixel 25,12 == 0,255,0,255; + @assert pixel 75,12 == 0,255,0,255; + @assert pixel 25,37 == 0,255,0,255; + @assert pixel 75,37 == 0,255,0,255; + expected: green + +- name: 2d.fillRect.transform + desc: fillRect is affected by transforms + testing: + - 2d.fillRect + code: | + ctx.scale(10, 10); + ctx.translate(0, 5); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, -5, 10, 5); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +# don't bother testing globalalpha, globalcomposite because they're already heavily used by other test cases + +- name: 2d.fillRect.clip + desc: fillRect is affected by clipping regions + testing: + - 2d.fillRect + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.beginPath(); + ctx.rect(0, 0, 16, 16); + ctx.clip(); + + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 16, 16); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.fillRect.shadow + desc: fillRect draws shadows + testing: + - 2d.fillRect + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.shadowColor = '#0f0'; + ctx.shadowBlur = 0; + ctx.shadowOffsetX = 0; + ctx.shadowOffsetY = 50; + ctx.fillRect(0, -50, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.fillRect.nonfinite + desc: fillRect() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#f00'; + @nonfinite ctx.fillRect(<0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <100 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + + +- name: 2d.strokeRect.basic + desc: strokeRect works + testing: + - 2d.strokeRect + code: | + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.strokeRect(25, 24, 50, 2); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.strokeRect.path + desc: strokeRect does not affect the current path + testing: + - 2d.strokeRect + code: | + ctx.beginPath(); + ctx.rect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 5; + ctx.strokeRect(0, 0, 16, 16); + ctx.fillStyle = '#0f0'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.strokeRect.zero.1 + desc: strokeRect of 0x0 pixels draws nothing + testing: + - 2d.strokeRect + code: | + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 250; + ctx.strokeRect(50, 25, 0, 0); + @assert pixel 50,25 == 0,0,0,0; + expected: clear + +- name: 2d.strokeRect.zero.2 + desc: strokeRect of 0x0 pixels draws nothing, including caps and joins + testing: + - 2d.strokeRect + code: | + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 250; + ctx.lineCap = 'round'; + ctx.lineJoin = 'round'; + ctx.strokeRect(50, 25, 0, 0); + @assert pixel 50,25 == 0,0,0,0; + expected: clear + +- name: 2d.strokeRect.zero.3 + desc: strokeRect of Nx0 pixels draws a straight line + testing: + - 2d.strokeRect + code: | + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.strokeRect(0, 25, 100, 0); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.strokeRect.zero.4 + desc: strokeRect of Nx0 pixels draws a closed line with no caps + testing: + - 2d.strokeRect + code: | + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 250; + ctx.lineCap = 'round'; + ctx.strokeRect(100, 25, 100, 0); + @assert pixel 50,25 == 0,0,0,0; + expected: clear + +- name: 2d.strokeRect.zero.5 + desc: strokeRect of Nx0 pixels draws a closed line with joins + testing: + - 2d.strokeRect + code: | + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 250; + ctx.lineJoin = 'round'; + ctx.strokeRect(100, 25, 100, 0); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.strokeRect.negative + desc: strokeRect of negative sizes works + testing: + - 2d.strokeRect + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 25; + ctx.strokeRect(12, 12, 26, 1); + ctx.strokeRect(88, 12, -26, 1); + ctx.strokeRect(12, 38, 26, -1); + ctx.strokeRect(88, 38, -26, -1); + @assert pixel 25,12 == 0,255,0,255; + @assert pixel 75,12 == 0,255,0,255; + @assert pixel 25,37 == 0,255,0,255; + @assert pixel 75,37 == 0,255,0,255; + expected: green + +- name: 2d.strokeRect.transform + desc: fillRect is affected by transforms + testing: + - 2d.strokeRect + code: | + ctx.scale(10, 10); + ctx.translate(0, 5); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 5; + ctx.strokeRect(2.5, -2.6, 5, 0.2); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.strokeRect.globalalpha + desc: strokeRect is affected by globalAlpha + testing: + - 2d.strokeRect + code: | + ctx.globalAlpha = 0; + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 50; + ctx.strokeRect(25, 24, 50, 2); + @assert pixel 50,25 == 0,0,0,0; + expected: clear + +- name: 2d.strokeRect.globalcomposite + desc: strokeRect is not affected by globalCompositeOperation + testing: + - 2d.strokeRect + code: | + ctx.globalCompositeOperation = 'source-in'; + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 50; + ctx.strokeRect(25, 24, 50, 2); + @assert pixel 50,25 == 0,0,0,0; + expected: clear + +- name: 2d.strokeRect.clip + desc: strokeRect is affected by clipping regions + testing: + - 2d.strokeRect + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.beginPath(); + ctx.rect(0, 0, 16, 16); + ctx.clip(); + + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 50; + ctx.strokeRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 16, 16); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.strokeRect.shadow + desc: strokeRect draws shadows + testing: + - 2d.strokeRect + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.shadowColor = '#0f0'; + ctx.shadowBlur = 0; + ctx.shadowOffsetX = 0; + ctx.shadowOffsetY = 50; + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 50; + ctx.strokeRect(0, -75, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.strokeRect.nonfinite + desc: strokeRect() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 150; + @nonfinite ctx.strokeRect(<0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <100 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + + +- name: 2d.path.initial + testing: + - 2d.path.initial + #mozilla: { bug: TODO } + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.closePath(); + ctx.fillStyle = '#f00'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.beginPath + testing: + - 2d.path.beginPath + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.rect(0, 0, 100, 50); + ctx.beginPath(); + ctx.fillStyle = '#f00'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.moveTo.basic + testing: + - 2d.path.moveTo + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.rect(0, 0, 10, 50); + ctx.moveTo(100, 0); + ctx.lineTo(10, 0); + ctx.lineTo(10, 50); + ctx.lineTo(100, 50); + ctx.fillStyle = '#0f0'; + ctx.fill(); + @assert pixel 90,25 == 0,255,0,255; + expected: green + +- name: 2d.path.moveTo.newsubpath + testing: + - 2d.path.moveTo + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.beginPath(); + ctx.moveTo(0, 0); + ctx.moveTo(100, 0); + ctx.moveTo(100, 50); + ctx.moveTo(0, 50); + ctx.fillStyle = '#f00'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.moveTo.multiple + testing: + - 2d.path.moveTo + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.moveTo(0, 25); + ctx.moveTo(100, 25); + ctx.moveTo(0, 25); + ctx.lineTo(100, 25); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.moveTo.nonfinite + desc: moveTo() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.moveTo(0, 0); + ctx.lineTo(100, 0); + @nonfinite ctx.moveTo(<0 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>); + ctx.lineTo(100, 50); + ctx.lineTo(0, 50); + ctx.fillStyle = '#0f0'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.closePath.empty + testing: + - 2d.path.closePath.empty + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.closePath(); + ctx.fillStyle = '#f00'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.closePath.newline + testing: + - 2d.path.closePath.nonempty + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.moveTo(-100, 25); + ctx.lineTo(-100, -100); + ctx.lineTo(200, -100); + ctx.lineTo(200, 25); + ctx.closePath(); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.closePath.nextpoint + testing: + - 2d.path.closePath.nonempty + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.moveTo(-100, 25); + ctx.lineTo(-100, -1000); + ctx.closePath(); + ctx.lineTo(1000, 25); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.lineTo.ensuresubpath.1 + desc: If there is no subpath, the point is added and nothing is drawn + testing: + - 2d.path.lineTo.empty + - 2d.path.ensure + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 50; + ctx.beginPath(); + ctx.lineTo(100, 50); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.lineTo.ensuresubpath.2 + desc: If there is no subpath, the point is added and used for subsequent drawing + testing: + - 2d.path.lineTo.empty + - 2d.path.ensure + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.beginPath(); + ctx.lineTo(0, 25); + ctx.lineTo(100, 25); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.lineTo.basic + testing: + - 2d.path.lineTo.nonempty + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.lineTo(100, 25); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.lineTo.nextpoint + testing: + - 2d.path.lineTo.nonempty + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.beginPath(); + ctx.moveTo(-100, -100); + ctx.lineTo(0, 25); + ctx.lineTo(100, 25); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.lineTo.nonfinite + desc: lineTo() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.moveTo(0, 0); + ctx.lineTo(100, 0); + @nonfinite ctx.lineTo(<0 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>); + ctx.lineTo(100, 50); + ctx.lineTo(0, 50); + ctx.fillStyle = '#0f0'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 90,45 == 0,255,0,255; + expected: green + +- name: 2d.path.quadraticCurveTo.ensuresubpath.1 + desc: If there is no subpath, the first control point is added (and nothing is drawn up to it) + testing: + - 2d.path.quadratic.empty + - 2d.path.ensure + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 50; + ctx.beginPath(); + ctx.quadraticCurveTo(100, 50, 200, 50); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 95,45 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.path.quadraticCurveTo.ensuresubpath.2 + desc: If there is no subpath, the first control point is added + testing: + - 2d.path.quadratic.empty + - 2d.path.ensure + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.beginPath(); + ctx.quadraticCurveTo(0, 25, 100, 25); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 5,45 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.path.quadraticCurveTo.basic + testing: + - 2d.path.quadratic.nonempty + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.quadraticCurveTo(100, 25, 100, 25); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.quadraticCurveTo.shape + testing: + - 2d.path.quadratic.nonempty + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 55; + ctx.beginPath(); + ctx.moveTo(-1000, 1050); + ctx.quadraticCurveTo(0, -1000, 1200, 1050); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.quadraticCurveTo.scaled + testing: + - 2d.path.quadratic.nonempty + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.scale(1000, 1000); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 0.055; + ctx.beginPath(); + ctx.moveTo(-1, 1.05); + ctx.quadraticCurveTo(0, -1, 1.2, 1.05); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.quadraticCurveTo.nonfinite + desc: quadraticCurveTo() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.moveTo(0, 0); + ctx.lineTo(100, 0); + @nonfinite ctx.quadraticCurveTo(<0 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>); + ctx.lineTo(100, 50); + ctx.lineTo(0, 50); + ctx.fillStyle = '#0f0'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 90,45 == 0,255,0,255; + expected: green + +- name: 2d.path.bezierCurveTo.ensuresubpath.1 + desc: If there is no subpath, the first control point is added (and nothing is drawn up to it) + testing: + - 2d.path.bezier.empty + - 2d.path.ensure + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 50; + ctx.beginPath(); + ctx.bezierCurveTo(100, 50, 200, 50, 200, 50); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 95,45 == 0,255,0,255; + expected: green + +- name: 2d.path.bezierCurveTo.ensuresubpath.2 + desc: If there is no subpath, the first control point is added + testing: + - 2d.path.bezier.empty + - 2d.path.ensure + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.beginPath(); + ctx.bezierCurveTo(0, 25, 100, 25, 100, 25); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 5,45 == 0,255,0,255; + expected: green + +- name: 2d.path.bezierCurveTo.basic + testing: + - 2d.path.bezier.nonempty + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.bezierCurveTo(100, 25, 100, 25, 100, 25); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.bezierCurveTo.shape + testing: + - 2d.path.bezier.nonempty + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 55; + ctx.beginPath(); + ctx.moveTo(-2000, 3100); + ctx.bezierCurveTo(-2000, -1000, 2100, -1000, 2100, 3100); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.bezierCurveTo.scaled + testing: + - 2d.path.bezier.nonempty + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.scale(1000, 1000); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 0.055; + ctx.beginPath(); + ctx.moveTo(-2, 3.1); + ctx.bezierCurveTo(-2, -1, 2.1, -1, 2.1, 3.1); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.bezierCurveTo.nonfinite + desc: bezierCurveTo() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.moveTo(0, 0); + ctx.lineTo(100, 0); + @nonfinite ctx.bezierCurveTo(<0 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>); + ctx.lineTo(100, 50); + ctx.lineTo(0, 50); + ctx.fillStyle = '#0f0'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 90,45 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.ensuresubpath.1 + desc: If there is no subpath, the first control point is added (and nothing is drawn up to it) + testing: + - 2d.path.arcTo.empty + - 2d.path.ensure + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.arcTo(100, 50, 200, 50, 0.1); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.ensuresubpath.2 + desc: If there is no subpath, the first control point is added + testing: + - 2d.path.arcTo.empty + - 2d.path.ensure + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.arcTo(0, 25, 50, 250, 0.1); // adds (x1,y1), draws nothing + ctx.lineTo(100, 25); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.coincide.1 + desc: arcTo() has no effect if P0 = P1 + testing: + - 2d.path.arcTo.coincide.01 + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.arcTo(0, 25, 50, 1000, 1); + ctx.lineTo(100, 25); + ctx.stroke(); + + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(50, 25); + ctx.arcTo(50, 25, 100, 25, 1); + ctx.stroke(); + + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.coincide.2 + desc: arcTo() draws a straight line to P1 if P1 = P2 + testing: + - 2d.path.arcTo.coincide.12 + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.arcTo(100, 25, 100, 25, 1); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.collinear.1 + desc: arcTo() with all points on a line, and P1 between P0/P2, draws a straight line to P1 + testing: + - 2d.path.arcTo.collinear + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.arcTo(100, 25, 200, 25, 1); + ctx.stroke(); + + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(-100, 25); + ctx.arcTo(0, 25, 100, 25, 1); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.collinear.2 + desc: arcTo() with all points on a line, and P2 between P0/P1, draws a straight line to P1 + testing: + - 2d.path.arcTo.collinear + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.arcTo(100, 25, 10, 25, 1); + ctx.stroke(); + + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(100, 25); + ctx.arcTo(200, 25, 110, 25, 1); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.collinear.3 + desc: arcTo() with all points on a line, and P0 between P1/P2, draws a straight line to P1 + testing: + - 2d.path.arcTo.collinear + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.arcTo(100, 25, -100, 25, 1); + ctx.stroke(); + + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(100, 25); + ctx.arcTo(200, 25, 0, 25, 1); + ctx.stroke(); + + ctx.beginPath(); + ctx.moveTo(-100, 25); + ctx.arcTo(0, 25, -200, 25, 1); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.shape.curve1 + desc: arcTo() curves in the right kind of shape + testing: + - 2d.path.arcTo.shape + code: | + var tol = 1.5; // tolerance to avoid antialiasing artifacts + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 10; + ctx.beginPath(); + ctx.moveTo(10, 25); + ctx.arcTo(75, 25, 75, 60, 20); + ctx.stroke(); + + ctx.fillStyle = '#0f0'; + ctx.beginPath(); + ctx.rect(10, 20, 45, 10); + ctx.moveTo(80, 45); + ctx.arc(55, 45, 25+tol, 0, -Math.PI/2, true); + ctx.arc(55, 45, 15-tol, -Math.PI/2, 0, false); + ctx.fill(); + + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 55,19 == 0,255,0,255; + @assert pixel 55,20 == 0,255,0,255; + @assert pixel 55,21 == 0,255,0,255; + @assert pixel 64,22 == 0,255,0,255; + @assert pixel 65,21 == 0,255,0,255; + @assert pixel 72,28 == 0,255,0,255; + @assert pixel 73,27 == 0,255,0,255; + @assert pixel 78,36 == 0,255,0,255; + @assert pixel 79,35 == 0,255,0,255; + @assert pixel 80,44 == 0,255,0,255; + @assert pixel 80,45 == 0,255,0,255; + @assert pixel 80,46 == 0,255,0,255; + @assert pixel 65,45 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.shape.curve2 + desc: arcTo() curves in the right kind of shape + testing: + - 2d.path.arcTo.shape + code: | + var tol = 1.5; // tolerance to avoid antialiasing artifacts + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#f00'; + ctx.beginPath(); + ctx.rect(10, 20, 45, 10); + ctx.moveTo(80, 45); + ctx.arc(55, 45, 25-tol, 0, -Math.PI/2, true); + ctx.arc(55, 45, 15+tol, -Math.PI/2, 0, false); + ctx.fill(); + + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 10; + ctx.beginPath(); + ctx.moveTo(10, 25); + ctx.arcTo(75, 25, 75, 60, 20); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 55,19 == 0,255,0,255; + @assert pixel 55,20 == 0,255,0,255; + @assert pixel 55,21 == 0,255,0,255; + @assert pixel 64,22 == 0,255,0,255; + @assert pixel 65,21 == 0,255,0,255; + @assert pixel 72,28 == 0,255,0,255; + @assert pixel 73,27 == 0,255,0,255; + @assert pixel 78,36 == 0,255,0,255; + @assert pixel 79,35 == 0,255,0,255; + @assert pixel 80,44 == 0,255,0,255; + @assert pixel 80,45 == 0,255,0,255; + @assert pixel 80,46 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.shape.start + desc: arcTo() draws a straight line from P0 to P1 + testing: + - 2d.path.arcTo.shape + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.arcTo(200, 25, 200, 50, 10); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.shape.end + desc: arcTo() does not draw anything from P1 to P2 + testing: + - 2d.path.arcTo.shape + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 50; + ctx.beginPath(); + ctx.moveTo(-100, -100); + ctx.arcTo(-100, 25, 200, 25, 10); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.negative + desc: arcTo() with negative radius throws an exception + testing: + - 2d.path.arcTo.negative + code: | + @assert throws INDEX_SIZE_ERR ctx.arcTo(0, 0, 0, 0, -1); + +- name: 2d.path.arcTo.zero.1 + desc: arcTo() with zero radius draws a straight line from P0 to P1 + testing: + - 2d.path.arcTo.zeroradius + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.arcTo(100, 25, 100, 100, 0); + ctx.stroke(); + + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(0, -25); + ctx.arcTo(50, -25, 50, 50, 0); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.zero.2 + desc: arcTo() with zero radius draws a straight line from P0 to P1, even when all points are collinear + testing: + - 2d.path.arcTo.zeroradius + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.arcTo(100, 25, -100, 25, 0); + ctx.stroke(); + + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(100, 25); + ctx.arcTo(200, 25, 50, 25, 0); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.transformation + desc: arcTo joins up to the last subpath point correctly + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(0, 50); + ctx.translate(100, 0); + ctx.arcTo(50, 50, 50, 0, 50); + ctx.lineTo(-100, 0); + ctx.fill(); + + @assert pixel 0,0 == 0,255,0,255; + @assert pixel 50,0 == 0,255,0,255; + @assert pixel 99,0 == 0,255,0,255; + @assert pixel 0,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 99,25 == 0,255,0,255; + @assert pixel 0,49 == 0,255,0,255; + @assert pixel 50,49 == 0,255,0,255; + @assert pixel 99,49 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.scale + desc: arcTo scales the curve, not just the control points + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(0, 50); + ctx.translate(100, 0); + ctx.scale(0.1, 1); + ctx.arcTo(50, 50, 50, 0, 50); + ctx.lineTo(-1000, 0); + ctx.fill(); + + @assert pixel 0,0 == 0,255,0,255; + @assert pixel 50,0 == 0,255,0,255; + @assert pixel 99,0 == 0,255,0,255; + @assert pixel 0,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 99,25 == 0,255,0,255; + @assert pixel 0,49 == 0,255,0,255; + @assert pixel 50,49 == 0,255,0,255; + @assert pixel 99,49 == 0,255,0,255; + expected: green + +- name: 2d.path.arcTo.nonfinite + desc: arcTo() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.moveTo(0, 0); + ctx.lineTo(100, 0); + @nonfinite ctx.arcTo(<0 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>); + ctx.lineTo(100, 50); + ctx.lineTo(0, 50); + ctx.fillStyle = '#0f0'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 90,45 == 0,255,0,255; + expected: green + + +- name: 2d.path.arc.empty + desc: arc() with an empty path does not draw a straight line to the start point + testing: + - 2d.path.arc.nonempty + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.arc(200, 25, 5, 0, 2*Math.PI, true); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.nonempty + desc: arc() with a non-empty path does draw a straight line to the start point + testing: + - 2d.path.arc.nonempty + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.arc(200, 25, 5, 0, 2*Math.PI, true); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.end + desc: arc() adds the end point of the arc to the subpath + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(-100, 0); + ctx.arc(-100, 0, 25, -Math.PI/2, Math.PI/2, true); + ctx.lineTo(100, 25); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.default + desc: arc() with missing last argument defaults to clockwise + testing: + - 2d.path.arc.omitted + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(100, 0); + ctx.arc(100, 0, 150, -Math.PI, Math.PI/2); + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.angle.1 + desc: arc() draws pi/2 .. -pi anticlockwise correctly + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(100, 0); + ctx.arc(100, 0, 150, Math.PI/2, -Math.PI, true); + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.angle.2 + desc: arc() draws -3pi/2 .. -pi anticlockwise correctly + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(100, 0); + ctx.arc(100, 0, 150, -3*Math.PI/2, -Math.PI, true); + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.angle.3 + desc: arc() wraps angles mod 2pi when anticlockwise and end > start+2pi + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(100, 0); + ctx.arc(100, 0, 150, (512+1/2)*Math.PI, (1024-1)*Math.PI, true); + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.angle.4 + desc: arc() draws a full circle when clockwise and end > start+2pi + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(50, 25); + ctx.arc(50, 25, 60, (512+1/2)*Math.PI, (1024-1)*Math.PI, false); + ctx.fill(); + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.angle.5 + desc: arc() wraps angles mod 2pi when clockwise and start > end+2pi + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(100, 0); + ctx.arc(100, 0, 150, (1024-1)*Math.PI, (512+1/2)*Math.PI, false); + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.angle.6 + desc: arc() draws a full circle when anticlockwise and start > end+2pi + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(50, 25); + ctx.arc(50, 25, 60, (1024-1)*Math.PI, (512+1/2)*Math.PI, true); + ctx.fill(); + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.zero.1 + desc: arc() draws nothing when startAngle = endAngle and anticlockwise + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 100; + ctx.beginPath(); + ctx.arc(50, 25, 50, 0, 0, true); + ctx.stroke(); + @assert pixel 50,20 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.zero.2 + desc: arc() draws nothing when startAngle = endAngle and clockwise + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 100; + ctx.beginPath(); + ctx.arc(50, 25, 50, 0, 0, false); + ctx.stroke(); + @assert pixel 50,20 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.twopie.1 + desc: arc() draws nothing when end = start + 2pi-e and anticlockwise + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 100; + ctx.beginPath(); + ctx.arc(50, 25, 50, 0, 2*Math.PI - 1e-4, true); + ctx.stroke(); + @assert pixel 50,20 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.twopie.2 + desc: arc() draws a full circle when end = start + 2pi-e and clockwise + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 100; + ctx.beginPath(); + ctx.arc(50, 25, 50, 0, 2*Math.PI - 1e-4, false); + ctx.stroke(); + @assert pixel 50,20 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.twopie.3 + desc: arc() draws a full circle when end = start + 2pi+e and anticlockwise + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 100; + ctx.beginPath(); + ctx.arc(50, 25, 50, 0, 2*Math.PI + 1e-4, true); + ctx.stroke(); + @assert pixel 50,20 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.twopie.4 + desc: arc() draws nothing when end = start + 2pi+e and clockwise + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 100; + ctx.beginPath(); + ctx.arc(50, 25, 50, 0, 2*Math.PI + 1e-4, false); + ctx.stroke(); + @assert pixel 50,20 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.shape.1 + desc: arc() from 0 to pi does not draw anything in the wrong half + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.arc(50, 50, 50, 0, Math.PI, false); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 20,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.shape.2 + desc: arc() from 0 to pi draws stuff in the right half + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 100; + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.arc(50, 50, 50, 0, Math.PI, true); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 20,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.shape.3 + desc: arc() from 0 to -pi/2 does not draw anything in the wrong quadrant + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 100; + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.arc(0, 50, 50, 0, -Math.PI/2, false); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; @moz-todo + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.shape.4 + desc: arc() from 0 to -pi/2 draws stuff in the right quadrant + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 150; + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.arc(-50, 50, 100, 0, -Math.PI/2, true); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.shape.5 + desc: arc() from 0 to 5pi does not draw crazy things + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 200; + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.arc(300, 0, 100, 0, 5*Math.PI, false); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.selfintersect.1 + desc: arc() with lineWidth > 2*radius is drawn sensibly + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 200; + ctx.strokeStyle = '#f00'; + ctx.beginPath(); + ctx.arc(100, 50, 25, 0, -Math.PI/2, true); + ctx.stroke(); + ctx.beginPath(); + ctx.arc(0, 0, 25, 0, -Math.PI/2, true); + ctx.stroke(); + @assert pixel 1,1 == 0,255,0,255; @moz-todo + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.selfintersect.2 + desc: arc() with lineWidth > 2*radius is drawn sensibly + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 180; + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.arc(-50, 50, 25, 0, -Math.PI/2, true); + ctx.stroke(); + ctx.beginPath(); + ctx.arc(100, 0, 25, 0, -Math.PI/2, true); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 90,10 == 0,255,0,255; + @assert pixel 97,1 == 0,255,0,255; + @assert pixel 97,2 == 0,255,0,255; + @assert pixel 97,3 == 0,255,0,255; + @assert pixel 2,48 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.negative + desc: arc() with negative radius throws INDEX_SIZE_ERR + testing: + - 2d.path.arc.negative + code: | + @assert throws INDEX_SIZE_ERR ctx.arc(0, 0, -1, 0, 0, true); + +- name: 2d.path.arc.zeroradius + desc: arc() with zero radius draws a line to the start point + testing: + - 2d.path.arc.zero + code: | + ctx.fillStyle = '#f00' + ctx.fillRect(0, 0, 100, 50); + ctx.lineWidth = 50; + ctx.strokeStyle = '#0f0'; + ctx.beginPath(); + ctx.moveTo(0, 25); + ctx.arc(200, 25, 0, 0, Math.PI, true); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.scale.1 + desc: Non-uniformly scaled arcs are the right shape + testing: + - 2d.path.transformation + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.scale(2, 0.5); + ctx.fillStyle = '#0f0'; + ctx.beginPath(); + ctx.arc(25, 50, 56, 0, 2*Math.PI, false); + ctx.fill(); + ctx.fillStyle = '#f00'; + ctx.beginPath(); + ctx.moveTo(-25, 50); + ctx.arc(-25, 50, 24, 0, 2*Math.PI, false); + ctx.moveTo(75, 50); + ctx.arc(75, 50, 24, 0, 2*Math.PI, false); + ctx.moveTo(25, -25); + ctx.arc(25, -25, 24, 0, 2*Math.PI, false); + ctx.moveTo(25, 125); + ctx.arc(25, 125, 24, 0, 2*Math.PI, false); + ctx.fill(); + + @assert pixel 0,0 == 0,255,0,255; + @assert pixel 50,0 == 0,255,0,255; + @assert pixel 99,0 == 0,255,0,255; + @assert pixel 0,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 99,25 == 0,255,0,255; + @assert pixel 0,49 == 0,255,0,255; + @assert pixel 50,49 == 0,255,0,255; + @assert pixel 99,49 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.scale.2 + desc: Highly scaled arcs are the right shape + testing: + - 2d.path.arc.draw + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.scale(100, 100); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 1.2; + ctx.beginPath(); + ctx.arc(0, 0, 0.6, 0, Math.PI/2, false); + ctx.stroke(); + + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 50,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 98,25 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 50,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.arc.nonfinite + desc: arc() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.moveTo(0, 0); + ctx.lineTo(100, 0); + @nonfinite ctx.arc(<0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <2*Math.PI Infinity -Infinity NaN>, ); + ctx.lineTo(100, 50); + ctx.lineTo(0, 50); + ctx.fillStyle = '#0f0'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 90,45 == 0,255,0,255; + expected: green + + +- name: 2d.path.rect.basic + testing: + - 2d.path.rect.subpath + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.rect(0, 0, 100, 50); + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.rect.newsubpath + testing: + - 2d.path.rect.subpath + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.beginPath(); + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 50; + ctx.moveTo(-100, 25); + ctx.lineTo(-50, 25); + ctx.rect(200, 25, 1, 1); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.rect.closed + testing: + - 2d.path.rect.closed + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 200; + ctx.lineJoin = 'miter'; + ctx.rect(100, 50, 100, 100); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.rect.end.1 + testing: + - 2d.path.rect.newsubpath + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 100; + ctx.rect(200, 100, 400, 1000); + ctx.lineTo(-2000, -1000); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.rect.end.2 + testing: + - 2d.path.rect.newsubpath + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 450; + ctx.lineCap = 'round'; + ctx.lineJoin = 'bevel'; + ctx.rect(150, 150, 2000, 2000); + ctx.lineTo(160, 160); + ctx.stroke(); + @assert pixel 1,1 == 0,255,0,255; + @assert pixel 98,1 == 0,255,0,255; + @assert pixel 1,48 == 0,255,0,255; + @assert pixel 98,48 == 0,255,0,255; + expected: green + +- name: 2d.path.rect.zero.1 + testing: + - 2d.path.rect.subpath + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 100; + ctx.beginPath(); + ctx.rect(0, 50, 100, 0); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.rect.zero.2 + testing: + - 2d.path.rect.subpath + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 100; + ctx.beginPath(); + ctx.rect(50, -100, 0, 250); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.rect.zero.3 + testing: + - 2d.path.rect.subpath + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 100; + ctx.beginPath(); + ctx.rect(50, 25, 0, 0); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.rect.zero.4 + testing: + - 2d.path.rect.subpath + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 50; + ctx.rect(100, 25, 0, 0); + ctx.lineTo(0, 25); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.rect.zero.5 + testing: + - 2d.path.rect.subpath + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 50; + ctx.moveTo(0, 0); + ctx.rect(100, 25, 0, 0); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.rect.zero.6 + testing: + - 2d.path.rect.subpath + #mozilla: { bug: TODO } + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#f00'; + ctx.lineJoin = 'miter'; + ctx.miterLimit = 1.5; + ctx.lineWidth = 200; + ctx.beginPath(); + ctx.rect(100, 25, 1000, 0); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.path.rect.negative + testing: + - 2d.path.rect.subpath + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.beginPath(); + ctx.fillStyle = '#0f0'; + ctx.rect(0, 0, 50, 25); + ctx.rect(100, 0, -50, 25); + ctx.rect(0, 50, 50, -25); + ctx.rect(100, 50, -50, -25); + ctx.fill(); + @assert pixel 25,12 == 0,255,0,255; + @assert pixel 75,12 == 0,255,0,255; + @assert pixel 25,37 == 0,255,0,255; + @assert pixel 75,37 == 0,255,0,255; + +- name: 2d.path.rect.winding + testing: + - 2d.path.rect.subpath + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.beginPath(); + ctx.fillStyle = '#f00'; + ctx.rect(0, 0, 50, 50); + ctx.rect(100, 50, -50, -50); + ctx.rect(0, 25, 100, -25); + ctx.rect(100, 25, -100, 25); + ctx.fill(); + @assert pixel 25,12 == 0,255,0,255; + @assert pixel 75,12 == 0,255,0,255; + @assert pixel 25,37 == 0,255,0,255; + @assert pixel 75,37 == 0,255,0,255; + +- name: 2d.path.rect.selfintersect + #mozilla: { bug: TODO } + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 90; + ctx.beginPath(); + ctx.rect(45, 20, 10, 10); + ctx.stroke(); + @assert pixel 50,25 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.path.rect.nonfinite + desc: rect() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + code: | + ctx.moveTo(0, 0); + ctx.lineTo(100, 0); + @nonfinite ctx.rect(<0 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>, <1 Infinity -Infinity NaN>, <1 Infinity -Infinity NaN>); + ctx.lineTo(100, 50); + ctx.lineTo(0, 50); + ctx.fillStyle = '#0f0'; + ctx.fill(); + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 90,45 == 0,255,0,255; + expected: green + +- name: 2d.path.fill.overlap + testing: + - 2d.path.fill.basic + code: | + ctx.fillStyle = '#000'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = 'rgba(0, 255, 0, 0.5)'; + ctx.rect(0, 0, 100, 50); + ctx.closePath(); + ctx.rect(10, 10, 80, 30); + ctx.fill(); + + @assert pixel 50,25 ==~ 0,127,0,255 +/- 1; + expected: | + size 100 50 + cr.set_source_rgb(0, 0.5, 0) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.path.fill.winding.add + testing: + - 2d.path.fill.basic + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.moveTo(-10, -10); + ctx.lineTo(110, -10); + ctx.lineTo(110, 60); + ctx.lineTo(-10, 60); + ctx.lineTo(-10, -10); + ctx.lineTo(0, 0); + ctx.lineTo(100, 0); + ctx.lineTo(100, 50); + ctx.lineTo(0, 50); + ctx.fill(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.fill.winding.subtract.1 + testing: + - 2d.path.fill.basic + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#f00'; + ctx.moveTo(-10, -10); + ctx.lineTo(110, -10); + ctx.lineTo(110, 60); + ctx.lineTo(-10, 60); + ctx.lineTo(-10, -10); + ctx.lineTo(0, 0); + ctx.lineTo(0, 50); + ctx.lineTo(100, 50); + ctx.lineTo(100, 0); + ctx.fill(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.fill.winding.subtract.2 + testing: + - 2d.path.fill.basic + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#f00'; + ctx.moveTo(-10, -10); + ctx.lineTo(110, -10); + ctx.lineTo(110, 60); + ctx.lineTo(-10, 60); + ctx.moveTo(0, 0); + ctx.lineTo(0, 50); + ctx.lineTo(100, 50); + ctx.lineTo(100, 0); + ctx.fill(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.fill.winding.subtract.3 + testing: + - 2d.path.fill.basic + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.moveTo(-10, -10); + ctx.lineTo(110, -10); + ctx.lineTo(110, 60); + ctx.lineTo(-10, 60); + ctx.lineTo(-10, -10); + ctx.lineTo(-20, -20); + ctx.lineTo(120, -20); + ctx.lineTo(120, 70); + ctx.lineTo(-20, 70); + ctx.lineTo(-20, -20); + ctx.lineTo(0, 0); + ctx.lineTo(0, 50); + ctx.lineTo(100, 50); + ctx.lineTo(100, 0); + ctx.fill(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.fill.closed.basic + testing: + - 2d.path.fill.closed + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.moveTo(0, 0); + ctx.lineTo(100, 0); + ctx.lineTo(100, 50); + ctx.lineTo(0, 50); + ctx.fill(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.fill.closed.unaffected + testing: + - 2d.path.fill.closed + code: | + ctx.fillStyle = '#00f'; + ctx.fillRect(0, 0, 100, 50); + + ctx.moveTo(0, 0); + ctx.lineTo(100, 0); + ctx.lineTo(100, 50); + ctx.fillStyle = '#f00'; + ctx.fill(); + ctx.lineTo(0, 50); + ctx.fillStyle = '#0f0'; + ctx.fill(); + + @assert pixel 90,10 == 0,255,0,255; + @assert pixel 10,40 == 0,255,0,255; + expected: green + +- name: 2d.path.stroke.overlap + desc: Stroked subpaths are combined before being drawn + testing: + - 2d.path.stroke.basic + code: | + ctx.fillStyle = '#000'; + ctx.fillRect(0, 0, 100, 50); + + ctx.strokeStyle = 'rgba(0, 255, 0, 0.5)'; + ctx.lineWidth = 50; + ctx.moveTo(0, 20); + ctx.lineTo(100, 20); + ctx.moveTo(0, 30); + ctx.lineTo(100, 30); + ctx.stroke(); + + @assert pixel 50,25 ==~ 0,127,0,255 +/- 1; + expected: | + size 100 50 + cr.set_source_rgb(0, 0.5, 0) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.path.stroke.union + desc: Strokes in opposite directions are unioned, not subtracted + testing: + - 2d.path.stroke.basic + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 40; + ctx.moveTo(0, 10); + ctx.lineTo(100, 10); + ctx.moveTo(100, 40); + ctx.lineTo(0, 40); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.stroke.unaffected + desc: Stroking does not start a new path or subpath + testing: + - 2d.path.stroke.basic + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.lineWidth = 50; + ctx.moveTo(-100, 25); + ctx.lineTo(-100, -100); + ctx.lineTo(200, -100); + ctx.lineTo(200, 25); + ctx.strokeStyle = '#f00'; + ctx.stroke(); + + ctx.closePath(); + ctx.strokeStyle = '#0f0'; + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.stroke.scale1 + desc: Stroke line widths are scaled by the current transformation matrix + testing: + - 2d.path.transformation + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.beginPath(); + ctx.rect(25, 12.5, 50, 25); + ctx.save(); + ctx.scale(50, 25); + ctx.strokeStyle = '#0f0'; + ctx.stroke(); + ctx.restore(); + + ctx.beginPath(); + ctx.rect(-25, -12.5, 150, 75); + ctx.save(); + ctx.scale(50, 25); + ctx.strokeStyle = '#f00'; + ctx.stroke(); + ctx.restore(); + + @assert pixel 0,0 == 0,255,0,255; + @assert pixel 50,0 == 0,255,0,255; + @assert pixel 99,0 == 0,255,0,255; + @assert pixel 0,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 99,25 == 0,255,0,255; + @assert pixel 0,49 == 0,255,0,255; + @assert pixel 50,49 == 0,255,0,255; + @assert pixel 99,49 == 0,255,0,255; + expected: green + +- name: 2d.path.stroke.scale2 + desc: Stroke line widths are scaled by the current transformation matrix + testing: + - 2d.path.transformation + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.beginPath(); + ctx.rect(25, 12.5, 50, 25); + ctx.save(); + ctx.rotate(Math.PI/2); + ctx.scale(25, 50); + ctx.strokeStyle = '#0f0'; + ctx.stroke(); + ctx.restore(); + + ctx.beginPath(); + ctx.rect(-25, -12.5, 150, 75); + ctx.save(); + ctx.rotate(Math.PI/2); + ctx.scale(25, 50); + ctx.strokeStyle = '#f00'; + ctx.stroke(); + ctx.restore(); + + @assert pixel 0,0 == 0,255,0,255; + @assert pixel 50,0 == 0,255,0,255; + @assert pixel 99,0 == 0,255,0,255; + @assert pixel 0,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 99,25 == 0,255,0,255; + @assert pixel 0,49 == 0,255,0,255; + @assert pixel 50,49 == 0,255,0,255; + @assert pixel 99,49 == 0,255,0,255; + expected: green + +- name: 2d.path.stroke.skew + desc: Strokes lines are skewed by the current transformation matrix + testing: + - 2d.path.transformation + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.save(); + ctx.beginPath(); + ctx.moveTo(49, -50); + ctx.lineTo(201, -50); + ctx.rotate(Math.PI/4); + ctx.scale(1, 283); + ctx.strokeStyle = '#0f0'; + ctx.stroke(); + ctx.restore(); + + ctx.save(); + ctx.beginPath(); + ctx.translate(-150, 0); + ctx.moveTo(49, -50); + ctx.lineTo(199, -50); + ctx.rotate(Math.PI/4); + ctx.scale(1, 142); + ctx.strokeStyle = '#f00'; + ctx.stroke(); + ctx.restore(); + + ctx.save(); + ctx.beginPath(); + ctx.translate(-150, 0); + ctx.moveTo(49, -50); + ctx.lineTo(199, -50); + ctx.rotate(Math.PI/4); + ctx.scale(1, 142); + ctx.strokeStyle = '#f00'; + ctx.stroke(); + ctx.restore(); + + @assert pixel 0,0 == 0,255,0,255; + @assert pixel 50,0 == 0,255,0,255; + @assert pixel 99,0 == 0,255,0,255; + @assert pixel 0,25 == 0,255,0,255; + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 99,25 == 0,255,0,255; + @assert pixel 0,49 == 0,255,0,255; + @assert pixel 50,49 == 0,255,0,255; + @assert pixel 99,49 == 0,255,0,255; + expected: green + +- name: 2d.path.stroke.empty + desc: Empty subpaths are not stroked + testing: + - 2d.path.stroke.empty + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 100; + ctx.lineCap = 'round'; + ctx.lineJoin = 'round'; + + ctx.beginPath(); + ctx.moveTo(40, 25); + ctx.moveTo(60, 25); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.stroke.prune.line + desc: Zero-length line segments from lineTo are removed before stroking + testing: + - 2d.path.stroke.prune + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 100; + ctx.lineCap = 'round'; + ctx.lineJoin = 'round'; + + ctx.beginPath(); + ctx.moveTo(50, 25); + ctx.lineTo(50, 25); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.path.stroke.prune.closed + desc: Zero-length line segments from closed paths are removed before stroking + testing: + - 2d.path.stroke.prune + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 100; + ctx.lineCap = 'round'; + ctx.lineJoin = 'round'; + + ctx.beginPath(); + ctx.moveTo(50, 25); + ctx.lineTo(50, 25); + ctx.closePath(); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.path.stroke.prune.curve + desc: Zero-length line segments from quadraticCurveTo and bezierCurveTo are removed before stroking + testing: + - 2d.path.stroke.prune + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 100; + ctx.lineCap = 'round'; + ctx.lineJoin = 'round'; + + ctx.beginPath(); + ctx.moveTo(50, 25); + ctx.quadraticCurveTo(50, 25, 50, 25); + ctx.stroke(); + + ctx.beginPath(); + ctx.moveTo(50, 25); + ctx.bezierCurveTo(50, 25, 50, 25, 50, 25); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.path.stroke.prune.arc + desc: Zero-length line segments from arcTo and arc are removed before stroking + testing: + - 2d.path.stroke.prune + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 100; + ctx.lineCap = 'round'; + ctx.lineJoin = 'round'; + + ctx.beginPath(); + ctx.moveTo(50, 25); + ctx.arcTo(50, 25, 150, 25, 10); + ctx.stroke(); + + ctx.beginPath(); + ctx.moveTo(60, 25); + ctx.arc(50, 25, 10, 0, 0, false); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.path.stroke.prune.rect + desc: Zero-length line segments from rect and strokeRect are removed before stroking + testing: + - 2d.path.stroke.prune + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 100; + ctx.lineCap = 'round'; + ctx.lineJoin = 'round'; + + ctx.beginPath(); + ctx.rect(50, 25, 0, 0); + ctx.stroke(); + + ctx.strokeRect(50, 25, 0, 0); + + @assert pixel 50,25 == 0,255,0,255; @moz-todo + expected: green + +- name: 2d.path.stroke.prune.corner + desc: Zero-length line segments are removed before stroking with miters + testing: + - 2d.path.stroke.prune + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 400; + ctx.lineJoin = 'miter'; + ctx.miterLimit = 1.4; + + ctx.beginPath(); + ctx.moveTo(-1000, 200); + ctx.lineTo(-100, 200); + ctx.lineTo(-100, 200); + ctx.lineTo(-100, 200); + ctx.lineTo(-100, 1000); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + + +- name: 2d.path.transformation.basic + testing: + - 2d.path.transformation + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.translate(-100, 0); + ctx.rect(100, 0, 100, 50); + ctx.translate(0, -100); + ctx.fillStyle = '#0f0'; + ctx.fill(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.transformation.multiple + # TODO: change this name + desc: Transformations are applied while building paths, not when drawing + testing: + - 2d.path.transformation + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#f00'; + ctx.translate(-100, 0); + ctx.rect(0, 0, 100, 50); + ctx.fill(); + ctx.translate(100, 0); + ctx.fill(); + + ctx.beginPath(); + ctx.strokeStyle = '#f00'; + ctx.lineWidth = 50; + ctx.translate(0, -50); + ctx.moveTo(0, 25); + ctx.lineTo(100, 25); + ctx.stroke(); + ctx.translate(0, 50); + ctx.stroke(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.transformation.changing + desc: Transformations are applied while building paths, not when drawing + testing: + - 2d.path.transformation + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.moveTo(0, 0); + ctx.translate(100, 0); + ctx.lineTo(0, 0); + ctx.translate(0, 50); + ctx.lineTo(0, 0); + ctx.translate(-100, 0); + ctx.lineTo(0, 0); + ctx.translate(1000, 1000); + ctx.rotate(Math.PI/2); + ctx.scale(0.1, 0.1); + ctx.fill(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + + +- name: 2d.path.clip.empty + testing: + - 2d.path.clip.basic + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.beginPath(); + ctx.clip(); + + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.clip.basic.1 + testing: + - 2d.path.clip.basic + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.beginPath(); + ctx.rect(0, 0, 100, 50); + ctx.clip(); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.clip.basic.2 + testing: + - 2d.path.clip.basic + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.beginPath(); + ctx.rect(-100, 0, 100, 50); + ctx.clip(); + + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.clip.intersect + testing: + - 2d.path.clip.basic + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.beginPath(); + ctx.rect(0, 0, 50, 50); + ctx.clip(); + ctx.beginPath(); + ctx.rect(50, 0, 50, 50) + ctx.clip(); + + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.clip.winding.1 + testing: + - 2d.path.clip.basic + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + ctx.beginPath(); + ctx.moveTo(-10, -10); + ctx.lineTo(110, -10); + ctx.lineTo(110, 60); + ctx.lineTo(-10, 60); + ctx.lineTo(-10, -10); + ctx.lineTo(0, 0); + ctx.lineTo(0, 50); + ctx.lineTo(100, 50); + ctx.lineTo(100, 0); + ctx.clip(); + + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.clip.winding.2 + testing: + - 2d.path.clip.basic + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.beginPath(); + ctx.moveTo(-10, -10); + ctx.lineTo(110, -10); + ctx.lineTo(110, 60); + ctx.lineTo(-10, 60); + ctx.lineTo(-10, -10); + ctx.clip(); + + ctx.beginPath(); + ctx.moveTo(0, 0); + ctx.lineTo(0, 50); + ctx.lineTo(100, 50); + ctx.lineTo(100, 0); + ctx.lineTo(0, 0); + ctx.clip(); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.path.clip.unaffected + testing: + - 2d.path.clip.closed + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + + ctx.beginPath(); + ctx.moveTo(0, 0); + ctx.lineTo(0, 50); + ctx.lineTo(100, 50); + ctx.lineTo(100, 0); + ctx.clip(); + + ctx.lineTo(0, 0); + ctx.fill(); + + @assert pixel 50,25 == 0,255,0,255; + expected: green + + + +- name: 2d.path.isPointInPath.basic.1 + desc: isPointInPath() detects whether the point is inside the path + testing: + - 2d.path.isPointInPath + code: | + ctx.rect(0, 0, 20, 20); + @assert ctx.isPointInPath(10, 10) === true; + @assert ctx.isPointInPath(30, 10) === false; + +- name: 2d.path.isPointInPath.basic.2 + desc: isPointInPath() detects whether the point is inside the path + testing: + - 2d.path.isPointInPath + code: | + ctx.rect(20, 0, 20, 20); + @assert ctx.isPointInPath(10, 10) === false; + @assert ctx.isPointInPath(30, 10) === true; + +- name: 2d.path.isPointInPath.edge + desc: isPointInPath() counts points on the path as being inside + testing: + - 2d.path.isPointInPath.edge + code: | + ctx.rect(0, 0, 20, 20); + @assert ctx.isPointInPath(0, 0) === true; + @assert ctx.isPointInPath(10, 0) === true; + @assert ctx.isPointInPath(20, 0) === true; + @assert ctx.isPointInPath(20, 10) === true; + @assert ctx.isPointInPath(20, 20) === true; + @assert ctx.isPointInPath(10, 20) === true; + @assert ctx.isPointInPath(0, 20) === true; + @assert ctx.isPointInPath(0, 10) === true; + @assert ctx.isPointInPath(10, -0.01) === false; + @assert ctx.isPointInPath(10, 20.01) === false; + @assert ctx.isPointInPath(-0.01, 10) === false; + @assert ctx.isPointInPath(20.01, 10) === false; + +- name: 2d.path.isPointInPath.empty + desc: isPointInPath() works when there is no path + testing: + - 2d.path.isPointInPath + code: | + @assert ctx.isPointInPath(0, 0) === false; + +- name: 2d.path.isPointInPath.subpath + desc: isPointInPath() uses the current path, not just the subpath + testing: + - 2d.path.isPointInPath + code: | + ctx.rect(0, 0, 20, 20); + ctx.beginPath(); + ctx.rect(20, 0, 20, 20); + ctx.closePath(); + ctx.rect(40, 0, 20, 20); + @assert ctx.isPointInPath(10, 10) === false; + @assert ctx.isPointInPath(30, 10) === true; + @assert ctx.isPointInPath(50, 10) === true; + +- name: 2d.path.isPointInPath.outside + desc: isPointInPath() works on paths outside the canvas + testing: + - 2d.path.isPointInPath + code: | + ctx.rect(0, -100, 20, 20); + ctx.rect(20, -10, 20, 20); + @assert ctx.isPointInPath(10, -110) === false; + @assert ctx.isPointInPath(10, -90) === true; + @assert ctx.isPointInPath(10, -70) === false; + @assert ctx.isPointInPath(30, -20) === false; + @assert ctx.isPointInPath(30, 0) === true; + @assert ctx.isPointInPath(30, 20) === false; + +- name: 2d.path.isPointInPath.unclosed + desc: isPointInPath() works on unclosed subpaths + testing: + - 2d.path.isPointInPath + code: | + ctx.moveTo(0, 0); + ctx.lineTo(20, 0); + ctx.lineTo(20, 20); + ctx.lineTo(0, 20); + @assert ctx.isPointInPath(10, 10) === true; + @assert ctx.isPointInPath(30, 10) === false; + +- name: 2d.path.isPointInPath.arc + desc: isPointInPath() works on arcs + testing: + - 2d.path.isPointInPath + code: | + ctx.arc(50, 25, 10, 0, Math.PI, false); + @assert ctx.isPointInPath(50, 10) === false; + @assert ctx.isPointInPath(50, 20) === false; + @assert ctx.isPointInPath(50, 30) === true; + @assert ctx.isPointInPath(50, 40) === false; + @assert ctx.isPointInPath(30, 20) === false; + @assert ctx.isPointInPath(70, 20) === false; + @assert ctx.isPointInPath(30, 30) === false; + @assert ctx.isPointInPath(70, 30) === false; + +- name: 2d.path.isPointInPath.bigarc + desc: isPointInPath() works on unclosed arcs larger than 2pi + opera: { bug: 320937 } + testing: + - 2d.path.isPointInPath + code: | + ctx.arc(50, 25, 10, 0, 7, false); + @assert ctx.isPointInPath(50, 10) === false; + @assert ctx.isPointInPath(50, 20) === true; + @assert ctx.isPointInPath(50, 30) === true; + @assert ctx.isPointInPath(50, 40) === false; + @assert ctx.isPointInPath(30, 20) === false; + @assert ctx.isPointInPath(70, 20) === false; + @assert ctx.isPointInPath(30, 30) === false; + @assert ctx.isPointInPath(70, 30) === false; + +- name: 2d.path.isPointInPath.bezier + desc: isPointInPath() works on Bezier curves + testing: + - 2d.path.isPointInPath + code: | + ctx.moveTo(25, 25); + ctx.bezierCurveTo(50, -50, 50, 100, 75, 25); + @assert ctx.isPointInPath(25, 20) === false; + @assert ctx.isPointInPath(25, 30) === false; + @assert ctx.isPointInPath(30, 20) === true; + @assert ctx.isPointInPath(30, 30) === false; + @assert ctx.isPointInPath(40, 2) === false; + @assert ctx.isPointInPath(40, 20) === true; + @assert ctx.isPointInPath(40, 30) === false; + @assert ctx.isPointInPath(40, 47) === false; + @assert ctx.isPointInPath(45, 20) === true; + @assert ctx.isPointInPath(45, 30) === false; + @assert ctx.isPointInPath(55, 20) === false; + @assert ctx.isPointInPath(55, 30) === true; + @assert ctx.isPointInPath(60, 2) === false; + @assert ctx.isPointInPath(60, 20) === false; + @assert ctx.isPointInPath(60, 30) === true; + @assert ctx.isPointInPath(60, 47) === false; + @assert ctx.isPointInPath(70, 20) === false; + @assert ctx.isPointInPath(70, 30) === true; + @assert ctx.isPointInPath(75, 20) === false; + @assert ctx.isPointInPath(75, 30) === false; + +- name: 2d.path.isPointInPath.winding + desc: isPointInPath() uses the non-zero winding number rule + testing: + - 2d.path.isPointInPath + code: | + // Create a square ring, using opposite windings to make a hole in the centre + ctx.moveTo(0, 0); + ctx.lineTo(50, 0); + ctx.lineTo(50, 50); + ctx.lineTo(0, 50); + ctx.lineTo(0, 0); + ctx.lineTo(10, 10); + ctx.lineTo(10, 40); + ctx.lineTo(40, 40); + ctx.lineTo(40, 10); + ctx.lineTo(10, 10); + + @assert ctx.isPointInPath(5, 5) === true; + @assert ctx.isPointInPath(25, 5) === true; + @assert ctx.isPointInPath(45, 5) === true; + @assert ctx.isPointInPath(5, 25) === true; + @assert ctx.isPointInPath(25, 25) === false; + @assert ctx.isPointInPath(45, 25) === true; + @assert ctx.isPointInPath(5, 45) === true; + @assert ctx.isPointInPath(25, 45) === true; + @assert ctx.isPointInPath(45, 45) === true; + +- name: 2d.path.isPointInPath.transform.1 + desc: isPointInPath() handles transformations correctly + testing: + - 2d.path.isPointInPath + code: | + ctx.translate(50, 0); + ctx.rect(0, 0, 20, 20); + @assert ctx.isPointInPath(-40, 10) === false; + @assert ctx.isPointInPath(10, 10) === false; + @assert ctx.isPointInPath(49, 10) === false; + @assert ctx.isPointInPath(51, 10) === true; + @assert ctx.isPointInPath(69, 10) === true; + @assert ctx.isPointInPath(71, 10) === false; + +- name: 2d.path.isPointInPath.transform.2 + desc: isPointInPath() handles transformations correctly + testing: + - 2d.path.isPointInPath + code: | + ctx.rect(50, 0, 20, 20); + ctx.translate(50, 0); + @assert ctx.isPointInPath(-40, 10) === false; + @assert ctx.isPointInPath(10, 10) === false; + @assert ctx.isPointInPath(49, 10) === false; + @assert ctx.isPointInPath(51, 10) === true; + @assert ctx.isPointInPath(69, 10) === true; + @assert ctx.isPointInPath(71, 10) === false; + +- name: 2d.path.isPointInPath.transform.3 + desc: isPointInPath() handles transformations correctly + testing: + - 2d.path.isPointInPath + code: | + ctx.scale(-1, 1); + ctx.rect(-70, 0, 20, 20); + @assert ctx.isPointInPath(-40, 10) === false; + @assert ctx.isPointInPath(10, 10) === false; + @assert ctx.isPointInPath(49, 10) === false; + @assert ctx.isPointInPath(51, 10) === true; + @assert ctx.isPointInPath(69, 10) === true; + @assert ctx.isPointInPath(71, 10) === false; + +- name: 2d.path.isPointInPath.transform.4 + desc: isPointInPath() handles transformations correctly + testing: + - 2d.path.isPointInPath + code: | + ctx.translate(50, 0); + ctx.rect(50, 0, 20, 20); + ctx.translate(0, 50); + @assert ctx.isPointInPath(60, 10) === false; + @assert ctx.isPointInPath(110, 10) === true; + @assert ctx.isPointInPath(110, 60) === false; + +- name: 2d.path.isPointInPath.nonfinite + desc: isPointInPath() returns false for non-finite arguments + testing: + - 2d.path.isPointInPath.nonfinite + code: | + ctx.rect(-100, -50, 200, 100); + @assert ctx.isPointInPath(Infinity, 0) === false; + @assert ctx.isPointInPath(-Infinity, 0) === false; + @assert ctx.isPointInPath(NaN, 0) === false; + @assert ctx.isPointInPath(0, Infinity) === false; + @assert ctx.isPointInPath(0, -Infinity) === false; + @assert ctx.isPointInPath(0, NaN) === false; + @assert ctx.isPointInPath(NaN, NaN) === false; + + +- name: 2d.drawImage.3arg + testing: + - 2d.drawImage.defaultsource + - 2d.drawImage.defaultdest + images: + - red.png + - green.png + code: | + ctx.drawImage(document.getElementById('green.png'), 0, 0); + ctx.drawImage(document.getElementById('red.png'), -100, 0); + ctx.drawImage(document.getElementById('red.png'), 100, 0); + ctx.drawImage(document.getElementById('red.png'), 0, -50); + ctx.drawImage(document.getElementById('red.png'), 0, 50); + + @assert pixel 0,0 ==~ 0,255,0,255; + @assert pixel 99,0 ==~ 0,255,0,255; + @assert pixel 0,49 ==~ 0,255,0,255; + @assert pixel 99,49 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.5arg + testing: + - 2d.drawImage.defaultsource + images: + - red.png + - green.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.drawImage(document.getElementById('green.png'), 50, 0, 50, 50); + ctx.drawImage(document.getElementById('red.png'), 0, 0, 50, 50); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 50, 50); + + @assert pixel 0,0 ==~ 0,255,0,255; + @assert pixel 99,0 ==~ 0,255,0,255; + @assert pixel 0,49 ==~ 0,255,0,255; + @assert pixel 99,49 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.9arg.basic + testing: + - 2d.drawImage.paint + images: + - green.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.drawImage(document.getElementById('green.png'), 0, 0, 100, 50, 0, 0, 100, 50); + @assert pixel 0,0 ==~ 0,255,0,255; + @assert pixel 99,0 ==~ 0,255,0,255; + @assert pixel 0,49 ==~ 0,255,0,255; + @assert pixel 99,49 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.9arg.sourcepos + testing: + - 2d.drawImage.paint + images: + - rgrg-256x256.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.drawImage(document.getElementById('rgrg-256x256.png'), 140, 20, 100, 50, 0, 0, 100, 50); + @assert pixel 0,0 ==~ 0,255,0,255; + @assert pixel 99,0 ==~ 0,255,0,255; + @assert pixel 0,49 ==~ 0,255,0,255; + @assert pixel 99,49 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.9arg.sourcesize + testing: + - 2d.drawImage.paint + images: + - rgrg-256x256.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.drawImage(document.getElementById('rgrg-256x256.png'), 0, 0, 256, 256, 0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 51, 26); + ctx.fillRect(49, 24, 51, 26); + @assert pixel 0,0 ==~ 0,255,0,255; + @assert pixel 99,0 ==~ 0,255,0,255; + @assert pixel 0,49 ==~ 0,255,0,255; + @assert pixel 99,49 ==~ 0,255,0,255; + @assert pixel 20,20 ==~ 0,255,0,255; + @assert pixel 80,20 ==~ 0,255,0,255; + @assert pixel 20,30 ==~ 0,255,0,255; + @assert pixel 80,30 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.9arg.destpos + testing: + - 2d.drawImage.paint + images: + - red.png + - green.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.drawImage(document.getElementById('green.png'), 0, 0, 100, 50, 0, 0, 100, 50); + ctx.drawImage(document.getElementById('red.png'), 0, 0, 100, 50, -100, 0, 100, 50); + ctx.drawImage(document.getElementById('red.png'), 0, 0, 100, 50, 100, 0, 100, 50); + ctx.drawImage(document.getElementById('red.png'), 0, 0, 100, 50, 0, -50, 100, 50); + ctx.drawImage(document.getElementById('red.png'), 0, 0, 100, 50, 0, 50, 100, 50); + @assert pixel 0,0 ==~ 0,255,0,255; + @assert pixel 99,0 ==~ 0,255,0,255; + @assert pixel 0,49 ==~ 0,255,0,255; + @assert pixel 99,49 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.9arg.destsize + testing: + - 2d.drawImage.paint + images: + - red.png + - green.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.drawImage(document.getElementById('green.png'), 1, 1, 1, 1, 0, 0, 100, 50); + ctx.drawImage(document.getElementById('red.png'), 0, 0, 100, 50, -50, 0, 50, 50); + ctx.drawImage(document.getElementById('red.png'), 0, 0, 100, 50, 100, 0, 50, 50); + ctx.drawImage(document.getElementById('red.png'), 0, 0, 100, 50, 0, -25, 100, 25); + ctx.drawImage(document.getElementById('red.png'), 0, 0, 100, 50, 0, 50, 100, 25); + @assert pixel 0,0 ==~ 0,255,0,255; + @assert pixel 99,0 ==~ 0,255,0,255; + @assert pixel 0,49 ==~ 0,255,0,255; + @assert pixel 99,49 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.canvas + testing: + - 2d.drawImage.paint + code: | + var canvas2 = document.createElement('canvas'); + canvas2.width = 100; + canvas2.height = 50; + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = '#0f0'; + ctx2.fillRect(0, 0, 100, 50); + + ctx.fillStyle = '#f00'; + ctx.drawImage(canvas2, 0, 0); + + @assert pixel 0,0 ==~ 0,255,0,255; + @assert pixel 99,0 ==~ 0,255,0,255; + @assert pixel 0,49 ==~ 0,255,0,255; + @assert pixel 99,49 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.self.1 + testing: + - 2d.drawImage.self + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 50, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(50, 0, 50, 50); + ctx.drawImage(canvas, 50, 0); + + @assert pixel 0,0 ==~ 0,255,0,255; + @assert pixel 99,0 ==~ 0,255,0,255; + @assert pixel 0,49 ==~ 0,255,0,255; + @assert pixel 99,49 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.self.2 + testing: + - 2d.drawImage.self + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 1, 100, 49); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 1); + ctx.drawImage(canvas, 0, 1); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 2); + + @assert pixel 0,0 ==~ 0,255,0,255; + @assert pixel 99,0 ==~ 0,255,0,255; + @assert pixel 0,49 ==~ 0,255,0,255; + @assert pixel 99,49 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.null + testing: + - 2d.drawImage.IDL + code: | + @assert throws TypeError ctx.drawImage(null, 0, 0); + +- name: 2d.drawImage.wrongtype + desc: Incorrect image types in drawImage do not match any defined overloads, so WebIDL throws a TypeError + notes: *bindings + testing: + - 2d.drawImage.IDL + code: | + @assert throws TypeError ctx.drawImage(undefined, 0, 0); + @assert throws TypeError ctx.drawImage(0, 0, 0); + @assert throws TypeError ctx.drawImage("", 0, 0); + @assert throws TypeError ctx.drawImage(document.createElement('p'), 0, 0); + +- name: 2d.drawImage.floatsource + testing: + - 2d.drawImage.paint + images: + - green.png + code: | + ctx.drawImage(document.getElementById('green.png'), 10.1, 10.1, 0.1, 0.1, 0, 0, 100, 50); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.zerosource + desc: drawImage with zero-sized source rectangle throws INDEX_SIZE_ERR + testing: + - 2d.drawImage.zerosource + images: + - red.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red.png'), 10, 10, 0, 1, 0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red.png'), 10, 10, 1, 0, 0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red.png'), 10, 10, 0, 0, 0, 0, 100, 50); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.zerosource.image + desc: drawImage with zero-sized source rectangle from image throws INDEX_SIZE_ERR + testing: + - 2d.drawImage.zerosource + images: + - red-zerowidth.svg + - red-zeroheight.svg + - red-zerosize.svg + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red-zerowidth.svg'), 0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red-zeroheight.svg'), 0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red-zerosize.svg'), 0, 0, 100, 50); + @assert pixel 50,25 == 0,255,0,255; + expected: green + +- name: 2d.drawImage.negativesource + desc: Negative source width/height represents the correct rectangle + testing: + - 2d.drawImage.direction + mozilla: { throws } + images: + - ggrr-256x256.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.drawImage(document.getElementById('ggrr-256x256.png'), 100, 78, -100, 50, 0, 0, 50, 50); + ctx.drawImage(document.getElementById('ggrr-256x256.png'), 100, 128, -100, -50, 50, 0, 50, 50); + @assert pixel 1,1 ==~ 0,255,0,255; + @assert pixel 1,48 ==~ 0,255,0,255; + @assert pixel 98,1 ==~ 0,255,0,255; + @assert pixel 98,48 ==~ 0,255,0,255; + @assert pixel 48,1 ==~ 0,255,0,255; + @assert pixel 48,48 ==~ 0,255,0,255; + @assert pixel 51,1 ==~ 0,255,0,255; + @assert pixel 51,48 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.negativedest + desc: Negative destination width/height represents the correct rectangle + testing: + - 2d.drawImage.direction + mozilla: { throws } + images: + - ggrr-256x256.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.drawImage(document.getElementById('ggrr-256x256.png'), 100, 78, 50, 50, 0, 50, 50, -50); + ctx.drawImage(document.getElementById('ggrr-256x256.png'), 100, 128, 50, -50, 100, 50, -50, -50); + @assert pixel 1,1 ==~ 0,255,0,255; + @assert pixel 1,48 ==~ 0,255,0,255; + @assert pixel 98,1 ==~ 0,255,0,255; + @assert pixel 98,48 ==~ 0,255,0,255; + @assert pixel 48,1 ==~ 0,255,0,255; + @assert pixel 48,48 ==~ 0,255,0,255; + @assert pixel 51,1 ==~ 0,255,0,255; + @assert pixel 51,48 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.negativedir + desc: Negative dimensions do not affect the direction of the image + testing: + - 2d.drawImage.direction + mozilla: { throws } + images: + - ggrr-256x256.png + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.drawImage(document.getElementById('ggrr-256x256.png'), 0, 178, 50, -100, 0, 0, 50, 100); + ctx.drawImage(document.getElementById('ggrr-256x256.png'), 0, 78, 50, 100, 50, 100, 50, -100); + @assert pixel 1,1 ==~ 0,255,0,255; + @assert pixel 1,48 ==~ 0,255,0,255; + @assert pixel 98,1 ==~ 0,255,0,255; + @assert pixel 98,48 ==~ 0,255,0,255; + @assert pixel 48,1 ==~ 0,255,0,255; + @assert pixel 48,48 ==~ 0,255,0,255; + @assert pixel 51,1 ==~ 0,255,0,255; + @assert pixel 51,48 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.outsidesource + DISABLED: fix this to match the current spec (transparent black outside source) + testing: + - 2d.drawImage.outsidesource + mozilla: { throws } + images: + - green.png + - red.png + code: | + ctx.drawImage(document.getElementById('green.png'), 10.5, 10.5, 89.5, 39.5, 0, 0, 100, 50); + ctx.drawImage(document.getElementById('green.png'), 5.5, 5.5, -5.5, -5.5, 0, 0, 100, 50); + ctx.drawImage(document.getElementById('green.png'), 100, 50, -5, -5, 0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red.png'), -0.001, 0, 100, 50, 0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red.png'), 0, -0.001, 100, 50, 0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red.png'), 0, 0, 100.001, 50, 0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red.png'), 0, 0, 100, 50.001, 0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red.png'), 50, 0, 50.001, 50, 0, 0, 100, 50); @moz-todo + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red.png'), 0, 0, -5, 5, 0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red.png'), 0, 0, 5, -5, 0, 0, 100, 50); + @assert throws INDEX_SIZE_ERR ctx.drawImage(document.getElementById('red.png'), 110, 60, -20, -20, 0, 0, 100, 50); + @assert pixel 50,25 ==~ 0,255,0,255; @moz-todo + expected: green + +- name: 2d.drawImage.incomplete.nosrc + testing: + - 2d.drawImage.incomplete.image + mozilla: { throws } + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + var img = new Image(); + ctx.drawImage(img, 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.incomplete.immediate + testing: + - 2d.drawImage.incomplete.image + images: + - red.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + var img = new Image(); + img.src = '../images/red.png'; + // This triggers the "update the image data" algorithm. + // The image will not go to the "completely available" state + // until a fetch task in the networking task source is processed, + // so the image must not be fully decodable yet: + ctx.drawImage(img, 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; @moz-todo + expected: green + +- name: 2d.drawImage.incomplete.reload + testing: + - 2d.drawImage.incomplete.image + images: + - yellow.png + - red.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + var img = document.getElementById('yellow.png'); + img.src = '../images/red.png'; + // This triggers the "update the image data" algorithm, + // and resets the image to the "unavailable" state. + // The image will not go to the "completely available" state + // until a fetch task in the networking task source is processed, + // so the image must not be fully decodable yet: + ctx.drawImage(img, 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; @moz-todo + expected: green + +- name: 2d.drawImage.incomplete.emptysrc + testing: + - 2d.drawImage.incomplete.image + images: + - red.png + mozilla: { throws } + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + var img = document.getElementById('red.png'); + img.src = ""; + ctx.drawImage(img, 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.incomplete.removedsrc + testing: + - 2d.drawImage.incomplete.image + images: + - red.png + mozilla: { throws } + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + var img = document.getElementById('red.png'); + img.removeAttribute('src'); + ctx.drawImage(img, 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.broken + testing: + - 2d.drawImage.incomplete.image + images: + - broken.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + var img = document.getElementById('broken.png'); + ctx.drawImage(img, 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; @moz-todo + expected: green + +- name: 2d.drawImage.zerocanvas + testing: + - 2d.drawImage.zerocanvas + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + + var canvas2 = document.createElement('canvas'); + canvas2.width = 0; + canvas2.height = 10; + @assert throws INVALID_STATE_ERR ctx.drawImage(canvas2, 0, 0); + + canvas2.width = 10; + canvas2.height = 0; + @assert throws INVALID_STATE_ERR ctx.drawImage(canvas2, 0, 0); + + canvas2.width = 0; + canvas2.height = 0; + @assert throws INVALID_STATE_ERR ctx.drawImage(canvas2, 0, 0); + + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.svg + desc: drawImage() of an SVG image + testing: + - 2d.drawImage.svg + images: + - green.svg + code: | + ctx.drawImage(document.getElementById('green.svg'), 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.animated.gif + desc: drawImage() of an animated GIF draws the first frame + testing: + - 2d.drawImage.animated.image + images: + - anim-gr.gif + code: | + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.drawImage(document.getElementById('anim-gr.gif'), 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.drawImage.animated.apng + desc: drawImage() of an APNG with no poster frame draws the first frame + testing: + - 2d.drawImage.animated.image + images: + - anim-gr.png + code: | + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.drawImage(document.getElementById('anim-gr.png'), 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.drawImage.animated.poster + desc: drawImage() of an APNG draws the poster frame + testing: + - 2d.drawImage.animated.image + images: + - anim-poster-gr.png + code: | + ctx.drawImage(document.getElementById('anim-poster-gr.png'), 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; @moz-todo + expected: green + +- name: 2d.drawImage.path + testing: + - 2d.drawImage.unaffect + images: + - red.png + code: | + ctx.fillStyle = '#0f0'; + ctx.rect(0, 0, 100, 50); + ctx.drawImage(document.getElementById('red.png'), 0, 0); + ctx.fill(); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.transform + testing: + - 2d.drawImage.subject + images: + - red.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.translate(100, 0); + ctx.drawImage(document.getElementById('red.png'), 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +# TODO: drawImage shadows + +- name: 2d.drawImage.alpha + testing: + - 2d.drawImage.subject + images: + - red.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalAlpha = 0; + ctx.drawImage(document.getElementById('red.png'), 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.clip + testing: + - 2d.drawImage.subject + images: + - red.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.rect(-10, -10, 1, 1); + ctx.clip(); + ctx.drawImage(document.getElementById('red.png'), 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.composite + testing: + - 2d.drawImage.subject + images: + - red.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.globalCompositeOperation = 'destination-over'; + ctx.drawImage(document.getElementById('red.png'), 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.nowrap + desc: Stretched images do not get pixels wrapping around the edges + images: + - redtransparent.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.drawImage(document.getElementById('redtransparent.png'), -1950, 0, 2000, 50); + @assert pixel 45,25 ==~ 0,255,0,255; + @assert pixel 50,25 ==~ 0,255,0,255; + @assert pixel 55,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.drawImage.nonfinite + desc: drawImage() with Infinity/NaN is ignored + testing: + - 2d.nonfinite + images: + - red.png + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + var red = document.getElementById('red.png'); + @nonfinite ctx.drawImage(, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>); + @nonfinite ctx.drawImage(, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <100 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>); + @nonfinite ctx.drawImage(, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <100 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <0 Infinity -Infinity NaN>, <100 Infinity -Infinity NaN>, <50 Infinity -Infinity NaN>); + @assert pixel 50,25 == 0,255,0,255; + expected: green + + + +- name: 2d.imageData.create2.basic + desc: createImageData(sw, sh) exists and returns something + testing: + - 2d.imageData.create2.object + code: | + @assert ctx.createImageData(1, 1) !== null; + +- name: 2d.imageData.create1.basic + desc: createImageData(imgdata) exists and returns something + testing: + - 2d.imageData.create1.object + code: | + @assert ctx.createImageData(ctx.createImageData(1, 1)) !== null; + +- name: 2d.imageData.create2.type + desc: createImageData(sw, sh) returns an ImageData object containing a Uint8ClampedArray object + testing: + - 2d.imageData.create2.object + code: | + @assert window.ImageData !== undefined; + @assert window.Uint8ClampedArray !== undefined; + window.ImageData.prototype.thisImplementsImageData = true; + window.Uint8ClampedArray.prototype.thisImplementsUint8ClampedArray = true; + var imgdata = ctx.createImageData(1, 1); + @assert imgdata.thisImplementsImageData; + @assert imgdata.data.thisImplementsUint8ClampedArray; + +- name: 2d.imageData.create1.type + desc: createImageData(imgdata) returns an ImageData object containing a Uint8ClampedArray object + testing: + - 2d.imageData.create1.object + code: | + @assert window.ImageData !== undefined; + @assert window.Uint8ClampedArray !== undefined; + window.ImageData.prototype.thisImplementsImageData = true; + window.Uint8ClampedArray.prototype.thisImplementsUint8ClampedArray = true; + var imgdata = ctx.createImageData(ctx.createImageData(1, 1)); + @assert imgdata.thisImplementsImageData; + @assert imgdata.data.thisImplementsUint8ClampedArray; + +- name: 2d.imageData.create2.this + desc: createImageData(sw, sh) should throw when called with the wrong |this| + notes: *bindings + testing: + - 2d.imageData.create2.object + code: | + @assert throws TypeError CanvasRenderingContext2D.prototype.createImageData.call(null, 1, 1); @moz-todo + @assert throws TypeError CanvasRenderingContext2D.prototype.createImageData.call(undefined, 1, 1); @moz-todo + @assert throws TypeError CanvasRenderingContext2D.prototype.createImageData.call({}, 1, 1); @moz-todo + +- name: 2d.imageData.create1.this + desc: createImageData(imgdata) should throw when called with the wrong |this| + notes: *bindings + testing: + - 2d.imageData.create2.object + code: | + var imgdata = ctx.createImageData(1, 1); + @assert throws TypeError CanvasRenderingContext2D.prototype.createImageData.call(null, imgdata); @moz-todo + @assert throws TypeError CanvasRenderingContext2D.prototype.createImageData.call(undefined, imgdata); @moz-todo + @assert throws TypeError CanvasRenderingContext2D.prototype.createImageData.call({}, imgdata); @moz-todo + +- name: 2d.imageData.create2.initial + desc: createImageData(sw, sh) returns transparent black data of the right size + testing: + - 2d.imageData.create2.size + - 2d.imageData.create.initial + - 2d.imageData.initial + code: | + var imgdata = ctx.createImageData(10, 20); + @assert imgdata.data.length === imgdata.width*imgdata.height*4; + @assert imgdata.width < imgdata.height; + @assert imgdata.width > 0; + var isTransparentBlack = true; + for (var i = 0; i < imgdata.data.length; ++i) + if (imgdata.data[i] !== 0) + isTransparentBlack = false; + @assert isTransparentBlack; + +- name: 2d.imageData.create1.initial + desc: createImageData(imgdata) returns transparent black data of the right size + testing: + - 2d.imageData.create1.size + - 2d.imageData.create.initial + - 2d.imageData.initial + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + var imgdata1 = ctx.getImageData(0, 0, 10, 20); + var imgdata2 = ctx.createImageData(imgdata1); + @assert imgdata2.data.length === imgdata1.data.length; + @assert imgdata2.width === imgdata1.width; + @assert imgdata2.height === imgdata1.height; + var isTransparentBlack = true; + for (var i = 0; i < imgdata2.data.length; ++i) + if (imgdata2.data[i] !== 0) + isTransparentBlack = false; + @assert isTransparentBlack; + +- name: 2d.imageData.create2.large + desc: createImageData(sw, sh) works for sizes much larger than the canvas + testing: + - 2d.imageData.create2.size + code: | + var imgdata = ctx.createImageData(1000, 2000); + @assert imgdata.data.length === imgdata.width*imgdata.height*4; + @assert imgdata.width < imgdata.height; + @assert imgdata.width > 0; + var isTransparentBlack = true; + for (var i = 0; i < imgdata.data.length; i += 7813) // check ~1024 points (assuming normal scaling) + if (imgdata.data[i] !== 0) + isTransparentBlack = false; + @assert isTransparentBlack; + +- name: 2d.imageData.create2.tiny + desc: createImageData(sw, sh) works for sizes smaller than one pixel + testing: + - 2d.imageData.create2.size + - 2d.imageData.one + code: | + var imgdata = ctx.createImageData(0.0001, 0.0001); + @assert imgdata.data.length === imgdata.width*imgdata.height*4; + @assert imgdata.width === 1; + @assert imgdata.height === 1; + var isTransparentBlack = true; + for (var i = 0; i < imgdata.data.length; ++i) + if (imgdata.data[i] !== 0) + isTransparentBlack = false; + @assert isTransparentBlack; + +- name: 2d.imageData.create2.negative + desc: createImageData(sw, sh) takes the absolute magnitude of the size arguments + testing: + - 2d.imageData.create2.size + code: | + var imgdata1 = ctx.createImageData(10, 20); + var imgdata2 = ctx.createImageData(-10, 20); + var imgdata3 = ctx.createImageData(10, -20); + var imgdata4 = ctx.createImageData(-10, -20); + @assert imgdata1.data.length === imgdata2.data.length; + @assert imgdata2.data.length === imgdata3.data.length; + @assert imgdata3.data.length === imgdata4.data.length; + +- name: 2d.imageData.create2.zero + desc: createImageData(sw, sh) throws INDEX_SIZE_ERR if size is zero + testing: + - 2d.imageData.getcreate.zero + code: | + @assert throws INDEX_SIZE_ERR ctx.createImageData(10, 0); + @assert throws INDEX_SIZE_ERR ctx.createImageData(0, 10); + @assert throws INDEX_SIZE_ERR ctx.createImageData(0, 0); + +- name: 2d.imageData.create2.nonfinite + desc: createImageData() throws TypeError if arguments are not finite + notes: *bindings + testing: + - 2d.imageData.getcreate.nonfinite + code: | + @nonfinite @assert throws TypeError ctx.createImageData(<10 Infinity -Infinity NaN>, <10 Infinity -Infinity NaN>); + var posinfobj = { valueOf: function() { return Infinity; } }, + neginfobj = { valueOf: function() { return -Infinity; } }, + nanobj = { valueOf: function() { return -Infinity; } }; + @nonfinite @assert throws TypeError ctx.createImageData(<10 posinfobj neginfobj nanobj>, <10 posinfobj neginfobj nanobj>); + +- name: 2d.imageData.create1.zero + desc: createImageData(null) throws TypeError + testing: + - 2d.imageData.create.null + code: | + @assert throws TypeError ctx.createImageData(null); + +- name: 2d.imageData.create2.round + desc: createImageData(w, h) is rounded the same as getImageData(0, 0, w, h) + testing: + - 2d.imageData.createround + code: | + var imgdata1 = ctx.createImageData(10.01, 10.99); + var imgdata2 = ctx.getImageData(0, 0, 10.01, 10.99); + @assert imgdata1.width === imgdata2.width; + @assert imgdata1.height === imgdata2.height; + +- name: 2d.imageData.get.basic + desc: getImageData() exists and returns something + testing: + - 2d.imageData.get.basic + code: | + @assert ctx.getImageData(0, 0, 100, 50) !== null; + +- name: 2d.imageData.get.type + desc: getImageData() returns an ImageData object containing a Uint8ClampedArray object + testing: + - 2d.imageData.get.object + code: | + @assert window.ImageData !== undefined; + @assert window.Uint8ClampedArray !== undefined; + window.ImageData.prototype.thisImplementsImageData = true; + window.Uint8ClampedArray.prototype.thisImplementsUint8ClampedArray = true; + var imgdata = ctx.getImageData(0, 0, 1, 1); + @assert imgdata.thisImplementsImageData; + @assert imgdata.data.thisImplementsUint8ClampedArray; + +- name: 2d.imageData.get.zero + desc: getImageData() throws INDEX_SIZE_ERR if size is zero + testing: + - 2d.imageData.getcreate.zero + code: | + @assert throws INDEX_SIZE_ERR ctx.getImageData(1, 1, 10, 0); + @assert throws INDEX_SIZE_ERR ctx.getImageData(1, 1, 0, 10); + @assert throws INDEX_SIZE_ERR ctx.getImageData(1, 1, 0, 0); + +- name: 2d.imageData.get.nonfinite + desc: getImageData() throws TypeError if arguments are not finite + notes: *bindings + testing: + - 2d.imageData.getcreate.nonfinite + code: | + @nonfinite @assert throws TypeError ctx.getImageData(<10 Infinity -Infinity NaN>, <10 Infinity -Infinity NaN>, <10 Infinity -Infinity NaN>, <10 Infinity -Infinity NaN>); + var posinfobj = { valueOf: function() { return Infinity; } }, + neginfobj = { valueOf: function() { return -Infinity; } }, + nanobj = { valueOf: function() { return -Infinity; } }; + @nonfinite @assert throws TypeError ctx.getImageData(<10 posinfobj neginfobj nanobj>, <10 posinfobj neginfobj nanobj>, <10 posinfobj neginfobj nanobj>, <10 posinfobj neginfobj nanobj>); + +- name: 2d.imageData.get.source.outside + desc: getImageData() returns transparent black outside the canvas + testing: + - 2d.imageData.get.basic + - 2d.imageData.get.outside + code: | + ctx.fillStyle = '#08f'; + ctx.fillRect(0, 0, 100, 50); + + var imgdata1 = ctx.getImageData(-10, 5, 1, 1); + @assert imgdata1.data[0] === 0; + @assert imgdata1.data[1] === 0; + @assert imgdata1.data[2] === 0; + @assert imgdata1.data[3] === 0; + + var imgdata2 = ctx.getImageData(10, -5, 1, 1); + @assert imgdata2.data[0] === 0; + @assert imgdata2.data[1] === 0; + @assert imgdata2.data[2] === 0; + @assert imgdata2.data[3] === 0; + + var imgdata3 = ctx.getImageData(200, 5, 1, 1); + @assert imgdata3.data[0] === 0; + @assert imgdata3.data[1] === 0; + @assert imgdata3.data[2] === 0; + @assert imgdata3.data[3] === 0; + + var imgdata4 = ctx.getImageData(10, 60, 1, 1); + @assert imgdata4.data[0] === 0; + @assert imgdata4.data[1] === 0; + @assert imgdata4.data[2] === 0; + @assert imgdata4.data[3] === 0; + + var imgdata5 = ctx.getImageData(100, 10, 1, 1); + @assert imgdata5.data[0] === 0; + @assert imgdata5.data[1] === 0; + @assert imgdata5.data[2] === 0; + @assert imgdata5.data[3] === 0; + + var imgdata6 = ctx.getImageData(0, 10, 1, 1); + @assert imgdata6.data[0] === 0; + @assert imgdata6.data[1] === 136; + @assert imgdata6.data[2] === 255; + @assert imgdata6.data[3] === 255; + + var imgdata7 = ctx.getImageData(-10, 10, 20, 20); + @assert imgdata7.data[ 0*4+0] === 0; + @assert imgdata7.data[ 0*4+1] === 0; + @assert imgdata7.data[ 0*4+2] === 0; + @assert imgdata7.data[ 0*4+3] === 0; + @assert imgdata7.data[ 9*4+0] === 0; + @assert imgdata7.data[ 9*4+1] === 0; + @assert imgdata7.data[ 9*4+2] === 0; + @assert imgdata7.data[ 9*4+3] === 0; + @assert imgdata7.data[10*4+0] === 0; + @assert imgdata7.data[10*4+1] === 136; + @assert imgdata7.data[10*4+2] === 255; + @assert imgdata7.data[10*4+3] === 255; + @assert imgdata7.data[19*4+0] === 0; + @assert imgdata7.data[19*4+1] === 136; + @assert imgdata7.data[19*4+2] === 255; + @assert imgdata7.data[19*4+3] === 255; + @assert imgdata7.data[20*4+0] === 0; + @assert imgdata7.data[20*4+1] === 0; + @assert imgdata7.data[20*4+2] === 0; + @assert imgdata7.data[20*4+3] === 0; + +- name: 2d.imageData.get.source.negative + desc: getImageData() works with negative width and height, and returns top-to-bottom left-to-right + testing: + - 2d.imageData.get.basic + - 2d.pixelarray.order + code: | + ctx.fillStyle = '#000'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#fff'; + ctx.fillRect(20, 10, 60, 10); + + var imgdata1 = ctx.getImageData(85, 25, -10, -10); + @assert imgdata1.data[0] === 255; + @assert imgdata1.data[1] === 255; + @assert imgdata1.data[2] === 255; + @assert imgdata1.data[3] === 255; + @assert imgdata1.data[imgdata1.data.length-4+0] === 0; + @assert imgdata1.data[imgdata1.data.length-4+1] === 0; + @assert imgdata1.data[imgdata1.data.length-4+2] === 0; + @assert imgdata1.data[imgdata1.data.length-4+3] === 255; + + var imgdata2 = ctx.getImageData(0, 0, -1, -1); + @assert imgdata2.data[0] === 0; + @assert imgdata2.data[1] === 0; + @assert imgdata2.data[2] === 0; + @assert imgdata2.data[3] === 0; + +- name: 2d.imageData.get.source.size + desc: getImageData() returns bigger ImageData for bigger source rectangle + testing: + - 2d.imageData.get.basic + code: | + var imgdata1 = ctx.getImageData(0, 0, 10, 10); + var imgdata2 = ctx.getImageData(0, 0, 20, 20); + @assert imgdata2.width > imgdata1.width; + @assert imgdata2.height > imgdata1.height; + +- name: 2d.imageData.get.tiny + desc: getImageData() works for sizes smaller than one pixel + testing: + - 2d.imageData.one + code: | + var imgdata = ctx.getImageData(0, 0, 0.0001, 0.0001); + @assert imgdata.data.length === imgdata.width*imgdata.height*4; + @assert imgdata.width === 1; + @assert imgdata.height === 1; + +- name: 2d.imageData.get.nonpremul + desc: getImageData() returns non-premultiplied colours + testing: + - 2d.imageData.get.premul + code: | + ctx.fillStyle = 'rgba(255, 255, 255, 0.5)'; + ctx.fillRect(0, 0, 100, 50); + var imgdata = ctx.getImageData(10, 10, 10, 10); + @assert imgdata.data[0] > 200; + @assert imgdata.data[1] > 200; + @assert imgdata.data[2] > 200; + @assert imgdata.data[3] > 100; + @assert imgdata.data[3] < 200; + +- name: 2d.imageData.get.range + desc: getImageData() returns values in the range [0, 255] + testing: + - 2d.pixelarray.range + - 2d.pixelarray.retrieve + code: | + ctx.fillStyle = '#000'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#fff'; + ctx.fillRect(20, 10, 60, 10); + var imgdata1 = ctx.getImageData(10, 5, 1, 1); + @assert imgdata1.data[0] === 0; + var imgdata2 = ctx.getImageData(30, 15, 1, 1); + @assert imgdata2.data[0] === 255; + +- name: 2d.imageData.get.clamp + desc: getImageData() clamps colours to the range [0, 255] + testing: + - 2d.pixelarray.range + code: | + ctx.fillStyle = 'rgb(-100, -200, -300)'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = 'rgb(256, 300, 400)'; + ctx.fillRect(20, 10, 60, 10); + var imgdata1 = ctx.getImageData(10, 5, 1, 1); + @assert imgdata1.data[0] === 0; + @assert imgdata1.data[1] === 0; + @assert imgdata1.data[2] === 0; + var imgdata2 = ctx.getImageData(30, 15, 1, 1); + @assert imgdata2.data[0] === 255; + @assert imgdata2.data[1] === 255; + @assert imgdata2.data[2] === 255; + +- name: 2d.imageData.get.length + desc: getImageData() returns a correctly-sized Uint8ClampedArray + testing: + - 2d.pixelarray.length + code: | + var imgdata = ctx.getImageData(0, 0, 10, 10); + @assert imgdata.data.length === imgdata.width*imgdata.height*4; + +- name: 2d.imageData.get.order.cols + desc: getImageData() returns leftmost columns first + testing: + - 2d.pixelarray.order + code: | + ctx.fillStyle = '#fff'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#000'; + ctx.fillRect(0, 0, 2, 50); + var imgdata = ctx.getImageData(0, 0, 10, 10); + @assert imgdata.data[0] === 0; + @assert imgdata.data[Math.round(imgdata.width/2*4)] === 255; + @assert imgdata.data[Math.round((imgdata.height/2)*imgdata.width*4)] === 0; + +- name: 2d.imageData.get.order.rows + desc: getImageData() returns topmost rows first + testing: + - 2d.pixelarray.order + code: | + ctx.fillStyle = '#fff'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#000'; + ctx.fillRect(0, 0, 100, 2); + var imgdata = ctx.getImageData(0, 0, 10, 10); + @assert imgdata.data[0] === 0; + @assert imgdata.data[Math.floor(imgdata.width/2*4)] === 0; + @assert imgdata.data[(imgdata.height/2)*imgdata.width*4] === 255; + +- name: 2d.imageData.get.order.rgb + desc: getImageData() returns R then G then B + testing: + - 2d.pixelarray.order + - 2d.pixelarray.indexes + code: | + ctx.fillStyle = '#48c'; + ctx.fillRect(0, 0, 100, 50); + var imgdata = ctx.getImageData(0, 0, 10, 10); + @assert imgdata.data[0] === 0x44; + @assert imgdata.data[1] === 0x88; + @assert imgdata.data[2] === 0xCC; + @assert imgdata.data[3] === 255; + @assert imgdata.data[4] === 0x44; + @assert imgdata.data[5] === 0x88; + @assert imgdata.data[6] === 0xCC; + @assert imgdata.data[7] === 255; + +- name: 2d.imageData.get.order.alpha + desc: getImageData() returns A in the fourth component + testing: + - 2d.pixelarray.order + code: | + ctx.fillStyle = 'rgba(0, 0, 0, 0.5)'; + ctx.fillRect(0, 0, 100, 50); + var imgdata = ctx.getImageData(0, 0, 10, 10); + @assert imgdata.data[3] < 200; + @assert imgdata.data[3] > 100; + +- name: 2d.imageData.get.unaffected + desc: getImageData() is not affected by context state + testing: + - 2d.imageData.unaffected + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 50, 50) + ctx.fillStyle = '#f00'; + ctx.fillRect(50, 0, 50, 50) + ctx.save(); + ctx.translate(50, 0); + ctx.globalAlpha = 0.1; + ctx.globalCompositeOperation = 'destination-atop'; + ctx.shadowColor = '#f00'; + ctx.rect(0, 0, 5, 5); + ctx.clip(); + var imgdata = ctx.getImageData(0, 0, 50, 50); + ctx.restore(); + ctx.putImageData(imgdata, 50, 0); + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + expected: green + + +- name: 2d.imageData.object.properties + desc: ImageData objects have the right properties + testing: + - 2d.imageData.type + code: | + var imgdata = ctx.getImageData(0, 0, 10, 10); + @assert typeof(imgdata.width) === 'number'; + @assert typeof(imgdata.height) === 'number'; + @assert typeof(imgdata.data) === 'object'; + +- name: 2d.imageData.object.readonly + desc: ImageData objects properties are read-only + testing: + - 2d.imageData.type + code: | + var imgdata = ctx.getImageData(0, 0, 10, 10); + var w = imgdata.width; + var h = imgdata.height; + var d = imgdata.data; + imgdata.width = 123; + imgdata.height = 123; + imgdata.data = [100,100,100,100]; + @assert imgdata.width === w; + @assert imgdata.height === h; + @assert imgdata.data === d; + @assert imgdata.data[0] === 0; + @assert imgdata.data[1] === 0; + @assert imgdata.data[2] === 0; + @assert imgdata.data[3] === 0; + +- name: 2d.imageData.object.ctor + desc: ImageData does not have a usable constructor + testing: + - 2d.imageData.type + code: | + @assert window.ImageData !== undefined; + @assert throws TypeError new window.ImageData(1,1); + +- name: 2d.imageData.object.set + desc: ImageData.data can be modified + testing: + - 2d.pixelarray.modify + code: | + var imgdata = ctx.getImageData(0, 0, 10, 10); + imgdata.data[0] = 100; + @assert imgdata.data[0] === 100; + imgdata.data[0] = 200; + @assert imgdata.data[0] === 200; + +- name: 2d.imageData.object.undefined + desc: ImageData.data converts undefined to 0 + testing: + - 2d.pixelarray.modify + webidl: + - es-octet + code: | + var imgdata = ctx.getImageData(0, 0, 10, 10); + imgdata.data[0] = 100; + imgdata.data[0] = undefined; + @assert imgdata.data[0] === 0; + +- name: 2d.imageData.object.nan + desc: ImageData.data converts NaN to 0 + testing: + - 2d.pixelarray.modify + webidl: + - es-octet + code: | + var imgdata = ctx.getImageData(0, 0, 10, 10); + imgdata.data[0] = 100; + imgdata.data[0] = NaN; + @assert imgdata.data[0] === 0; + imgdata.data[0] = 100; + imgdata.data[0] = "cheese"; + @assert imgdata.data[0] === 0; + +- name: 2d.imageData.object.string + desc: ImageData.data converts strings to numbers with ToNumber + testing: + - 2d.pixelarray.modify + webidl: + - es-octet + code: | + var imgdata = ctx.getImageData(0, 0, 10, 10); + imgdata.data[0] = 100; + imgdata.data[0] = "110"; + @assert imgdata.data[0] === 110; + imgdata.data[0] = 100; + imgdata.data[0] = "0x78"; + @assert imgdata.data[0] === 120; + imgdata.data[0] = 100; + imgdata.data[0] = " +130e0 "; + @assert imgdata.data[0] === 130; + +- name: 2d.imageData.object.clamp + desc: ImageData.data clamps numbers to [0, 255] + testing: + - 2d.pixelarray.modify + webidl: + - es-octet + code: | + var imgdata = ctx.getImageData(0, 0, 10, 10); + + imgdata.data[0] = 100; + imgdata.data[0] = 300; + @assert imgdata.data[0] === 255; + imgdata.data[0] = 100; + imgdata.data[0] = -100; + @assert imgdata.data[0] === 0; + + imgdata.data[0] = 100; + imgdata.data[0] = 200+Math.pow(2, 32); + @assert imgdata.data[0] === 255; + imgdata.data[0] = 100; + imgdata.data[0] = -200-Math.pow(2, 32); + @assert imgdata.data[0] === 0; + + imgdata.data[0] = 100; + imgdata.data[0] = Math.pow(10, 39); + @assert imgdata.data[0] === 255; + imgdata.data[0] = 100; + imgdata.data[0] = -Math.pow(10, 39); + @assert imgdata.data[0] === 0; + + imgdata.data[0] = 100; + imgdata.data[0] = -Infinity; + @assert imgdata.data[0] === 0; + imgdata.data[0] = 100; + imgdata.data[0] = Infinity; + @assert imgdata.data[0] === 255; + +- name: 2d.imageData.object.round + desc: ImageData.data rounds numbers with round-to-zero + testing: + - 2d.pixelarray.modify + webidl: + - es-octet + code: | + var imgdata = ctx.getImageData(0, 0, 10, 10); + imgdata.data[0] = 0.499; + @assert imgdata.data[0] === 0; + imgdata.data[0] = 0.5; + @assert imgdata.data[0] === 0; + imgdata.data[0] = 0.501; + @assert imgdata.data[0] === 1; + imgdata.data[0] = 1.499; + @assert imgdata.data[0] === 1; + imgdata.data[0] = 1.5; + @assert imgdata.data[0] === 2; + imgdata.data[0] = 1.501; + @assert imgdata.data[0] === 2; + imgdata.data[0] = 2.5; + @assert imgdata.data[0] === 2; + imgdata.data[0] = 3.5; + @assert imgdata.data[0] === 4; + imgdata.data[0] = 252.5; + @assert imgdata.data[0] === 252; + imgdata.data[0] = 253.5; + @assert imgdata.data[0] === 254; + imgdata.data[0] = 254.5; + @assert imgdata.data[0] === 254; + imgdata.data[0] = 256.5; + @assert imgdata.data[0] === 255; + imgdata.data[0] = -0.5; + @assert imgdata.data[0] === 0; + imgdata.data[0] = -1.5; + @assert imgdata.data[0] === 0; + + + +- name: 2d.imageData.put.null + desc: putImageData() with null imagedata throws TypeError + testing: + - 2d.imageData.put.wrongtype + code: | + @assert throws TypeError ctx.putImageData(null, 0, 0); + +- name: 2d.imageData.put.nonfinite + desc: putImageData() throws TypeError if arguments are not finite + notes: *bindings + testing: + - 2d.imageData.put.nonfinite + code: | + var imgdata = ctx.getImageData(0, 0, 10, 10); + @nonfinite @assert throws TypeError ctx.putImageData(, <10 Infinity -Infinity NaN>, <10 Infinity -Infinity NaN>); + @nonfinite @assert throws TypeError ctx.putImageData(, <10 Infinity -Infinity NaN>, <10 Infinity -Infinity NaN>, <10 Infinity -Infinity NaN>, <10 Infinity -Infinity NaN>, <10 Infinity -Infinity NaN>, <10 Infinity -Infinity NaN>); + +- name: 2d.imageData.put.basic + desc: putImageData() puts image data from getImageData() onto the canvas + testing: + - 2d.imageData.put.normal + - 2d.imageData.put.3arg + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50) + var imgdata = ctx.getImageData(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50) + ctx.putImageData(imgdata, 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.imageData.put.created + desc: putImageData() puts image data from createImageData() onto the canvas + testing: + - 2d.imageData.put.normal + code: | + var imgdata = ctx.createImageData(100, 50); + for (var i = 0; i < imgdata.data.length; i += 4) { + imgdata.data[i] = 0; + imgdata.data[i+1] = 255; + imgdata.data[i+2] = 0; + imgdata.data[i+3] = 255; + } + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50) + ctx.putImageData(imgdata, 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.imageData.put.wrongtype + desc: putImageData() does not accept non-ImageData objects + testing: + - 2d.imageData.put.wrongtype + code: | + var imgdata = { width: 1, height: 1, data: [255, 0, 0, 255] }; + @assert throws TypeError ctx.putImageData(imgdata, 0, 0); + @assert throws TypeError ctx.putImageData("cheese", 0, 0); + @assert throws TypeError ctx.putImageData(42, 0, 0); + expected: green + +- name: 2d.imageData.put.cross + desc: putImageData() accepts image data got from a different canvas + testing: + - 2d.imageData.put.normal + code: | + var canvas2 = document.createElement('canvas'); + var ctx2 = canvas2.getContext('2d'); + ctx2.fillStyle = '#0f0'; + ctx2.fillRect(0, 0, 100, 50) + var imgdata = ctx2.getImageData(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50) + ctx.putImageData(imgdata, 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.imageData.put.alpha + desc: putImageData() puts non-solid image data correctly + testing: + - 2d.imageData.put.normal + code: | + ctx.fillStyle = 'rgba(0, 255, 0, 0.25)'; + ctx.fillRect(0, 0, 100, 50) + var imgdata = ctx.getImageData(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50) + ctx.putImageData(imgdata, 0, 0); + @assert pixel 50,25 ==~ 0,255,0,64; + expected: | + size 100 50 + cr.set_source_rgba(0, 1, 0, 0.25) + cr.rectangle(0, 0, 100, 50) + cr.fill() + +- name: 2d.imageData.put.modified + desc: putImageData() puts modified image data correctly + testing: + - 2d.imageData.put.normal + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50) + ctx.fillStyle = '#f00'; + ctx.fillRect(45, 20, 10, 10) + var imgdata = ctx.getImageData(45, 20, 10, 10); + for (var i = 0, len = imgdata.width*imgdata.height*4; i < len; i += 4) + { + imgdata.data[i] = 0; + imgdata.data[i+1] = 255; + } + ctx.putImageData(imgdata, 45, 20); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.imageData.put.dirty.zero + desc: putImageData() with zero-sized dirty rectangle puts nothing + testing: + - 2d.imageData.put.normal + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50) + var imgdata = ctx.getImageData(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50) + ctx.putImageData(imgdata, 0, 0, 0, 0, 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.imageData.put.dirty.rect1 + desc: putImageData() only modifies areas inside the dirty rectangle, using width and height + testing: + - 2d.imageData.put.normal + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50) + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 20, 20) + + var imgdata = ctx.getImageData(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50) + ctx.fillStyle = '#f00'; + ctx.fillRect(40, 20, 20, 20) + ctx.putImageData(imgdata, 40, 20, 0, 0, 20, 20); + + @assert pixel 50,25 ==~ 0,255,0,255; + @assert pixel 35,25 ==~ 0,255,0,255; + @assert pixel 65,25 ==~ 0,255,0,255; + @assert pixel 50,15 ==~ 0,255,0,255; + @assert pixel 50,45 ==~ 0,255,0,255; + expected: green + +- name: 2d.imageData.put.dirty.rect2 + desc: putImageData() only modifies areas inside the dirty rectangle, using x and y + testing: + - 2d.imageData.put.normal + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50) + ctx.fillStyle = '#0f0'; + ctx.fillRect(60, 30, 20, 20) + + var imgdata = ctx.getImageData(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50) + ctx.fillStyle = '#f00'; + ctx.fillRect(40, 20, 20, 20) + ctx.putImageData(imgdata, -20, -10, 60, 30, 20, 20); + + @assert pixel 50,25 ==~ 0,255,0,255; + @assert pixel 35,25 ==~ 0,255,0,255; + @assert pixel 65,25 ==~ 0,255,0,255; + @assert pixel 50,15 ==~ 0,255,0,255; + @assert pixel 50,45 ==~ 0,255,0,255; + expected: green + +- name: 2d.imageData.put.dirty.negative + desc: putImageData() handles negative-sized dirty rectangles correctly + testing: + - 2d.imageData.put.normal + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50) + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 20, 20) + + var imgdata = ctx.getImageData(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50) + ctx.fillStyle = '#f00'; + ctx.fillRect(40, 20, 20, 20) + ctx.putImageData(imgdata, 40, 20, 20, 20, -20, -20); + + @assert pixel 50,25 ==~ 0,255,0,255; + @assert pixel 35,25 ==~ 0,255,0,255; + @assert pixel 65,25 ==~ 0,255,0,255; + @assert pixel 50,15 ==~ 0,255,0,255; + @assert pixel 50,45 ==~ 0,255,0,255; + expected: green + +- name: 2d.imageData.put.dirty.outside + desc: putImageData() handles dirty rectangles outside the canvas correctly + testing: + - 2d.imageData.put.normal + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50) + + var imgdata = ctx.getImageData(0, 0, 100, 50); + + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50) + + ctx.putImageData(imgdata, 100, 20, 20, 20, -20, -20); + ctx.putImageData(imgdata, 200, 200, 0, 0, 100, 50); + ctx.putImageData(imgdata, 40, 20, -30, -20, 30, 20); + ctx.putImageData(imgdata, -30, 20, 0, 0, 30, 20); + + @assert pixel 50,25 ==~ 0,255,0,255; + @assert pixel 98,15 ==~ 0,255,0,255; + @assert pixel 98,25 ==~ 0,255,0,255; + @assert pixel 98,45 ==~ 0,255,0,255; + @assert pixel 1,5 ==~ 0,255,0,255; + @assert pixel 1,25 ==~ 0,255,0,255; + @assert pixel 1,45 ==~ 0,255,0,255; + expected: green + +- name: 2d.imageData.put.unchanged + desc: putImageData(getImageData(...), ...) has no effect + testing: + - 2d.imageData.unchanged + code: | + var i = 0; + for (var y = 0; y < 16; ++y) { + for (var x = 0; x < 16; ++x, ++i) { + ctx.fillStyle = 'rgba(' + i + ',' + (Math.floor(i*1.5) % 256) + ',' + (Math.floor(i*23.3) % 256) + ',' + (i/256) + ')'; + ctx.fillRect(x, y, 1, 1); + } + } + var imgdata1 = ctx.getImageData(0.1, 0.2, 15.8, 15.9); + var olddata = []; + for (var i = 0; i < imgdata1.data.length; ++i) + olddata[i] = imgdata1.data[i]; + + ctx.putImageData(imgdata1, 0.1, 0.2); + + var imgdata2 = ctx.getImageData(0.1, 0.2, 15.8, 15.9); + for (var i = 0; i < imgdata2.data.length; ++i) { + @assert olddata[i] === imgdata2.data[i]; + } + +- name: 2d.imageData.put.unaffected + desc: putImageData() is not affected by context state + testing: + - 2d.imageData.unaffected + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50) + var imgdata = ctx.getImageData(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50) + ctx.globalAlpha = 0.1; + ctx.globalCompositeOperation = 'destination-atop'; + ctx.shadowColor = '#f00'; + ctx.shadowBlur = 1; + ctx.translate(100, 50); + ctx.scale(0.1, 0.1); + ctx.putImageData(imgdata, 0, 0); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.imageData.put.clip + desc: putImageData() is not affected by clipping regions + testing: + - 2d.imageData.unaffected + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50) + var imgdata = ctx.getImageData(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50) + ctx.beginPath(); + ctx.rect(0, 0, 50, 50); + ctx.clip(); + ctx.putImageData(imgdata, 0, 0); + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + expected: green + +- name: 2d.imageData.put.path + desc: putImageData() does not affect the current path + testing: + - 2d.imageData.put.normal + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50) + ctx.rect(0, 0, 100, 50); + var imgdata = ctx.getImageData(0, 0, 100, 50); + ctx.putImageData(imgdata, 0, 0); + ctx.fillStyle = '#0f0'; + ctx.fill(); + @assert pixel 50,25 ==~ 0,255,0,255; + expected: green diff --git a/tests/wpt/web-platform-tests/2dcontext/tools/tests2dtext.yaml b/tests/wpt/web-platform-tests/2dcontext/tools/tests2dtext.yaml new file mode 100644 index 00000000000..e2358494eed --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/tools/tests2dtext.yaml @@ -0,0 +1,1000 @@ +# Copyright (c) 2010 Philip Taylor +# Released under the BSD license and W3C Test Suite License: see LICENSE.txt + +- name: 2d.text.font.parse.basic + testing: + - 2d.text.font.parse + - 2d.text.font.get + code: | + ctx.font = '20px serif'; + @assert ctx.font === '20px serif'; + + ctx.font = '20PX SERIF'; + @assert ctx.font === '20px serif'; @moz-todo + +- name: 2d.text.font.parse.complex + testing: + - 2d.text.font.parse + - 2d.text.font.get + - 2d.text.font.lineheight + code: | + ctx.font = 'small-caps italic 400 12px/2 Unknown Font, sans-serif'; + @assert ctx.font === 'italic small-caps 12px "Unknown Font", sans-serif'; @moz-todo + + # TODO: + # 2d.text.font.parse.size.absolute + # xx-small x-small small medium large x-large xx-large + # 2d.text.font.parse.size.relative + # smaller larger + # 2d.text.font.parse.size.length.relative + # em ex px + # 2d.text.font.parse.size.length.absolute + # in cm mm pt pc + +- name: 2d.text.font.parse.size.percentage + testing: + - 2d.text.font.parse + - 2d.text.font.get + - 2d.text.font.fontsize + - 2d.text.font.size + canvas: 'style="font-size: 144px" width="100" height="50"' + code: | + ctx.font = '50% serif'; + @assert ctx.font === '72px serif'; @moz-todo + canvas.setAttribute('style', 'font-size: 100px'); + @assert ctx.font === '72px serif'; @moz-todo + +- name: 2d.text.font.parse.size.percentage.default + testing: + - 2d.text.font.undefined + code: | + var canvas2 = document.createElement('canvas'); + var ctx2 = canvas2.getContext('2d'); + ctx2.font = '1000% serif'; + @assert ctx2.font === '100px serif'; @moz-todo + +- name: 2d.text.font.parse.system + desc: System fonts must be computed to explicit values + testing: + - 2d.text.font.parse + - 2d.text.font.get + - 2d.text.font.systemfonts + code: | + ctx.font = 'message-box'; + @assert ctx.font !== 'message-box'; + +- name: 2d.text.font.parse.invalid + testing: + - 2d.text.font.invalid + code: | + ctx.font = '20px serif'; + @assert ctx.font === '20px serif'; + + ctx.font = '20px serif'; + ctx.font = 'bogus'; + @assert ctx.font === '20px serif'; + + ctx.font = '20px serif'; + ctx.font = 'inherit'; + @assert ctx.font === '20px serif'; + + ctx.font = '20px serif'; + ctx.font = '10px {bogus}'; + @assert ctx.font === '20px serif'; + + ctx.font = '20px serif'; + ctx.font = '10px initial'; + @assert ctx.font === '20px serif'; @moz-todo + + ctx.font = '20px serif'; + ctx.font = '10px default'; + @assert ctx.font === '20px serif'; @moz-todo + + ctx.font = '20px serif'; + ctx.font = '10px inherit'; + @assert ctx.font === '20px serif'; + + ctx.font = '20px serif'; + ctx.font = '1em serif; background: green; margin: 10px'; + @assert ctx.font === '20px serif'; + +- name: 2d.text.font.default + testing: + - 2d.text.font.default + code: | + @assert ctx.font === '10px sans-serif'; + + + +- name: 2d.text.align.valid + testing: + - 2d.text.align.get + - 2d.text.align.set + code: | + ctx.textAlign = 'start'; + @assert ctx.textAlign === 'start'; + + ctx.textAlign = 'end'; + @assert ctx.textAlign === 'end'; + + ctx.textAlign = 'left'; + @assert ctx.textAlign === 'left'; + + ctx.textAlign = 'right'; + @assert ctx.textAlign === 'right'; + + ctx.textAlign = 'center'; + @assert ctx.textAlign === 'center'; + +- name: 2d.text.align.invalid + testing: + - 2d.text.align.invalid + code: | + ctx.textAlign = 'start'; + ctx.textAlign = 'bogus'; + @assert ctx.textAlign === 'start'; + + ctx.textAlign = 'start'; + ctx.textAlign = 'END'; + @assert ctx.textAlign === 'start'; + + ctx.textAlign = 'start'; + ctx.textAlign = 'end '; + @assert ctx.textAlign === 'start'; + + ctx.textAlign = 'start'; + ctx.textAlign = 'end\0'; + @assert ctx.textAlign === 'start'; + +- name: 2d.text.align.default + testing: + - 2d.text.align.default + code: | + @assert ctx.textAlign === 'start'; + + +- name: 2d.text.baseline.valid + testing: + - 2d.text.baseline.get + - 2d.text.baseline.set + code: | + ctx.textBaseline = 'top'; + @assert ctx.textBaseline === 'top'; + + ctx.textBaseline = 'hanging'; + @assert ctx.textBaseline === 'hanging'; + + ctx.textBaseline = 'middle'; + @assert ctx.textBaseline === 'middle'; + + ctx.textBaseline = 'alphabetic'; + @assert ctx.textBaseline === 'alphabetic'; + + ctx.textBaseline = 'ideographic'; + @assert ctx.textBaseline === 'ideographic'; + + ctx.textBaseline = 'bottom'; + @assert ctx.textBaseline === 'bottom'; + +- name: 2d.text.baseline.invalid + testing: + - 2d.text.baseline.invalid + code: | + ctx.textBaseline = 'top'; + ctx.textBaseline = 'bogus'; + @assert ctx.textBaseline === 'top'; + + ctx.textBaseline = 'top'; + ctx.textBaseline = 'MIDDLE'; + @assert ctx.textBaseline === 'top'; + + ctx.textBaseline = 'top'; + ctx.textBaseline = 'middle '; + @assert ctx.textBaseline === 'top'; + + ctx.textBaseline = 'top'; + ctx.textBaseline = 'middle\0'; + @assert ctx.textBaseline === 'top'; + +- name: 2d.text.baseline.default + testing: + - 2d.text.baseline.default + code: | + @assert ctx.textBaseline === 'alphabetic'; + + + + + +- name: 2d.text.draw.fill.basic + desc: fillText draws filled text + manual: + testing: + - 2d.text.draw + - 2d.text.draw.fill + code: | + ctx.fillStyle = '#000'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.strokeStyle = '#f00'; + ctx.font = '35px Arial, sans-serif'; + ctx.fillText('PASS', 5, 35); + expected: &passfill | + size 100 50 + cr.set_source_rgb(0, 0, 0) + cr.rectangle(0, 0, 100, 50) + cr.fill() + cr.set_source_rgb(0, 1, 0) + cr.select_font_face("Arial") + cr.set_font_size(35) + cr.translate(5, 35) + cr.text_path("PASS") + cr.fill() + +- name: 2d.text.draw.fill.unaffected + desc: fillText does not start a new path or subpath + testing: + - 2d.text.draw.fill + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.moveTo(0, 0); + ctx.lineTo(100, 0); + + ctx.font = '35px Arial, sans-serif'; + ctx.fillText('FAIL', 5, 35); + + ctx.lineTo(100, 50); + ctx.lineTo(0, 50); + ctx.fillStyle = '#0f0'; + ctx.fill(); + + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 5,45 == 0,255,0,255; + expected: green + +- name: 2d.text.draw.fill.rtl + desc: fillText respects Right-To-Left Override characters + manual: + testing: + - 2d.text.draw + code: | + ctx.fillStyle = '#000'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.strokeStyle = '#f00'; + ctx.font = '35px Arial, sans-serif'; + ctx.fillText('\u202eFAIL \xa0 \xa0 SSAP', 5, 35); + expected: *passfill + +- name: 2d.text.draw.fill.maxWidth.large + desc: fillText handles maxWidth correctly + manual: + testing: + - 2d.text.draw.maxwidth + code: | + ctx.fillStyle = '#000'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.font = '35px Arial, sans-serif'; + ctx.fillText('PASS', 5, 35, 200); + expected: *passfill + +- name: 2d.text.draw.fill.maxWidth.small + desc: fillText handles maxWidth correctly + testing: + - 2d.text.draw.maxwidth + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.font = '35px Arial, sans-serif'; + ctx.fillText('fail fail fail fail fail', -100, 35, 90); + _assertGreen(ctx, 100, 50); + expected: green + +- name: 2d.text.draw.fill.maxWidth.zero + desc: fillText handles maxWidth correctly + testing: + - 2d.text.draw.maxwidth + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.font = '35px Arial, sans-serif'; + ctx.fillText('fail fail fail fail fail', 5, 35, 0); + _assertGreen(ctx, 100, 50); + expected: green + +- name: 2d.text.draw.fill.maxWidth.negative + desc: fillText handles maxWidth correctly + testing: + - 2d.text.draw.maxwidth + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.font = '35px Arial, sans-serif'; + ctx.fillText('fail fail fail fail fail', 5, 35, -1); + _assertGreen(ctx, 100, 50); + expected: green + +- name: 2d.text.draw.stroke.basic + desc: strokeText draws stroked text + manual: + testing: + - 2d.text.draw + - 2d.text.draw.stroke + code: | + ctx.fillStyle = '#000'; + ctx.fillRect(0, 0, 100, 50); + ctx.strokeStyle = '#0f0'; + ctx.fillStyle = '#f00'; + ctx.lineWidth = 1; + ctx.font = '35px Arial, sans-serif'; + ctx.strokeText('PASS', 5, 35); + expected: | + size 100 50 + cr.set_source_rgb(0, 0, 0) + cr.rectangle(0, 0, 100, 50) + cr.fill() + cr.set_source_rgb(0, 1, 0) + cr.select_font_face("Arial") + cr.set_font_size(35) + cr.set_line_width(1) + cr.translate(5, 35) + cr.text_path("PASS") + cr.stroke() + +- name: 2d.text.draw.stroke.unaffected + desc: strokeText does not start a new path or subpath + testing: + - 2d.text.draw.stroke + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + + ctx.moveTo(0, 0); + ctx.lineTo(100, 0); + + ctx.font = '35px Arial, sans-serif'; + ctx.strokeStyle = '#f00'; + ctx.strokeText('FAIL', 5, 35); + + ctx.lineTo(100, 50); + ctx.lineTo(0, 50); + ctx.fillStyle = '#0f0'; + ctx.fill(); + + @assert pixel 50,25 == 0,255,0,255; + @assert pixel 5,45 == 0,255,0,255; + expected: green + +- name: 2d.text.draw.kern.consistent + desc: Stroked and filled text should have exactly the same kerning so it overlaps + manual: + testing: + - 2d.text.draw + code: | + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.strokeStyle = '#0f0'; + ctx.lineWidth = 3; + ctx.font = '20px Arial, sans-serif'; + ctx.fillText('VAVAVAVAVAVAVA', -50, 25); + ctx.fillText('ToToToToToToTo', -50, 45); + ctx.strokeText('VAVAVAVAVAVAVA', -50, 25); + ctx.strokeText('ToToToToToToTo', -50, 45); + expected: green + +# CanvasTest is: +# A = (0, 0) to (1em, 0.75em) (above baseline) +# B = (0, 0) to (1em, -0.25em) (below baseline) +# C = (0, -0.25em) to (1em, 0.75em) (the em square) plus some Xs above and below +# D = (0, -0.25em) to (1em, 0.75em) (the em square) plus some Xs left and right +# E = (0, -0.25em) to (1em, 0.75em) (the em square) +# space = empty, 1em wide +# +# At 50px, "E" will fill the canvas vertically +# At 67px, "A" will fill the canvas vertically +# +# Ideographic baseline is 0.125em above alphabetic +# Mathematical baseline is 0.375em above alphabetic +# Hanging baseline is 0.500em above alphabetic + +# WebKit doesn't block onload on font loads, so we try to make it a bit more reliable +# by waiting with setTimeout after load before drawing + +- name: 2d.text.draw.fill.maxWidth.fontface + desc: fillText works on @font-face fonts + testing: + - 2d.text.draw.maxwidth + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#0f0'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#f00'; + ctx.fillText('EEEE', -50, 37.5, 40); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.fill.maxWidth.bound + desc: fillText handles maxWidth based on line size, not bounding box size + testing: + - 2d.text.draw.maxwidth + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillText('DD', 0, 37.5, 100); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.fontface + testing: + - 2d.text.font.fontface + fonts: + - CanvasTest + code: | + ctx.font = '67px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillText('AA', 0, 50); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.fontface.repeat + desc: Draw with the font immediately, then wait a bit until and draw again. (This crashes some version of WebKit.) + testing: + - 2d.text.font.fontface + fonts: + - CanvasTest + fonthack: 0 + code: | + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.font = '67px CanvasTest'; + ctx.fillStyle = '#0f0'; + ctx.fillText('AA', 0, 50); + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillText('AA', 0, 50); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.fontface.notinpage + desc: "@font-face fonts should work even if they are not used in the page" + testing: + - 2d.text.font.fontface + fonts: + - CanvasTest + fonthack: 0 + code: | + ctx.font = '67px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillText('AA', 0, 50); + @assert pixel 5,5 ==~ 0,255,0,255; @moz-todo + @assert pixel 95,5 ==~ 0,255,0,255; @moz-todo + @assert pixel 25,25 ==~ 0,255,0,255; @moz-todo + @assert pixel 75,25 ==~ 0,255,0,255; @moz-todo + }), 500); + expected: green + +- name: 2d.text.draw.baseline.top + desc: textBaseline top is the top of the em square (not the bounding box) + testing: + - 2d.text.baseline.top + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textBaseline = 'top'; + ctx.fillText('CC', 0, 0); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; + @assert pixel 95,45 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.baseline.bottom + desc: textBaseline bottom is the bottom of the em square (not the bounding box) + testing: + - 2d.text.baseline.bottom + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textBaseline = 'bottom'; + ctx.fillText('CC', 0, 50); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; + @assert pixel 95,45 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.baseline.middle + desc: textBaseline middle is the middle of the em square (not the bounding box) + testing: + - 2d.text.baseline.middle + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textBaseline = 'middle'; + ctx.fillText('CC', 0, 25); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; + @assert pixel 95,45 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.baseline.alphabetic + testing: + - 2d.text.baseline.alphabetic + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textBaseline = 'alphabetic'; + ctx.fillText('CC', 0, 37.5); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; + @assert pixel 95,45 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.baseline.ideographic + testing: + - 2d.text.baseline.ideographic + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textBaseline = 'ideographic'; + ctx.fillText('CC', 0, 31.25); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; @moz-todo + @assert pixel 95,45 ==~ 0,255,0,255; @moz-todo + }), 500); + expected: green + +- name: 2d.text.draw.baseline.hanging + testing: + - 2d.text.baseline.hanging + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textBaseline = 'hanging'; + ctx.fillText('CC', 0, 12.5); + @assert pixel 5,5 ==~ 0,255,0,255; @moz-todo + @assert pixel 95,5 ==~ 0,255,0,255; @moz-todo + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; + @assert pixel 95,45 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.align.left + desc: textAlign left is the left of the first em square (not the bounding box) + testing: + - 2d.text.align.left + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textAlign = 'left'; + ctx.fillText('DD', 0, 37.5); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; + @assert pixel 95,45 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.align.right + desc: textAlign right is the right of the last em square (not the bounding box) + testing: + - 2d.text.align.right + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textAlign = 'right'; + ctx.fillText('DD', 100, 37.5); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; + @assert pixel 95,45 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.align.start.ltr + desc: textAlign start with ltr is the left edge + testing: + - 2d.text.align.left + fonts: + - CanvasTest + canvas: width="100" height="50" dir="ltr" + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textAlign = 'start'; + ctx.fillText('DD', 0, 37.5); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; + @assert pixel 95,45 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.align.start.rtl + desc: textAlign start with rtl is the right edge + testing: + - 2d.text.align.right + - 2d.text.draw.direction + fonts: + - CanvasTest + canvas: width="100" height="50" dir="rtl" + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textAlign = 'start'; + ctx.fillText('DD', 100, 37.5); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; + @assert pixel 95,45 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.align.end.ltr + desc: textAlign end with ltr is the right edge + testing: + - 2d.text.align.right + fonts: + - CanvasTest + canvas: width="100" height="50" dir="ltr" + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textAlign = 'end'; + ctx.fillText('DD', 100, 37.5); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; + @assert pixel 95,45 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.align.end.rtl + desc: textAlign end with rtl is the left edge + testing: + - 2d.text.align.left + - 2d.text.draw.direction + fonts: + - CanvasTest + canvas: width="100" height="50" dir="rtl" + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textAlign = 'end'; + ctx.fillText('DD', 0, 37.5); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; + @assert pixel 95,45 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.align.center + desc: textAlign center is the center of the em squares (not the bounding box) + testing: + - 2d.text.align.center + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textAlign = 'center'; + ctx.fillText('DD', 50, 37.5); + @assert pixel 5,5 ==~ 0,255,0,255; + @assert pixel 95,5 ==~ 0,255,0,255; + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + @assert pixel 5,45 ==~ 0,255,0,255; + @assert pixel 95,45 ==~ 0,255,0,255; + }), 500); + expected: green + + +- name: 2d.text.draw.space.basic + desc: U+0020 is rendered the correct size (1em wide) + testing: + - 2d.text.draw.spaces + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillText('E EE', -100, 37.5); + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.space.collapse.space + desc: Space characters are converted to U+0020, and collapsed (per CSS) + testing: + - 2d.text.draw.spaces + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillText('E EE', -100, 37.5); + @assert pixel 25,25 ==~ 0,255,0,255; @moz-todo + @assert pixel 75,25 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.space.collapse.other + desc: Space characters are converted to U+0020, and collapsed (per CSS) + testing: + - 2d.text.draw.spaces + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillText('E \x09\x0a\x0c\x0d \x09\x0a\x0c\x0dEE', -100, 37.5); + @assert pixel 25,25 ==~ 0,255,0,255; @moz-todo + @assert pixel 75,25 ==~ 0,255,0,255; @moz-todo + }), 500); + expected: green + +- name: 2d.text.draw.space.collapse.nonspace + desc: Non-space characters are not converted to U+0020 and collapsed + testing: + - 2d.text.draw.spaces + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillText('E\x0b EE', -150, 37.5); + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.space.collapse.start + desc: Space characters at the start of a line are collapsed (per CSS) + testing: + - 2d.text.draw.spaces + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.fillText(' EE', 0, 37.5); + @assert pixel 25,25 ==~ 0,255,0,255; @moz-todo + @assert pixel 75,25 ==~ 0,255,0,255; + }), 500); + expected: green + +- name: 2d.text.draw.space.collapse.end + desc: Space characters at the end of a line are collapsed (per CSS) + testing: + - 2d.text.draw.spaces + fonts: + - CanvasTest + code: | + ctx.font = '50px CanvasTest'; + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.fillStyle = '#f00'; + ctx.fillRect(0, 0, 100, 50); + ctx.fillStyle = '#0f0'; + ctx.textAlign = 'right'; + ctx.fillText('EE ', 100, 37.5); + @assert pixel 25,25 ==~ 0,255,0,255; + @assert pixel 75,25 ==~ 0,255,0,255; @moz-todo + }), 500); + expected: green + + + + +- name: 2d.text.measure.width.basic + testing: + - 2d.text.measure + fonts: + - CanvasTest + code: | + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.font = '50px CanvasTest'; + @assert ctx.measureText('A').width === 50; + @assert ctx.measureText('AA').width === 100; + @assert ctx.measureText('ABCD').width === 200; + + ctx.font = '100px CanvasTest'; + @assert ctx.measureText('A').width === 100; + }), 500); + +- name: 2d.text.measure.width.empty + desc: The empty string has zero width + testing: + - 2d.text.measure + fonts: + - CanvasTest + code: | + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.font = '50px CanvasTest'; + @assert ctx.measureText("").width === 0; + }), 500); + +- name: 2d.text.measure.width.space + desc: Space characters are converted to U+0020 and collapsed (per CSS) + testing: + - 2d.text.measure.spaces + fonts: + - CanvasTest + code: | + deferTest(); + setTimeout(t.step_func_done(function () { + ctx.font = '50px CanvasTest'; + @assert ctx.measureText('A B').width === 150; + @assert ctx.measureText('A B').width === 150; @moz-todo + @assert ctx.measureText('A \x09\x0a\x0c\x0d \x09\x0a\x0c\x0dB').width === 150; @moz-todo + @assert ctx.measureText('A \x0b B').width >= 200; + + @assert ctx.measureText(' AB').width === 100; @moz-todo + @assert ctx.measureText('AB ').width === 100; @moz-todo + }), 500); + +# TODO: shadows, alpha, composite, clip diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/.gitkeep b/tests/wpt/web-platform-tests/2dcontext/transformations/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.order.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.order.html new file mode 100644 index 00000000000..8209ad66d42 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.order.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.transformation.order + + + + + + +

            2d.transformation.order

            +

            Transformations are applied in the right order

            + + +

            Actual output:

            +

            FAIL (fallback content)

            +

            Expected output:

            +

              + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.direction.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.direction.html new file mode 100644 index 00000000000..5113fa23827 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.direction.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.transformation.rotate.direction + + + + + + +

              2d.transformation.rotate.direction

              +

              rotate() is clockwise

              + + +

              Actual output:

              +

              FAIL (fallback content)

              +

              Expected output:

              +

                + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.nonfinite.html new file mode 100644 index 00000000000..1726dcf5b1b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.nonfinite.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.transformation.rotate.nonfinite + + + + + + +

                2d.transformation.rotate.nonfinite

                +

                rotate() with Infinity/NaN is ignored

                + + +

                Actual output:

                +

                FAIL (fallback content)

                +

                Expected output:

                +

                  + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.radians.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.radians.html new file mode 100644 index 00000000000..8cfeb6fd170 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.radians.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.transformation.rotate.radians + + + + + + +

                  2d.transformation.rotate.radians

                  +

                  rotate() uses radians

                  + + +

                  Actual output:

                  +

                  FAIL (fallback content)

                  +

                  Expected output:

                  +

                    + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.wrap.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.wrap.html new file mode 100644 index 00000000000..fbfba2a291f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.wrap.html @@ -0,0 +1,38 @@ + + +Canvas test: 2d.transformation.rotate.wrap + + + + + + +

                    2d.transformation.rotate.wrap

                    +

                    rotate() wraps large positive values correctly

                    + + +

                    Actual output:

                    +

                    FAIL (fallback content)

                    +

                    Expected output:

                    +

                      + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.wrapnegative.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.wrapnegative.html new file mode 100644 index 00000000000..a695e7b397b --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.wrapnegative.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.transformation.rotate.wrapnegative + + + + + + +

                      2d.transformation.rotate.wrapnegative

                      +

                      rotate() wraps large negative values correctly

                      + + +

                      Actual output:

                      +

                      FAIL (fallback content)

                      +

                      Expected output:

                      +

                        + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.zero.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.zero.html new file mode 100644 index 00000000000..cd74260e756 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.rotate.zero.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.transformation.rotate.zero + + + + + + +

                        2d.transformation.rotate.zero

                        +

                        rotate() by 0 does nothing

                        + + +

                        Actual output:

                        +

                        FAIL (fallback content)

                        +

                        Expected output:

                        +

                          + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.basic.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.basic.html new file mode 100644 index 00000000000..a083a6514ae --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.basic.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.transformation.scale.basic + + + + + + +

                          2d.transformation.scale.basic

                          +

                          scale() works

                          + + +

                          Actual output:

                          +

                          FAIL (fallback content)

                          +

                          Expected output:

                          +

                            + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.large.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.large.html new file mode 100644 index 00000000000..926530d1f7e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.large.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.transformation.scale.large + + + + + + +

                            2d.transformation.scale.large

                            +

                            scale() with large scale factors works

                            + +

                            Not really that large at all, but it hits the limits in Firefox. +

                            Actual output:

                            +

                            FAIL (fallback content)

                            +

                            Expected output:

                            +

                              + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.multiple.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.multiple.html new file mode 100644 index 00000000000..9856798be91 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.multiple.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.transformation.scale.multiple + + + + + + +

                              2d.transformation.scale.multiple

                              +

                              Multiple scale()s combine

                              + + +

                              Actual output:

                              +

                              FAIL (fallback content)

                              +

                              Expected output:

                              +

                                + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.negative.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.negative.html new file mode 100644 index 00000000000..af32851651d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.negative.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.transformation.scale.negative + + + + + + +

                                2d.transformation.scale.negative

                                +

                                scale() with negative scale factors works

                                + + +

                                Actual output:

                                +

                                FAIL (fallback content)

                                +

                                Expected output:

                                +

                                  + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.nonfinite.html new file mode 100644 index 00000000000..b9788885f0d --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.nonfinite.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.transformation.scale.nonfinite + + + + + + +

                                  2d.transformation.scale.nonfinite

                                  +

                                  scale() with Infinity/NaN is ignored

                                  + + +

                                  Actual output:

                                  +

                                  FAIL (fallback content)

                                  +

                                  Expected output:

                                  +

                                    + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.zero.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.zero.html new file mode 100644 index 00000000000..80e79a98825 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.scale.zero.html @@ -0,0 +1,46 @@ + + +Canvas test: 2d.transformation.scale.zero + + + + + + +

                                    2d.transformation.scale.zero

                                    +

                                    scale() with a scale factor of zero works

                                    + + +

                                    Actual output:

                                    +

                                    FAIL (fallback content)

                                    +

                                    Expected output:

                                    +

                                      + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.multiple.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.multiple.html new file mode 100644 index 00000000000..79caa63080e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.multiple.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.transformation.setTransform.multiple + + + + + + +

                                      2d.transformation.setTransform.multiple

                                      +

                                      + + +

                                      Actual output:

                                      +

                                      FAIL (fallback content)

                                      +

                                      Expected output:

                                      +

                                        + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.nonfinite.html new file mode 100644 index 00000000000..4b5ebd6c737 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.nonfinite.html @@ -0,0 +1,110 @@ + + +Canvas test: 2d.transformation.setTransform.nonfinite + + + + + + +

                                        2d.transformation.setTransform.nonfinite

                                        +

                                        setTransform() with Infinity/NaN is ignored

                                        + + +

                                        Actual output:

                                        +

                                        FAIL (fallback content)

                                        +

                                        Expected output:

                                        +

                                          + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.skewed.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.skewed.html new file mode 100644 index 00000000000..d411e544bbd --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.setTransform.skewed.html @@ -0,0 +1,55 @@ + + +Canvas test: 2d.transformation.setTransform.skewed + + + + + + +

                                          2d.transformation.setTransform.skewed

                                          +

                                          + + +

                                          Actual output:

                                          +

                                          FAIL (fallback content)

                                          +

                                          Expected output:

                                          +

                                            + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.transform.identity.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.transform.identity.html new file mode 100644 index 00000000000..bf88557b93e --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.transform.identity.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.transformation.transform.identity + + + + + + +

                                            2d.transformation.transform.identity

                                            +

                                            transform() with the identity matrix does nothing

                                            + + +

                                            Actual output:

                                            +

                                            FAIL (fallback content)

                                            +

                                            Expected output:

                                            +

                                              + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.transform.multiply.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.transform.multiply.html new file mode 100644 index 00000000000..0313602abd8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.transform.multiply.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.transformation.transform.multiply + + + + + + +

                                              2d.transformation.transform.multiply

                                              +

                                              transform() multiplies the CTM

                                              + + +

                                              Actual output:

                                              +

                                              FAIL (fallback content)

                                              +

                                              Expected output:

                                              +

                                                + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.transform.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.transform.nonfinite.html new file mode 100644 index 00000000000..1b12766cd74 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.transform.nonfinite.html @@ -0,0 +1,110 @@ + + +Canvas test: 2d.transformation.transform.nonfinite + + + + + + +

                                                2d.transformation.transform.nonfinite

                                                +

                                                transform() with Infinity/NaN is ignored

                                                + + +

                                                Actual output:

                                                +

                                                FAIL (fallback content)

                                                +

                                                Expected output:

                                                +

                                                  + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.transform.skewed.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.transform.skewed.html new file mode 100644 index 00000000000..cf723c7c202 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.transform.skewed.html @@ -0,0 +1,55 @@ + + +Canvas test: 2d.transformation.transform.skewed + + + + + + +

                                                  2d.transformation.transform.skewed

                                                  +

                                                  transform() with skewy matrix transforms correctly

                                                  + + +

                                                  Actual output:

                                                  +

                                                  FAIL (fallback content)

                                                  +

                                                  Expected output:

                                                  +

                                                    + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.translate.basic.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.translate.basic.html new file mode 100644 index 00000000000..0238f8d0b00 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.translate.basic.html @@ -0,0 +1,33 @@ + + +Canvas test: 2d.transformation.translate.basic + + + + + + +

                                                    2d.transformation.translate.basic

                                                    +

                                                    translate() works

                                                    + + +

                                                    Actual output:

                                                    +

                                                    FAIL (fallback content)

                                                    +

                                                    Expected output:

                                                    +

                                                      + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.translate.nonfinite.html b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.translate.nonfinite.html new file mode 100644 index 00000000000..d0ff4d7487c --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/2d.transformation.translate.nonfinite.html @@ -0,0 +1,42 @@ + + +Canvas test: 2d.transformation.translate.nonfinite + + + + + + +

                                                      2d.transformation.translate.nonfinite

                                                      +

                                                      translate() with Infinity/NaN is ignored

                                                      + + +

                                                      Actual output:

                                                      +

                                                      FAIL (fallback content)

                                                      +

                                                      Expected output:

                                                      +

                                                        + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/canvas_transformations_scale_001-ref.htm b/tests/wpt/web-platform-tests/2dcontext/transformations/canvas_transformations_scale_001-ref.htm new file mode 100644 index 00000000000..1201bcca9f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/canvas_transformations_scale_001-ref.htm @@ -0,0 +1,11 @@ + + + + HTML5 Canvas Test: scale() transformation + + + +

                                                        Description: The scale(x, y) method must add the scaling transformation described by the arguments to the transformation matrix.

                                                        +
                                                        black rectangle
                                                        + + diff --git a/tests/wpt/web-platform-tests/2dcontext/transformations/canvas_transformations_scale_001.htm b/tests/wpt/web-platform-tests/2dcontext/transformations/canvas_transformations_scale_001.htm new file mode 100644 index 00000000000..4c027202e7f --- /dev/null +++ b/tests/wpt/web-platform-tests/2dcontext/transformations/canvas_transformations_scale_001.htm @@ -0,0 +1,30 @@ + + + + HTML5 Canvas Test: scale() transformation + + + + + + + +

                                                        Description: The scale(x, y) method must add the scaling transformation described by the arguments to the transformation matrix.

                                                        + Browser does not support HTML5 Canvas. + + diff --git a/tests/wpt/web-platform-tests/CONTRIBUTING.md b/tests/wpt/web-platform-tests/CONTRIBUTING.md new file mode 100644 index 00000000000..0e7968ab6bc --- /dev/null +++ b/tests/wpt/web-platform-tests/CONTRIBUTING.md @@ -0,0 +1,29 @@ +Grant of License +---------------- + +By contributing to this repository, you and the company you represent, if the +company holds any copyrights in the contribution, grant to the W3C a perpetual, +non-exclusive, royalty-free, world-wide right and license under all of your +copyrights in this contribution to copy, publish, use, and modify the +contribution and to distribute the contribution under a BSD License or one with +more restrictive terms, as well as a right and license of the same scope to any +derivative works prepared by the W3C and based on or incorporating all or part +of the contribution. You further agree that any derivative works of this +contribution prepared by the W3C shall be solely owned by the W3C. + +You state, to the best of your knowledge, that you, or the company you +represent, have all rights necessary to contribute the materials. + +W3C will retain attribution of initial authorship to you. The W3C makes no +a-priori commitment to support or distribute contributions. + +Disclaimer +---------- + +All content from this repository is provided as is, and W3C makes no +representations or warranties, express or implied, including, but not limited +to, warranties of merchantability, fitness for a particular purpose, +non-infringement, or title; nor that the contents of this repository are +suitable for any purpose. We make no representations, express or implied, that +the content of this repository or the use thereof indicates conformance to a +specification. All content is provided as-is to help reach interoperability. diff --git a/tests/wpt/web-platform-tests/DOMEvents/ClickFakeEvent.nondocument.html b/tests/wpt/web-platform-tests/DOMEvents/ClickFakeEvent.nondocument.html new file mode 100644 index 00000000000..30e15b8e44a --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/ClickFakeEvent.nondocument.html @@ -0,0 +1,19 @@ + +Click event on an element not in the document + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/DOMEvents/constructors.html b/tests/wpt/web-platform-tests/DOMEvents/constructors.html new file mode 100644 index 00000000000..b41d1d7bd0c --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/constructors.html @@ -0,0 +1,147 @@ + + +Event constructors + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/DOMEvents/event-phases-order.html b/tests/wpt/web-platform-tests/DOMEvents/event-phases-order.html new file mode 100644 index 00000000000..d2dc4048787 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/event-phases-order.html @@ -0,0 +1,28 @@ + + +Event phases order + + +
                                                        + + +
                                                        +
                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/DOMEvents/init-event-while-dispatching.html b/tests/wpt/web-platform-tests/DOMEvents/init-event-while-dispatching.html new file mode 100644 index 00000000000..2aa1f6701c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/init-event-while-dispatching.html @@ -0,0 +1,83 @@ + + +Re-initializing events while dispatching them + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/Status.html b/tests/wpt/web-platform-tests/DOMEvents/tests/Status.html new file mode 100644 index 00000000000..5599395549b --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/Status.html @@ -0,0 +1,26 @@ + + + + DOM Level 3 Events Test Status + + + +

                                                        DOM Level 3 Events Test Suite Status

                                                        + +

                                                        This test suite is part of the +Web Application WG's +Test Repository as described in WebApps' +Testing Wiki. +

                                                        + +

                                                        The test suite is for the +DOM Level 3 Events specification. +

                                                        + +
                                                          +
                                                        • Test suite status: all of the tests in the approved directory are Approved by WebApps' testing group
                                                        • +
                                                        • Test Facilitator: Alex Kuang
                                                        • +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/DOM.event.flow.html b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/DOM.event.flow.html new file mode 100644 index 00000000000..c4d1fcfc021 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/DOM.event.flow.html @@ -0,0 +1,64 @@ + + + + Event dispatch and DOM event flow + + + + +
                                                        + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/EventListener.eventHandler.html b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/EventListener.eventHandler.html new file mode 100644 index 00000000000..992ff1cc973 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/EventListener.eventHandler.html @@ -0,0 +1,60 @@ + + + + EventLister member: handleEvent() + + + + +
                                                        + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/EventObject.after.dispatchEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/EventObject.after.dispatchEvent.html new file mode 100644 index 00000000000..d8ab8d4f26a --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/EventObject.after.dispatchEvent.html @@ -0,0 +1,44 @@ + + + + Event.defaultPrevented is reset after dipatchEvent() + + + + +
                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/EventObject.multiple.dispatchEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/EventObject.multiple.dispatchEvent.html new file mode 100644 index 00000000000..e8555bd78b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/EventObject.multiple.dispatchEvent.html @@ -0,0 +1,55 @@ + + + + Multiple dispatchEvent() and stopPropagation() + + + + +
                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/ProcessingInstruction.DOMCharacterDataModified.html b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/ProcessingInstruction.DOMCharacterDataModified.html new file mode 100644 index 00000000000..329bc04c871 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/ProcessingInstruction.DOMCharacterDataModified.html @@ -0,0 +1,32 @@ + + + + ProcessingInstruction.data and DOMCharacterDataModified event + + + + +
                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/dispatchEvent.click.checkbox.html b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/dispatchEvent.click.checkbox.html new file mode 100644 index 00000000000..4a2af9d1929 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/dispatchEvent.click.checkbox.html @@ -0,0 +1,80 @@ + + + + MouseEvent: Default action and synthetic click event + + + + +
                                                        + +
                                                        + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/domnodeinserted.html b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/domnodeinserted.html new file mode 100644 index 00000000000..934a7eaaf7c --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/domnodeinserted.html @@ -0,0 +1,26 @@ + +MutationEvent: DOMNodeInserted Event Type + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopImmediatePropagation.effect.html b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopImmediatePropagation.effect.html new file mode 100644 index 00000000000..99facb969d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopImmediatePropagation.effect.html @@ -0,0 +1,71 @@ + + + + Event.stopImmediatePropagation() immediate effect + + + + +
                                                        + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopPropagation.deferred.effect.html b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopPropagation.deferred.effect.html new file mode 100644 index 00000000000..65872200648 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopPropagation.deferred.effect.html @@ -0,0 +1,70 @@ + + + + Event.stopPropagation() deferred effect + + + + +
                                                        + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopPropagation.dispatchEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopPropagation.dispatchEvent.html new file mode 100644 index 00000000000..5c31a1d1330 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/stopPropagation.dispatchEvent.html @@ -0,0 +1,65 @@ + + + + Calling stopPropagation() prior to dispatchEvent() + + + + +
                                                        + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/approved/support/ProcessingInstruction.DOMCharacterDataModified.xml b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/support/ProcessingInstruction.DOMCharacterDataModified.xml new file mode 100644 index 00000000000..7c0091a8f91 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/approved/support/ProcessingInstruction.DOMCharacterDataModified.xml @@ -0,0 +1,32 @@ + + + + ProcessingInstruction.data and DOMCharacterDataModified event + +
                                                        + + + + +
                                                        \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/CompositionEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/CompositionEvent.html new file mode 100644 index 00000000000..0f8242b07d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/CompositionEvent.html @@ -0,0 +1,69 @@ + + + + Composition Event Types: compositionstart, compositionupdate, compositionend + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: The composition events occur in a set order relative to one another: + 1. compositionstart, 2. compositionupdate (multiple events), 3. compositionend. +

                                                        + +
                                                        +            
                                                        +
                                                        +            Steps:
                                                        +            1) Open Japanese Microsoft IME and select Hiragana input method
                                                        +            2) Click at the above textbox and then type 'a' using keyboard
                                                        +            3) Press the '{Enter}' key to complete the IME composition
                                                        +            4) Click here to test again if not following the steps exactly
                                                        +        
                                                        + +

                                                        Test passes if the word "PASS" appears below and nothing is typed to the textbox after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.attrChange.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.attrChange.html new file mode 100644 index 00000000000..12c45fc848e --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.attrChange.html @@ -0,0 +1,65 @@ + + + + MutationEvent.attrChange for DOMAttrModified Event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: MutationEvent.attrChange indicates the type of change which triggered the DOMAttrModified event. +

                                                        + +
                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.attrName.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.attrName.html new file mode 100644 index 00000000000..ca1ad97d24d --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.attrName.html @@ -0,0 +1,66 @@ + + + + MutationEvent.attrName for DOMAttrModified Event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: MutationEvent.attrName indicates the name of the changed Attr node + in a DOMAttrModified event. +

                                                        + +
                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.html new file mode 100644 index 00000000000..c229abe96e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.html @@ -0,0 +1,66 @@ + + + + Mutation Event Type: DOMAttrModified + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: DOMAttrModified event fires after an Attr.value has been + modified and after an Attr node has been added to or removed from an Element. +

                                                        + +
                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.newValue.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.newValue.html new file mode 100644 index 00000000000..77b8a41e1a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.newValue.html @@ -0,0 +1,65 @@ + + + + MutationEvent.newValue for DOMAttrModified Event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: MutationEvent.newValue indicates the new value of the Attr node in DOMAttrModified events. +

                                                        + +
                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.prevValue.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.prevValue.html new file mode 100644 index 00000000000..31fbec77644 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.prevValue.html @@ -0,0 +1,65 @@ + + + + MutationEvent.prevValue for DOMAttrModified Event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: MutationEvent.prevValue indicates the previous value of the Attr node in DOMAttrModified events. +

                                                        + +
                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.relatedNode.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.relatedNode.html new file mode 100644 index 00000000000..5c30dabe22f --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMAttrModified.relatedNode.html @@ -0,0 +1,66 @@ + + + + MutationEvent.relatedNode for DOMAttrModified Event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: In the case of the DOMAttrModified event, MutationEvent.relatedNode + indicates the Attr node which was modified, added, or removed. +

                                                        + +
                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMCharacterDataModified.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMCharacterDataModified.html new file mode 100644 index 00000000000..31d4fbf08f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMCharacterDataModified.html @@ -0,0 +1,62 @@ + + + + MutationEvent: DOMCharacterDataModified Event Type + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: DOMCharacterDataModified event fires after CharacterData.data has been modified. +

                                                        + + +
                                                        Hello
                                                        +
                                                        +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMNodeInserted.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMNodeInserted.html new file mode 100644 index 00000000000..0e0d26d1aae --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMNodeInserted.html @@ -0,0 +1,64 @@ + + + + MutationEvent: DOMNodeInserted Event Type + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: DOMNodeInserted event fires when a node has been added as a child of another node. +

                                                        + + +
                                                        +
                                                        +
                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMNodeRemoved.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMNodeRemoved.html new file mode 100644 index 00000000000..34d7112027c --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMNodeRemoved.html @@ -0,0 +1,62 @@ + + + + MutationEvent: DOMNodeRemoved Event Type + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: DOMNodeRemoved event fires when a node is being removed from its parent node. +

                                                        + + +
                                                        +
                                                        +
                                                        +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMSubtreeModified.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMSubtreeModified.html new file mode 100644 index 00000000000..1819f563dac --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/DOMSubtreeModified.html @@ -0,0 +1,72 @@ + + + + MutationEvent: DOMSubtreeModified Event Type + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: DOMSubtreeModified event fires after any other events + caused by the mutation(s) have occurred. +

                                                        + + +
                                                        + +
                                                        +
                                                        +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/Event.defaultPrevented.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/Event.defaultPrevented.html new file mode 100644 index 00000000000..d1e0244c16b --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/Event.defaultPrevented.html @@ -0,0 +1,68 @@ + + + + W3C DOM Level 3 Event Object Property: defaultPrevented + + + +

                                                        + Test Description: + Event listeners can cancel default actions of cancelable event objects by invoking the Event.preventDefault() + method, and determine whether an event has been canceled through the Event.defaultPrevented attribute. +

                                                        + + Click the hyperlink: + http://samples.msdn.microsoft.com/ietestcenter + +

                                                        Test passes if the word "PASS" appears below after clicking the hyperlink and the page does not navigate away.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/Event.eventPhase.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/Event.eventPhase.html new file mode 100644 index 00000000000..ab297e7c553 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/Event.eventPhase.html @@ -0,0 +1,77 @@ + + + + W3C DOM Level 2 Event Object Property: eventPhase + + + +

                                                        + Test Description: + eventPhase is used to indicate which phase of event flow is currently being accomplished. +

                                                        + +
                                                        + Double click here: +
                                                        + +

                                                        Test passes if the word "PASS" appears below after double clicking the above textbox.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/Event.stopPropagation.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/Event.stopPropagation.html new file mode 100644 index 00000000000..9f796db6508 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/Event.stopPropagation.html @@ -0,0 +1,85 @@ + + + + W3C DOM Level 3 Event Object method: stopPropagation + + + +

                                                        + Test Description: + stopPropagation prevents other event listeners from being triggered. +

                                                        + +
                                                        + Click the button: +
                                                        + +

                                                        Test passes if the word "PASS" appears below after clicking the above button using mouse.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/KeyboardEvent.key.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/KeyboardEvent.key.html new file mode 100644 index 00000000000..4c1d254474a --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/KeyboardEvent.key.html @@ -0,0 +1,56 @@ + + + + KeyboardEvent Object Property: key + + + +

                                                        Test Description: KeyboardEvent Object Property key holds the key value of the key pressed

                                                        + + Type 'a' here: + +

                                                        Test passes if the word "PASS" appears below after typing 'a' in the above textbox using keyboard.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/KeyboardEvent.location.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/KeyboardEvent.location.html new file mode 100644 index 00000000000..63fe460f3d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/KeyboardEvent.location.html @@ -0,0 +1,74 @@ + + + + KeyboardEvent.location + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: KeyboardEvent.location attribute contains an indication of the + location of the key on the device. +

                                                        + +
                                                        +            
                                                        +
                                                        +            Steps:
                                                        +            1) Type 'a' in the above textbox using keyboard
                                                        +            2) Press '{CTRL}' key on the left side of the keyboard
                                                        +            3) Press '{SHIFT}' key on the right side of the keyboard
                                                        +            4) Click here to test again if not following the steps exactly
                                                        +        
                                                        + +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/KeyboardEvent.modifiers.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/KeyboardEvent.modifiers.html new file mode 100644 index 00000000000..ee490b47ec6 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/KeyboardEvent.modifiers.html @@ -0,0 +1,66 @@ + + + + KeyboardEvent.getModifierState() and 'AltGraph' modifier key + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: Some operating systems simulate the 'AltGraph' modifier key + with the combination of the 'Alt' and 'Control' modifier keys. Implementations + are encouraged to use the 'AltGraph' modifier key. +

                                                        + +
                                                        +            
                                                        +
                                                        +            Steps:
                                                        +            1) Click in the above textbox using mouse
                                                        +            2) Press and hold down '{CTRL}' key and then press '{ALT}' key on the keyboard
                                                        +        
                                                        + +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MouseEvent.button.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MouseEvent.button.html new file mode 100644 index 00000000000..213009f4c4d --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MouseEvent.button.html @@ -0,0 +1,65 @@ + + + + MouseEvent.button for mouseup Event + + + +

                                                        + Test Description: MouseEvent.button value for mouseup event is based on current button pressed. +

                                                        + +
                                                        +            
                                                        +
                                                        +            Steps:
                                                        +            1) Move the mouse pointer to the above textbox
                                                        +            2) Click the mouse button in this order: Left Button, Middle Button, Right Button
                                                        +            3) Click here to test again if not following the steps exactly
                                                        +        
                                                        + +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MouseEvent.image.map.area.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MouseEvent.image.map.area.html new file mode 100644 index 00000000000..17b7dd5ccee --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MouseEvent.image.map.area.html @@ -0,0 +1,70 @@ + + + + MouseEvent event on IMG element with MAP and AREA elements + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: MouseEvent event fires on the AREA element when click the MAP AREA on an image +

                                                        + + + + + + + +

                                                        + Steps: +

                                                          +
                                                        1. Click at the arrow pointer symbol on the bottom-right corner of the image. +
                                                        +

                                                        + +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MouseEvent.preventDefault.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MouseEvent.preventDefault.html new file mode 100644 index 00000000000..e6cb57806db --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MouseEvent.preventDefault.html @@ -0,0 +1,94 @@ + + + + MouseEvent: mousedown - preventDefault() for text selection + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: MouseEvent - Text selection is disabled after cancelling mousedown event. +

                                                        + +   Use mouse to select the whole line here   + +

                                                        + Steps: +

                                                          +
                                                        1. Make sure text in the above green box can be selected using mouse +
                                                        2. Dismiss the selection, if any, by clicking at the green box with mouse +
                                                        3. Now, click the button: +
                                                        4. Drag mouse to select the whole line of the text inside the above green box +
                                                        5. Click the button: +
                                                        +

                                                        +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MutationEvent.hasFeature.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MutationEvent.hasFeature.html new file mode 100644 index 00000000000..f550a5366df --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MutationEvent.hasFeature.html @@ -0,0 +1,67 @@ + + + + MutationEvent: feature detection with hasFeature() + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: MutationEvent - feature support detection using DOMImplementation.hasFeature() method +

                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MutationEvent.initMutationEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MutationEvent.initMutationEvent.html new file mode 100644 index 00000000000..3b2bceabf45 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MutationEvent.initMutationEvent.html @@ -0,0 +1,72 @@ + + + + MutationEvent.initMutationEvent() and Event.trusted + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: initMutationEvent initializes attributes of a MutationEvent object. +

                                                        + + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MutationEvent.relatedNode.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MutationEvent.relatedNode.html new file mode 100644 index 00000000000..6b92079ef61 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/MutationEvent.relatedNode.html @@ -0,0 +1,76 @@ + + + + MutationEvent.relatedNode for DOMNodeInserted and DOMNodeRemoved + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: MutationEvent.relatedNode is the parent node of the node being removed for DOMNodeRemoved event; + and, it is the parent node of the node that has been inserted for DOMNodeInserted event +

                                                        + + +
                                                        +
                                                        +
                                                        +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/ProcessingInstruction.DOMCharacterDataModified.fail.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/ProcessingInstruction.DOMCharacterDataModified.fail.html new file mode 100644 index 00000000000..9b0843c115e --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/ProcessingInstruction.DOMCharacterDataModified.fail.html @@ -0,0 +1,18 @@ + + + + ProcessingInstruction.data and DOMCharacterDataModified event + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: DOMCharacterDataModified event fires after ProcessingInstruction.data have been modified, + but the node itself has not been inserted or deleted. The proximal event target of this event shall be the + ProcessingInstruction node. +

                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/ProcessingInstruction.DOMCharacterDataModified.xml b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/ProcessingInstruction.DOMCharacterDataModified.xml new file mode 100644 index 00000000000..0e3912ea7ef --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/ProcessingInstruction.DOMCharacterDataModified.xml @@ -0,0 +1,63 @@ + + + + ProcessingInstruction.data and DOMCharacterDataModified event + + +

                                                        +

                                                        DOM Events

                                                        +

                                                        + Test Description: DOMCharacterDataModified event fires after ProcessingInstruction.data have been modified, + but the node itself has not been inserted or deleted. The proximal event target of this event shall be the + ProcessingInstruction node. +

                                                        + + + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + +

                                                        +
                                                        \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.hasFeature.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.hasFeature.html new file mode 100644 index 00000000000..853cc7c4357 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.hasFeature.html @@ -0,0 +1,60 @@ + + + + TextEvent: feature detection with hasFeature() + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: TextEvent - feature support detection using DOMImplementation.hasFeature() method +

                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.initTextEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.initTextEvent.html new file mode 100644 index 00000000000..52eae11aa9c --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.initTextEvent.html @@ -0,0 +1,66 @@ + + + + TextEvent.initTextEvent() and Event.trusted + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: initTextEvent initializes attributes of a TextEvent object. +

                                                        + + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.IME.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.IME.html new file mode 100644 index 00000000000..af5c7362426 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.IME.html @@ -0,0 +1,69 @@ + + + + TextEvent: inputMode with DOM_INPUT_METHOD_IME + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: TextEvent.inputMode is DOM_INPUT_METHOD_IME (0x04) + when the text string was entered through an Input Method Editor. +

                                                        + + + + + +

                                                        + Steps: +

                                                          +
                                                        1. Open Japanese Microsoft IME and select Hiragana input method +
                                                        2. Click at the above textbox and then type 'a' using keyboard +
                                                        3. Press '{ENTER}' key to complete the IME composition +
                                                        +

                                                        +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.drop.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.drop.html new file mode 100644 index 00000000000..14ffc19765b --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.drop.html @@ -0,0 +1,71 @@ + + + + TextEvent: inputMode with DOM_INPUT_METHOD_DROP + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: TextEvent.inputMode is DOM_INPUT_METHOD_DROP (0x03) + when the text string was inserted as part of a drag-and-drop operation. +

                                                        + + +
                                                        Hello World
                                                        +
                                                        + +
                                                        + +

                                                        + Steps: +

                                                          +
                                                        1. Select "Hello World" inside the green editbox +
                                                        2. Drag-and-drop it ("Hello World") to the textbox below the green editbox +
                                                        +

                                                        +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.keyboard.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.keyboard.html new file mode 100644 index 00000000000..9d679d708e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.keyboard.html @@ -0,0 +1,67 @@ + + + + TextEvent: inputMode with DOM_INPUT_METHOD_KEYBOARD + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: TextEvent.inputMode is DOM_INPUT_METHOD_KEYBOARD (0x01) + when the text string was input through a keyboard. +

                                                        + + + + +

                                                        + Steps: +

                                                          +
                                                        1. Type 'a' in the above texbox using keyboard +
                                                        +

                                                        +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.paste.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.paste.html new file mode 100644 index 00000000000..a93259cd608 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.paste.html @@ -0,0 +1,71 @@ + + + + TextEvent: inputMode with DOM_INPUT_METHOD_PASTE + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: TextEvent.inputMode is DOM_INPUT_METHOD_PASTE (0x02) + when the text string was pasted in from a clipboard. +

                                                        + + +
                                                        Hello World
                                                        +
                                                        + +
                                                        + +

                                                        + Steps: +

                                                          +
                                                        1. Select and copy "Hello World" inside the green editbox +
                                                        2. Paste it ("Hello World") to the textbox below the green editbox +
                                                        +

                                                        +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.script.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.script.html new file mode 100644 index 00000000000..c1327ebae57 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/TextEvent.inputMode.script.html @@ -0,0 +1,63 @@ + + + + TextEvent: inputMode with DOM_INPUT_METHOD_SCRIPT + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: TextEvent.inputMode is DOM_INPUT_METHOD_SCRIPT (0x09) + when the text string was inserted via a script operation on the DOM. +

                                                        + + +
                                                        +
                                                        +
                                                        +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/UIEvent.load.stylesheet.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/UIEvent.load.stylesheet.html new file mode 100644 index 00000000000..a948a2f71a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/UIEvent.load.stylesheet.html @@ -0,0 +1,59 @@ + + + + UIEvent: load event for style sheets + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: UIEvent - load event fires when the DOM Implementation finishes loading + dependent resources, such as style sheets. +

                                                        + + + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.Capture.Bubble.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.Capture.Bubble.html new file mode 100644 index 00000000000..4dfe246136a --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.Capture.Bubble.html @@ -0,0 +1,90 @@ + + + + WheelEvent: wheel Event capturing/bubbling + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: WheelEvent - wheel event bubbles. +

                                                        + + + + +

                                                        + Steps: +

                                                          +
                                                        1. Note: an input device with scroll wheel support (e.g., mouse wheel) is required +
                                                        2. Move the mouse pointer over the above textarea +
                                                        3. Scroll down the mouse wheel 1 or more units +
                                                        +

                                                        +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.ctrlKey.zoom.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.ctrlKey.zoom.html new file mode 100644 index 00000000000..52b17ced96c --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.ctrlKey.zoom.html @@ -0,0 +1,93 @@ + + + + WheelEvent: wheel - MouseEvent.ctrlKey and Zooming + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: The typical default action of the wheel event type, in some cases, is to + zoom the document. If this event is canceled, the implementation must not zoom the document. +

                                                        + +
                                                        + +

                                                        + Steps: +

                                                          +
                                                        1. Note: an input device with scroll wheel support (e.g., mouse wheel) is required +
                                                        2. Make sure the page can be zoomed in/out by holding down '{CTRL}' key + scrolling the mouse wheel on the page +
                                                        3. Now, click the button: +
                                                        4. Press and hold down '{CTRL}' key on the keyboard +
                                                        5. Move the mouse pointer to the center of the page +
                                                        6. Scroll down/up the mouse wheel some units +
                                                        7. Click the button: +
                                                        +

                                                        +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.deltaMode.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.deltaMode.html new file mode 100644 index 00000000000..11761f4083d --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.deltaMode.html @@ -0,0 +1,76 @@ + + + + WheelEvent: wheel - WheelEvent.deltaMode + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: WheelEvent.deltaMode attribute contains an indication of the units of + measurement for the delta values. Its value may be different based on system configuration. +

                                                        + + +
                                                        + TOP TOP TOP TOP TOP TOP TOP + Scroll mouse wheel over here + Scroll mouse wheel over here + Scroll mouse wheel over here + Scroll mouse wheel over here + Scroll mouse wheel over here + Scroll mouse wheel over here + END END END END END END END +
                                                        +
                                                        +

                                                        + Steps: +

                                                          +
                                                        1. Note: an input device with scroll wheel support (e.g., mouse wheel) is required +
                                                        2. Move the mouse pointer over the above green box +
                                                        3. Scroll down the mouse wheel 1 or more units +
                                                        +

                                                        +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.hasFeature.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.hasFeature.html new file mode 100644 index 00000000000..8bd224fa98e --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.hasFeature.html @@ -0,0 +1,60 @@ + + + + WheelEvent: feature detection with hasFeature() + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: WheelEvent - feature support detection using DOMImplementation.hasFeature() method +

                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.initWheelEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.initWheelEvent.html new file mode 100644 index 00000000000..cd8c192e41b --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.initWheelEvent.html @@ -0,0 +1,76 @@ + + + + WheelEvent.initWheelEvent() and Event.trusted + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: initWheelEvent initializes attributes of a WheelEvent object. +

                                                        + + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.preventDefault.scroll.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.preventDefault.scroll.html new file mode 100644 index 00000000000..6cb55a071f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/WheelEvent.preventDefault.scroll.html @@ -0,0 +1,91 @@ + + + + WheelEvent: wheel - preventDefault() for Scrolling + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: The typical default action of the wheel event type is to scroll the document/element + by the indicated amount. If this event is canceled, the implementation must not scroll document/element. +

                                                        + + + + +

                                                        + Steps: +

                                                          +
                                                        1. Note: an input device with scroll wheel support (e.g., mouse wheel) is required +
                                                        2. Make sure the above textarea can be scrolled by scrolling the mouse wheel over it +
                                                        3. Now, click the button: +
                                                        4. Move the mouse pointer over the above textarea +
                                                        5. Scroll down the mouse wheel 1 or more units +
                                                        6. Click the button: +
                                                        +

                                                        +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/abort.img.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/abort.img.html new file mode 100644 index 00000000000..5e403013e29 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/abort.img.html @@ -0,0 +1,74 @@ + + + + W3C DOM Level 3 Event: abort + + + +

                                                        + Test Description: + The abort event fires when the loading of a resource has been aborted. +

                                                        + +

                                                        Before image is loaded below, click here.

                                                        + +
                                                        Loading...
                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/abort.testresult.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/abort.testresult.html new file mode 100644 index 00000000000..b9c37576aa9 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/abort.testresult.html @@ -0,0 +1,30 @@ + + + +

                                                        + Test Description: + The abort event fires when the loading of a resource has been aborted. +

                                                        + +

                                                        Click here to go back to the test page

                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        + +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/blur.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/blur.html new file mode 100644 index 00000000000..0259fe6cb4b --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/blur.html @@ -0,0 +1,57 @@ + + + + W3C DOM Level 3 Event: blur + + + +

                                                        Test Description: blur event fires when an event target loses focus.

                                                        + +
                                                        + Click the textbox and then the button:
                                                        + +
                                                        + +

                                                        Test passes if the word "PASS" appears below after clicking the above textbox and then the button.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/compositionstart.data.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/compositionstart.data.html new file mode 100644 index 00000000000..177c37e8d76 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/compositionstart.data.html @@ -0,0 +1,66 @@ + + + + CompositionEvent.data for compositionstart Event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: The value of the data attribute of the compositionstart event + shall be null for new IME input. +

                                                        + +
                                                        +            
                                                        +
                                                        +            Steps:
                                                        +            1) Open Japanese Microsoft IME and select Hiragana input method
                                                        +            2) Click at the above textbox and then type 'a' using keyboard
                                                        +        
                                                        + +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/compositionstart.keydown.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/compositionstart.keydown.html new file mode 100644 index 00000000000..7316d1a8a30 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/compositionstart.keydown.html @@ -0,0 +1,76 @@ + + + + compositionstart Event and keydown Event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: When a keyboard is used to feed an input method editor, + compositionstart event type is generated after a keydown event. +

                                                        + +
                                                        +            
                                                        +
                                                        +            Steps:
                                                        +            1) Open Japanese Microsoft IME and select Hiragana input method
                                                        +            2) Type 'a' in the above textbox using keyboard
                                                        +            3) Click here to test again if not following the steps exactly
                                                        +        
                                                        + +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/compositionstart.preventDefault.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/compositionstart.preventDefault.html new file mode 100644 index 00000000000..74fc52b5799 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/compositionstart.preventDefault.html @@ -0,0 +1,73 @@ + + + + Cancelling compositionstart Event via Event.preventDefault() + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: The default action of compositionstart event is to launch the appropriate text + composition system. If this event is canceled, the text composition system must not be launched. +

                                                        + +
                                                        +            
                                                        +
                                                        +            Steps:
                                                        +            1) Open Japanese Microsoft IME and select Hiragana input method
                                                        +            2) Click at the above textbox and then type 'a' using keyboard
                                                        +        
                                                        + +

                                                        Test passes if the word "PASS" appears below and nothing is typed to the textbox after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/DOM.event.flow.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/DOM.event.flow.html new file mode 100644 index 00000000000..35355f766b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/DOM.event.flow.html @@ -0,0 +1,64 @@ + + + + Event dispatch and DOM event flow + + + + +
                                                        + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventListener.dispatch.new.event.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventListener.dispatch.new.event.html new file mode 100644 index 00000000000..e0ab7e0d3e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventListener.dispatch.new.event.html @@ -0,0 +1,77 @@ + + + + Dispatch additional events inside an event listener + + + + +
                                                        + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventListener.eventHandler.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventListener.eventHandler.html new file mode 100644 index 00000000000..ed7e9aff280 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventListener.eventHandler.html @@ -0,0 +1,61 @@ + + + + EventLister member: handleEvent() + + + + +
                                                        + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventObject.after.dispatchEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventObject.after.dispatchEvent.html new file mode 100644 index 00000000000..a2e44c9c8cf --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventObject.after.dispatchEvent.html @@ -0,0 +1,45 @@ + + + + Event.defaultPrevented is reset after dipatchEvent() + + + + +
                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventObject.multiple.dispatchEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventObject.multiple.dispatchEvent.html new file mode 100644 index 00000000000..70b2fedbcf0 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/EventObject.multiple.dispatchEvent.html @@ -0,0 +1,56 @@ + + + + Multiple dispatchEvent() and stopPropagation() + + + + +
                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/ProcessingInstruction.DOMCharacterDataModified.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/ProcessingInstruction.DOMCharacterDataModified.html new file mode 100644 index 00000000000..2d91abd496e --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/ProcessingInstruction.DOMCharacterDataModified.html @@ -0,0 +1,34 @@ + + + + ProcessingInstruction.data and DOMCharacterDataModified event + + + + +
                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/dispatchEvent.click.checkbox.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/dispatchEvent.click.checkbox.html new file mode 100644 index 00000000000..8cb548f84c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/dispatchEvent.click.checkbox.html @@ -0,0 +1,80 @@ + + + + MouseEvent: Default action and synthetic click event + + + + +
                                                        + +
                                                        + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/domnodeinserted.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/domnodeinserted.html new file mode 100644 index 00000000000..e5064d8d46c --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/domnodeinserted.html @@ -0,0 +1,26 @@ + +MutationEvent: DOMNodeInserted Event Type + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopImmediatePropagation.effect.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopImmediatePropagation.effect.html new file mode 100644 index 00000000000..f00c749f873 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopImmediatePropagation.effect.html @@ -0,0 +1,72 @@ + + + + Event.stopImmediatePropagation() immediate effect + + + + +
                                                        + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.deferred.effect.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.deferred.effect.html new file mode 100644 index 00000000000..8238fa7d962 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.deferred.effect.html @@ -0,0 +1,71 @@ + + + + Event.stopPropagation() deferred effect + + + + +
                                                        + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.dispatchEvent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.dispatchEvent.html new file mode 100644 index 00000000000..70ff9706290 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/stopPropagation.dispatchEvent.html @@ -0,0 +1,66 @@ + + + + Calling stopPropagation() prior to dispatchEvent() + + + + +
                                                        + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/support/ProcessingInstruction.DOMCharacterDataModified.xml b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/support/ProcessingInstruction.DOMCharacterDataModified.xml new file mode 100644 index 00000000000..7c0091a8f91 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/converted/support/ProcessingInstruction.DOMCharacterDataModified.xml @@ -0,0 +1,32 @@ + + + + ProcessingInstruction.data and DOMCharacterDataModified event + +
                                                        + + + + +
                                                        \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/customevent.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/customevent.html new file mode 100644 index 00000000000..a11ca15570e --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/customevent.html @@ -0,0 +1,61 @@ + + + + W3C DOM L3 Event: CustomEvent + + + +

                                                        + Test Description: + Create and fire CustomEvent using methods: createEvent, initEvent, dispatchEvent. +

                                                        + + + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/dispatchEvent.UNSPECIFIED_EVENT_TYPE_ERR.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/dispatchEvent.UNSPECIFIED_EVENT_TYPE_ERR.html new file mode 100644 index 00000000000..d239f06aa92 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/dispatchEvent.UNSPECIFIED_EVENT_TYPE_ERR.html @@ -0,0 +1,48 @@ + + + + EventException.UNSPECIFIED_EVENT_TYPE_ERR and dispatchEvent() + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: dispatchEvent - EventException UNSPECIFIED_EVENT_TYPE_ERR raises if the Event.type + was not specified by initializing the event before dispatchEvent was called. +

                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/dispatchEvent.click.checkbox.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/dispatchEvent.click.checkbox.html new file mode 100644 index 00000000000..757bb126460 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/dispatchEvent.click.checkbox.html @@ -0,0 +1,93 @@ + + + + MouseEvent: Default action and synthetic click event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: MouseEvent: Default action is performed when a synthetic click event is dispatched on a checkbox element +

                                                        + + + + +

                                                        + Steps: +

                                                          +
                                                        1. Click the button "Click Here" +
                                                        +

                                                        + +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/error.image.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/error.image.html new file mode 100644 index 00000000000..3f55ac9bb90 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/error.image.html @@ -0,0 +1,65 @@ + + + + W3C DOM Level 3 Event: error + + + +

                                                        Test Description: error event fires when an IMG resource failed to load.

                                                        + + ERROR + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/focusin.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/focusin.html new file mode 100644 index 00000000000..9c89bfafea6 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/focusin.html @@ -0,0 +1,61 @@ + + + + W3C DOM Level 3 Event: focusin + + + +

                                                        + Test Description: + focusin event fires when an event target is about to receive focus. +

                                                        + +
                                                        + Click here: +
                                                        + +

                                                        Test passes if the word "PASS" appears below after clicking the above textbox using mouse.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/focusin.relatedTarget.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/focusin.relatedTarget.html new file mode 100644 index 00000000000..a36d254666d --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/focusin.relatedTarget.html @@ -0,0 +1,64 @@ + + + + FocusEvent.relatedTarget for focusin Event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: FocusEvent.relatedTarget for focusin event is the event target losing focus. +

                                                        + +
                                                        +             
                                                        +
                                                        +            Steps:
                                                        +            1) Click in the above textbox using mouse
                                                        +            2) Then click the above button using mouse
                                                        +        
                                                        + +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/focusout.relatedTarget.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/focusout.relatedTarget.html new file mode 100644 index 00000000000..bc02267ed7a --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/focusout.relatedTarget.html @@ -0,0 +1,64 @@ + + + + FocusEvent.relatedTarget for focusout Event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: FocusEvent.relatedTarget for focusout event is the event target receiving focus. +

                                                        + +
                                                        +             
                                                        +
                                                        +            Steps:
                                                        +            1) Click in the above textbox using mouse
                                                        +            2) Then click the above button using mouse
                                                        +        
                                                        + +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/hasFeature.Events.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/hasFeature.Events.html new file mode 100644 index 00000000000..e0c9ba18d82 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/hasFeature.Events.html @@ -0,0 +1,52 @@ + + + + DOMImplementation.hasFeature() with Events, 3.0 and 2.0 + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: Since DOM Level 3 Events is built on top of DOM Level 2 Events, an + implementation that returns true for "Events" and "3.0" shall also return true for the + parameters "Events" and "2.0". +

                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/hasFeature.feature.string.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/hasFeature.feature.string.html new file mode 100644 index 00000000000..e96c39c8556 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/hasFeature.feature.string.html @@ -0,0 +1,80 @@ + + + + DOMImplementation.hasFeature() and Extended Feature String + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: each interface defined in DOM Level 3 Events has a feature string, + which may act as a base feature string or as an extended feature string. +

                                                        + +

                                                        Test passes if the word "PASS" appears below.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/load.image.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/load.image.html new file mode 100644 index 00000000000..1cff3183090 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/load.image.html @@ -0,0 +1,82 @@ + + + + W3C DOM Level 3 Event: load + + + +

                                                        + Test Description: + load event fires when the DOM implementation finishes loading the resource (such as the document) + and any dependent resources (such as images, style sheets, or scripts). +

                                                        + +

                                                        + + + +

                                                        Test passes if the word "PASS" appears below after the above image is loaded.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/mouseenter.ctrlKey.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/mouseenter.ctrlKey.html new file mode 100644 index 00000000000..dac16046cf9 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/mouseenter.ctrlKey.html @@ -0,0 +1,64 @@ + + + + MouseEvent.ctrlKey for mouseenter Event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: MouseEvent.ctrlKey returns true if 'Control' key is depressed, otherwise false. +

                                                        + +
                                                        +            
                                                        +
                                                        +            Steps:
                                                        +            1) Press and hold down the '{CTRL}' key
                                                        +            2) Move the mouse pointer into the image
                                                        +        
                                                        + +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/mouseenter.relatedTarget.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/mouseenter.relatedTarget.html new file mode 100644 index 00000000000..f2d449dae85 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/mouseenter.relatedTarget.html @@ -0,0 +1,69 @@ + + + + MouseEvent.relatedTarget for mouseenter Event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: MouseEvent.relatedTarget for mouseenter event indicates + the event target a pointing device is exiting, if any. +

                                                        + +
                                                        +            
                                                        + + + +
                                                        + + Steps: + 1) Move the mouse pointer into the above green rectangle + 2) Then move the mouse pointer onto the button +
                                                        + +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/mouseleave.relatedTarget.html b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/mouseleave.relatedTarget.html new file mode 100644 index 00000000000..37ca7197507 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/mouseleave.relatedTarget.html @@ -0,0 +1,69 @@ + + + + MouseEvent.relatedTarget for mouseleave Event + + + +

                                                        DOM Events

                                                        +

                                                        + Test Description: MouseEvent.relatedTarget for mouseleave event indicates + the event target a pointing device is entering, if any. +

                                                        + +
                                                        +            
                                                        + + + +
                                                        + + Steps: + 1) Move the mouse pointer onto the above button + 2) Then move the mouse pointer out of it +
                                                        + +

                                                        Test passes if the word "PASS" appears below after following the above steps.

                                                        +
                                                        Test result:
                                                        +
                                                        FAIL
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/support/16kb.js b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/support/16kb.js new file mode 100644 index 00000000000..bf362ea39bd --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/support/16kb.js @@ -0,0 +1,140 @@ +var text = +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " + +"This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! This is a test! " ; +ActualResult.push("SCRIPT:loaded"); diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/support/InvalidBitMap.png b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/support/InvalidBitMap.png new file mode 100644 index 00000000000..0a15a8e10d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/support/InvalidBitMap.png @@ -0,0 +1 @@ +Invalid BitMap \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/support/iepreview.png b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/support/iepreview.png new file mode 100644 index 00000000000..63959a05626 Binary files /dev/null and b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/support/iepreview.png differ diff --git a/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/support/style01.css b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/support/style01.css new file mode 100644 index 00000000000..205e5bd7f59 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/tests/submissions/Microsoft/support/style01.css @@ -0,0 +1,3 @@ +BODY { + PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #eef0eb; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px +} diff --git a/tests/wpt/web-platform-tests/DOMEvents/throwing-in-listener-and-window-error-event.html b/tests/wpt/web-platform-tests/DOMEvents/throwing-in-listener-and-window-error-event.html new file mode 100644 index 00000000000..29841d9ac17 --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/throwing-in-listener-and-window-error-event.html @@ -0,0 +1,33 @@ + + +Throwing in event listener generates an error event on the window object + + + +
                                                        + + + +
                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/DOMEvents/throwing-in-listener-when-all-have-not-run-yet.html b/tests/wpt/web-platform-tests/DOMEvents/throwing-in-listener-when-all-have-not-run-yet.html new file mode 100644 index 00000000000..52196329bec --- /dev/null +++ b/tests/wpt/web-platform-tests/DOMEvents/throwing-in-listener-when-all-have-not-run-yet.html @@ -0,0 +1,31 @@ + + +Throwing in event listener + + + +
                                                        + + + +
                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/FileAPI/BlobURL/support/file_test1.js b/tests/wpt/web-platform-tests/FileAPI/BlobURL/support/file_test1.js new file mode 100644 index 00000000000..34983584999 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/BlobURL/support/file_test1.js @@ -0,0 +1 @@ +var test_result = 'test1_OK'; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/FileAPI/BlobURL/support/file_test2.txt b/tests/wpt/web-platform-tests/FileAPI/BlobURL/support/file_test2.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/FileAPI/BlobURL/support/file_test3.html b/tests/wpt/web-platform-tests/FileAPI/BlobURL/support/file_test3.html new file mode 100644 index 00000000000..fa234cb9f99 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/BlobURL/support/file_test3.html @@ -0,0 +1,25 @@ + + + + + Test file + + + + + +
                                                        + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/FileAPI/BlobURL/test1-manual.html b/tests/wpt/web-platform-tests/FileAPI/BlobURL/test1-manual.html new file mode 100644 index 00000000000..8da42cf647a --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/BlobURL/test1-manual.html @@ -0,0 +1,122 @@ + + + + + Blob and File reference URL Test(1) + + + + + + +
                                                        + +
                                                        + +
                                                        +

                                                        Test steps:

                                                        +
                                                          +
                                                        1. Download the file.
                                                        2. +
                                                        3. Select the file in the file inputbox to run the test.
                                                        4. +
                                                        +
                                                        + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/BlobURL/test2-manual.html b/tests/wpt/web-platform-tests/FileAPI/BlobURL/test2-manual.html new file mode 100644 index 00000000000..07fb27ef8af --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/BlobURL/test2-manual.html @@ -0,0 +1,62 @@ + + + + + Blob and File reference URL Test(2) + + + + + + +
                                                        +
                                                        +
                                                        + +
                                                        +

                                                        Test steps:

                                                        +
                                                          +
                                                        1. Download the file.
                                                        2. +
                                                        3. Select the file in the file inputbox.
                                                        4. +
                                                        5. Delete the file.
                                                        6. +
                                                        7. Click the 'start' button.
                                                        8. +
                                                        +
                                                        + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/BlobURL/test3-manual.html b/tests/wpt/web-platform-tests/FileAPI/BlobURL/test3-manual.html new file mode 100644 index 00000000000..ce020a7b74d --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/BlobURL/test3-manual.html @@ -0,0 +1,71 @@ + + + + + Blob and File reference URL Test(3) + + + + + + +
                                                        + +
                                                        + +
                                                        +

                                                        Test steps:

                                                        +
                                                          +
                                                        1. Download the file.
                                                        2. +
                                                        3. Select the file in the file inputbox and the test will start.
                                                        4. +
                                                        +
                                                        + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/FileReader/Progress_event_bubbles_cancelable.html b/tests/wpt/web-platform-tests/FileAPI/FileReader/Progress_event_bubbles_cancelable.html new file mode 100644 index 00000000000..6a03243f934 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/FileReader/Progress_event_bubbles_cancelable.html @@ -0,0 +1,33 @@ + + +File API Test: Progress Event - bubbles, cancelable + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/FileAPI/FileReader/support/file_test1.txt b/tests/wpt/web-platform-tests/FileAPI/FileReader/support/file_test1.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/FileAPI/FileReader/test_errors-manual.html b/tests/wpt/web-platform-tests/FileAPI/FileReader/test_errors-manual.html new file mode 100644 index 00000000000..e0a61200145 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/FileReader/test_errors-manual.html @@ -0,0 +1,71 @@ + + + + + FileReader Errors Test + + + + + + +
                                                        +
                                                        +
                                                        + +
                                                        +

                                                        Test steps:

                                                        +
                                                          +
                                                        1. Download the file.
                                                        2. +
                                                        3. Select the file in the file inputbox.
                                                        4. +
                                                        5. Delete the file.
                                                        6. +
                                                        7. Click the 'start' button.
                                                        8. +
                                                        +
                                                        + +
                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/FileAPI/FileReaderSync.worker.js b/tests/wpt/web-platform-tests/FileAPI/FileReaderSync.worker.js new file mode 100644 index 00000000000..77af6a7a6a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/FileReaderSync.worker.js @@ -0,0 +1,28 @@ +importScripts("/resources/testharness.js"); + +var blob, readerSync; +setup(function() { + readerSync = new FileReaderSync(); + blob = new Blob(["test"]); +}); + +test(function() { + assert_true(readerSync instanceof FileReaderSync); +}, "Interface"); + +test(function() { + var text = readerSync.readAsText(blob); + assert_equals(text, "test"); +}, "readAsText"); + +test(function() { + var data = readerSync.readAsDataURL(blob); + assert_equals(data.indexOf("data:"), 0); +}, "readAsDataURL"); + +test(function() { + var data = readerSync.readAsArrayBuffer(blob); + assert_true(data instanceof ArrayBuffer); +}, "readAsArrayBuffer"); + +done(); diff --git a/tests/wpt/web-platform-tests/FileAPI/blob/Blob-XHR-revoke.html b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-XHR-revoke.html new file mode 100644 index 00000000000..fea313eeee5 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-XHR-revoke.html @@ -0,0 +1,28 @@ + +Revoking blob URL used with XMLHttpRequest + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/FileAPI/blob/Blob-close.html b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-close.html new file mode 100644 index 00000000000..8ec8bcca0b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-close.html @@ -0,0 +1,29 @@ + + +Blob.close + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor.html b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor.html new file mode 100644 index 00000000000..5a5104328f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-constructor.html @@ -0,0 +1,498 @@ + + +Blob constructor + + + + + + + +

                                                        Discussion +is ongoing that will affect a number of the following tests. +

                                                        + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/blob/Blob-slice.html b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-slice.html new file mode 100644 index 00000000000..a66136b10f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/blob/Blob-slice.html @@ -0,0 +1,214 @@ + + +Blob slice + + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/FileAPI/file/File-constructor.html b/tests/wpt/web-platform-tests/FileAPI/file/File-constructor.html new file mode 100644 index 00000000000..97c08b6546e --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/file/File-constructor.html @@ -0,0 +1,72 @@ + + +File constructor + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/FileAPI/fileReader.html b/tests/wpt/web-platform-tests/FileAPI/fileReader.html new file mode 100644 index 00000000000..b767e22d4a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/fileReader.html @@ -0,0 +1,67 @@ + + + + FileReader States + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/filelist-section/filelist.html b/tests/wpt/web-platform-tests/FileAPI/filelist-section/filelist.html new file mode 100644 index 00000000000..b97dcde19f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/filelist-section/filelist.html @@ -0,0 +1,57 @@ + + + + + FileAPI Test: filelist + + + + + + + + + +
                                                        + +
                                                        +
                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/filelist-section/filelist_multiple_selected_files-manual.html b/tests/wpt/web-platform-tests/FileAPI/filelist-section/filelist_multiple_selected_files-manual.html new file mode 100644 index 00000000000..2efaa059fa4 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/filelist-section/filelist_multiple_selected_files-manual.html @@ -0,0 +1,64 @@ + + + + + FileAPI Test: filelist_multiple_selected_files + + + + + + + + + +
                                                        + +
                                                        +
                                                        +

                                                        Test steps:

                                                        +
                                                          +
                                                        1. Download upload.txt, upload.zip to local.
                                                        2. +
                                                        3. Select the local two files (upload.txt, upload.zip) to run the test.
                                                        4. +
                                                        +
                                                        + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/filelist-section/filelist_selected_file-manual.html b/tests/wpt/web-platform-tests/FileAPI/filelist-section/filelist_selected_file-manual.html new file mode 100644 index 00000000000..966aadda615 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/filelist-section/filelist_selected_file-manual.html @@ -0,0 +1,64 @@ + + + + + FileAPI Test: filelist_selected_file + + + + + + + + + +
                                                        + +
                                                        +
                                                        +

                                                        Test steps:

                                                        +
                                                          +
                                                        1. Download upload.txt to local.
                                                        2. +
                                                        3. Select the local upload.txt file to run the test.
                                                        4. +
                                                        +
                                                        + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/filelist-section/support/upload.txt b/tests/wpt/web-platform-tests/FileAPI/filelist-section/support/upload.txt new file mode 100644 index 00000000000..f45965b711f --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/filelist-section/support/upload.txt @@ -0,0 +1 @@ +Hello, this is test file for file upload. diff --git a/tests/wpt/web-platform-tests/FileAPI/filelist-section/support/upload.zip b/tests/wpt/web-platform-tests/FileAPI/filelist-section/support/upload.zip new file mode 100644 index 00000000000..a933d6a9494 Binary files /dev/null and b/tests/wpt/web-platform-tests/FileAPI/filelist-section/support/upload.zip differ diff --git a/tests/wpt/web-platform-tests/FileAPI/historical.html b/tests/wpt/web-platform-tests/FileAPI/historical.html new file mode 100644 index 00000000000..3ff56a30164 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/historical.html @@ -0,0 +1,48 @@ + + + + + Historical features + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/idlharness-manual.html b/tests/wpt/web-platform-tests/FileAPI/idlharness-manual.html new file mode 100644 index 00000000000..8fb0dfb784a --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/idlharness-manual.html @@ -0,0 +1,167 @@ + + + + + File API manual IDL tests + + + + + + + + +

                                                        File API manual IDL tests

                                                        + +
                                                        +

                                                        Test steps:

                                                        +
                                                          +
                                                        1. Download upload.txt to local.
                                                        2. +
                                                        3. Select the local upload.txt file to run the test.
                                                        4. +
                                                        +
                                                        + +
                                                        + +
                                                        + +
                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/idlharness.html b/tests/wpt/web-platform-tests/FileAPI/idlharness.html new file mode 100644 index 00000000000..64a9c8508b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/idlharness.html @@ -0,0 +1,158 @@ + + + + + File API automated IDL tests + + + + + + + + +

                                                        File API automated IDL tests

                                                        + +
                                                        + + + + + +
                                                        + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/progress.html b/tests/wpt/web-platform-tests/FileAPI/progress.html new file mode 100644 index 00000000000..b2e03b3eb27 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/progress.html @@ -0,0 +1,49 @@ + + +Process Events for FileReader + + + + +Please choose one file through this input below.
                                                        + +
                                                        + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/Determining-Encoding.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/Determining-Encoding.html new file mode 100644 index 00000000000..d65ae9db18a --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/Determining-Encoding.html @@ -0,0 +1,91 @@ + + +FileAPI Test: Blob Determining Encoding + + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/FileReader-event-handler-attributes.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/FileReader-event-handler-attributes.html new file mode 100644 index 00000000000..86657b5711a --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/FileReader-event-handler-attributes.html @@ -0,0 +1,23 @@ + + +FileReader event handler attributes + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads.html new file mode 100644 index 00000000000..86a29d187b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/FileReader-multiple-reads.html @@ -0,0 +1,73 @@ + +FileReader: starting new reads while one is in progress + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_abort.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_abort.html new file mode 100644 index 00000000000..a96389c21d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_abort.html @@ -0,0 +1,46 @@ + + + + + FileAPI Test: filereader_abort + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_error.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_error.html new file mode 100644 index 00000000000..cf4524825b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_error.html @@ -0,0 +1,35 @@ + + + + + FileAPI Test: filereader_error + + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_file-manual.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_file-manual.html new file mode 100644 index 00000000000..702ca9afd7b --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_file-manual.html @@ -0,0 +1,69 @@ + + + + + FileAPI Test: filereader_file + + + + + + + +
                                                        +

                                                        Test step:

                                                        +
                                                          +
                                                        1. Download blue-100x100.png to local.
                                                        2. +
                                                        3. Select the local file (blue-100x100.png) to run the test.
                                                        4. +
                                                        +
                                                        + +
                                                        + +
                                                        + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_file_img-manual.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_file_img-manual.html new file mode 100644 index 00000000000..fca42c7fceb --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_file_img-manual.html @@ -0,0 +1,47 @@ + + + + + FileAPI Test: filereader_file_img + + + + + + + +
                                                        +

                                                        Test step:

                                                        +
                                                          +
                                                        1. Download blue-100x100.png to local.
                                                        2. +
                                                        3. Select the local file (blue-100x100.png) to run the test.
                                                        4. +
                                                        +
                                                        + +
                                                        + +
                                                        + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_readAsArrayBuffer.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_readAsArrayBuffer.html new file mode 100644 index 00000000000..31001a51a07 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_readAsArrayBuffer.html @@ -0,0 +1,38 @@ + + + + + FileAPI Test: filereader_readAsArrayBuffer + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_readAsDataURL.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_readAsDataURL.html new file mode 100644 index 00000000000..f0a3957e760 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_readAsDataURL.html @@ -0,0 +1,39 @@ + + + + + FileAPI Test: filereader_readAsDataURL + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_readAsText.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_readAsText.html new file mode 100644 index 00000000000..7d639d01114 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_readAsText.html @@ -0,0 +1,51 @@ + + + + + FileAPI Test: filereader_readAsText + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_readystate.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_readystate.html new file mode 100644 index 00000000000..1586b899505 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_readystate.html @@ -0,0 +1,34 @@ + + + + + FileAPI Test: filereader_readystate + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_result.html b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_result.html new file mode 100644 index 00000000000..957d0337a75 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/filereader_result.html @@ -0,0 +1,59 @@ + + + + + FileAPI Test: filereader_result + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/reading-data-section/support/blue-100x100.png b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/support/blue-100x100.png new file mode 100644 index 00000000000..5748719ff22 Binary files /dev/null and b/tests/wpt/web-platform-tests/FileAPI/reading-data-section/support/blue-100x100.png differ diff --git a/tests/wpt/web-platform-tests/FileAPI/support/Blob.js b/tests/wpt/web-platform-tests/FileAPI/support/Blob.js new file mode 100644 index 00000000000..1d66f23a604 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/support/Blob.js @@ -0,0 +1,49 @@ +function test_blob(fn, expectations) { + var expected = expectations.expected, + type = expectations.type, + desc = expectations.desc; + + var t = async_test(desc); + t.step(function() { + var blob = fn(); + assert_true(blob instanceof Blob); + assert_false(blob instanceof File); + assert_equals(blob.type, type); + assert_equals(blob.size, expected.length); + + var fr = new FileReader(); + fr.onload = t.step_func_done(function(event) { + assert_equals(this.result, expected); + }, fr); + fr.onerror = t.step_func(function(e) { + assert_unreached("got error event on FileReader"); + }); + fr.readAsText(blob, "UTF-8"); + }); +} + +function test_blob_binary(fn, expectations) { + var expected = expectations.expected, + type = expectations.type, + desc = expectations.desc; + + var t = async_test(desc); + t.step(function() { + var blob = fn(); + assert_true(blob instanceof Blob); + assert_false(blob instanceof File); + assert_equals(blob.type, type); + assert_equals(blob.size, expected.length); + + var fr = new FileReader(); + fr.onload = t.step_func_done(function(event) { + assert_true(this.result instanceof ArrayBuffer, + "Result should be an ArrayBuffer"); + assert_array_equals(new Uint8Array(this.result), expected); + }, fr); + fr.onerror = t.step_func(function(e) { + assert_unreached("got error event on FileReader"); + }); + fr.readAsArrayBuffer(blob); + }); +} diff --git a/tests/wpt/web-platform-tests/FileAPI/support/upload.txt b/tests/wpt/web-platform-tests/FileAPI/support/upload.txt new file mode 100644 index 00000000000..5ab2f8a4323 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/support/upload.txt @@ -0,0 +1 @@ +Hello \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/FileAPI/url/url_createobjecturl_blob.html b/tests/wpt/web-platform-tests/FileAPI/url/url_createobjecturl_blob.html new file mode 100644 index 00000000000..db6b44180ec --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/url/url_createobjecturl_blob.html @@ -0,0 +1,26 @@ + + +FileAPI Test: Creating Blob URL with Blob + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/url/url_createobjecturl_file-manual.html b/tests/wpt/web-platform-tests/FileAPI/url/url_createobjecturl_file-manual.html new file mode 100644 index 00000000000..5dcd1d49e7c --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/url/url_createobjecturl_file-manual.html @@ -0,0 +1,51 @@ + + +FileAPI Test: Creating Blob URL with File + + + + + + +
                                                        +

                                                        Test steps:

                                                        +
                                                          +
                                                        1. Download blue96x96.png to local.
                                                        2. +
                                                        3. Select the local file (blue96x96.png) to run the test.
                                                        4. +
                                                        +
                                                        + +
                                                        + +
                                                        + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/url/url_createobjecturl_file_img-manual.html b/tests/wpt/web-platform-tests/FileAPI/url/url_createobjecturl_file_img-manual.html new file mode 100644 index 00000000000..534c1de9968 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/url/url_createobjecturl_file_img-manual.html @@ -0,0 +1,28 @@ + + +FileAPI Test: Creating Blob URL with File as image source + + + +
                                                        +

                                                        Test steps:

                                                        +
                                                          +
                                                        1. Download blue96x96.png to local.
                                                        2. +
                                                        3. Select the local file (blue96x96.png) to run the test.
                                                        4. +
                                                        +

                                                        Pass/fail criteria:

                                                        +

                                                        Test passes if there is a filled blue square.

                                                        + +

                                                        +

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/url/url_xmlhttprequest.html b/tests/wpt/web-platform-tests/FileAPI/url/url_xmlhttprequest.html new file mode 100644 index 00000000000..7a86cdd1e80 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/url/url_xmlhttprequest.html @@ -0,0 +1,29 @@ + + +FileAPI Test: Creating Blob URL via XMLHttpRequest + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/FileAPI/url/url_xmlhttprequest_img-ref.html b/tests/wpt/web-platform-tests/FileAPI/url/url_xmlhttprequest_img-ref.html new file mode 100644 index 00000000000..7d7390442d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/url/url_xmlhttprequest_img-ref.html @@ -0,0 +1,12 @@ + + +FileAPI Reference File + + + +

                                                        Test passes if there is a filled blue square.

                                                        + +

                                                        + +

                                                        + diff --git a/tests/wpt/web-platform-tests/FileAPI/url/url_xmlhttprequest_img.html b/tests/wpt/web-platform-tests/FileAPI/url/url_xmlhttprequest_img.html new file mode 100644 index 00000000000..7f26633d81e --- /dev/null +++ b/tests/wpt/web-platform-tests/FileAPI/url/url_xmlhttprequest_img.html @@ -0,0 +1,28 @@ + + + +FileAPI Test: Creating Blob URL via XMLHttpRequest as image source + + + + +

                                                        Test passes if there is a filled blue square.

                                                        + +

                                                        + +

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/README.md b/tests/wpt/web-platform-tests/IndexedDB/README.md new file mode 100644 index 00000000000..6b636d5f1a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/README.md @@ -0,0 +1,8 @@ +This directory contains the Indexed Database API test suite. + +To run the tests in this test suite within a browser, go to: . + +The latest Editor's Draft of Indexed Database API is: . + +The latest W3C Technical Report of Indexed Database API is: . + diff --git a/tests/wpt/web-platform-tests/IndexedDB/abort-in-initial-upgradeneeded.html b/tests/wpt/web-platform-tests/IndexedDB/abort-in-initial-upgradeneeded.html new file mode 100644 index 00000000000..6330ecb02e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/abort-in-initial-upgradeneeded.html @@ -0,0 +1,35 @@ + + +Test that an abort in the initial upgradeneeded sets version back to 0 + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/close-in-upgradeneeded.html b/tests/wpt/web-platform-tests/IndexedDB/close-in-upgradeneeded.html new file mode 100644 index 00000000000..eda823a21f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/close-in-upgradeneeded.html @@ -0,0 +1,39 @@ + + +When db.close is called in upgradeneeded, the db is cleaned up on refresh + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/cursor-overloads.htm b/tests/wpt/web-platform-tests/IndexedDB/cursor-overloads.htm new file mode 100644 index 00000000000..343e5a4cc1f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/cursor-overloads.htm @@ -0,0 +1,88 @@ + + + + + +Validate the overloads of IDBObjectStore.openCursor(), IDBIndex.openCursor() and IDBIndex.openKeyCursor() + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idb_webworkers.htm b/tests/wpt/web-platform-tests/IndexedDB/idb_webworkers.htm new file mode 100644 index 00000000000..dba3a93f120 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idb_webworkers.htm @@ -0,0 +1,33 @@ + +IndexedDB inside of a WebWorker + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-continue-async.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-continue-async.htm new file mode 100644 index 00000000000..d1b6af3e189 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-continue-async.htm @@ -0,0 +1,186 @@ + +IDBCursor asyncness + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-invalid.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-invalid.htm new file mode 100644 index 00000000000..dda216b7531 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance-invalid.htm @@ -0,0 +1,188 @@ + +IDBCursor.advance() - invalid + + + + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance.htm new file mode 100644 index 00000000000..f4ecbc0e5aa --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-advance.htm @@ -0,0 +1,243 @@ + +IDBCursor.advance() + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continue.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continue.htm new file mode 100644 index 00000000000..968cd9cbd09 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-continue.htm @@ -0,0 +1,240 @@ + +IDBCursor.continue() + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm new file mode 100644 index 00000000000..c3f9340370d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm @@ -0,0 +1,82 @@ + +IDBCursor direction - index with keyrange + + + + + + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction-index.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction-index.htm new file mode 100644 index 00000000000..39afcb24d86 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction-index.htm @@ -0,0 +1,81 @@ + +IDBCursor direction - index + + + + + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm new file mode 100644 index 00000000000..2b2bf04bfd6 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm @@ -0,0 +1,77 @@ + +IDBCursor direction - object store with keyrange + + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction-objectstore.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction-objectstore.htm new file mode 100644 index 00000000000..c02355395a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction-objectstore.htm @@ -0,0 +1,80 @@ + +IDBCursor direction - object store + + + + + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction.htm new file mode 100644 index 00000000000..b50eded7908 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-direction.htm @@ -0,0 +1,73 @@ + +IDBCursor.direction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-key.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-key.htm new file mode 100644 index 00000000000..7b10b99e225 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-key.htm @@ -0,0 +1,57 @@ + +IDBCursor.key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-primarykey.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-primarykey.htm new file mode 100644 index 00000000000..04b4a14a07b --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-primarykey.htm @@ -0,0 +1,61 @@ + +IDBCursor.primaryKey + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-reused.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-reused.htm new file mode 100644 index 00000000000..603041e7cdf --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-reused.htm @@ -0,0 +1,69 @@ + +IDBCursor is reused + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor-source.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-source.htm new file mode 100644 index 00000000000..7e3746ae7e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor-source.htm @@ -0,0 +1,68 @@ + +IDBCursor.source + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index.htm new file mode 100644 index 00000000000..8f2d0c65182 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index.htm @@ -0,0 +1,57 @@ + +IDBCursor.advance() - index - iterate cursor number of times specified by count + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index2.htm new file mode 100644 index 00000000000..539c824e61e --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index2.htm @@ -0,0 +1,47 @@ + +IDBCursor.advance() - attempt to pass a count parameter that is not a number + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index3.htm new file mode 100644 index 00000000000..5adf3f077fd --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index3.htm @@ -0,0 +1,47 @@ + +IDBCursor.advance() - index - attempt to advance backwards + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index5.htm new file mode 100644 index 00000000000..452c0f142f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index5.htm @@ -0,0 +1,55 @@ + +IDBCursor.advance() - index - iterate to the next record + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index6.htm new file mode 100644 index 00000000000..826cb1e1a0e --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index6.htm @@ -0,0 +1,37 @@ + + +IDBCursor.advance() - index - throw TypeError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index7.htm new file mode 100644 index 00000000000..8da5b618d45 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index7.htm @@ -0,0 +1,39 @@ + + +IDBCursor.advance() - index - throw TransactionInactiveError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index8.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index8.htm new file mode 100644 index 00000000000..b5e64d4cdce --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index8.htm @@ -0,0 +1,38 @@ + + +IDBCursor.advance() - index - throw InvalidStateError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index9.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index9.htm new file mode 100644 index 00000000000..517a573c49e --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_index9.htm @@ -0,0 +1,37 @@ + + +IDBCursor.advance() - index - throw InvalidStateError caused by object store been deleted + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore.htm new file mode 100644 index 00000000000..bf7cb70fb60 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore.htm @@ -0,0 +1,54 @@ + + IDBCursor.advance() - object store - iterate cursor number of times specified by count + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore2.htm new file mode 100644 index 00000000000..32478c141ea --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore2.htm @@ -0,0 +1,40 @@ + + +IDBCursor.advance() - object store - throw TypeError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore3.htm new file mode 100644 index 00000000000..1accd6631a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore3.htm @@ -0,0 +1,42 @@ + + +IDBCursor.advance() - object store - throw TransactionInactiveError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore4.htm new file mode 100644 index 00000000000..387973169d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore4.htm @@ -0,0 +1,41 @@ + + +IDBCursor.advance() - object store - throw InvalidStateError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore5.htm new file mode 100644 index 00000000000..cb0859c636e --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_advance_objectstore5.htm @@ -0,0 +1,36 @@ + + +IDBCursor.advance() - object store - throw InvalidStateError caused by object store been deleted + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index.htm new file mode 100644 index 00000000000..8b0d079a939 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index.htm @@ -0,0 +1,52 @@ + +IDBCursor.continue() - index - iterate to the next record + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index2.htm new file mode 100644 index 00000000000..d0eaef3d074 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index2.htm @@ -0,0 +1,49 @@ + +IDBCursor.continue() - index - attempt to pass a key parameter that is not a valid key + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index3.htm new file mode 100644 index 00000000000..357dc157f35 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index3.htm @@ -0,0 +1,54 @@ + +IDBCursor.continue() - index - attempt to iterate to the previous record when the direction is set for the next record + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index4.htm new file mode 100644 index 00000000000..c5cfd85ebdb --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index4.htm @@ -0,0 +1,65 @@ + +IDBCursor.continue() - index - attempt to iterate to the next record when the direction is set for the previous record + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index5.htm new file mode 100644 index 00000000000..abe0e658b01 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index5.htm @@ -0,0 +1,64 @@ + +IDBCursor.continue() - index - iterate using 'prevunique' + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index6.htm new file mode 100644 index 00000000000..cf5bd4066e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index6.htm @@ -0,0 +1,64 @@ + +IDBCursor.continue() - index - iterate using nextunique + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index7.htm new file mode 100644 index 00000000000..fed235685c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index7.htm @@ -0,0 +1,38 @@ + + +IDBCursor.continue() - index - throw TransactionInactiveError + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index8.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index8.htm new file mode 100644 index 00000000000..4a574ec90f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_index8.htm @@ -0,0 +1,38 @@ + + +IDBCursor.continue() - index - throw InvalidStateError caused by object store been deleted + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_invalid.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_invalid.htm new file mode 100644 index 00000000000..dea07bc9112 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_invalid.htm @@ -0,0 +1,54 @@ + +IDBCursor.continue() - attempt to call continue two times + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore.htm new file mode 100644 index 00000000000..76750c969a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore.htm @@ -0,0 +1,46 @@ + +IDBCursor.continue() - object store - iterate to the next record + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore2.htm new file mode 100644 index 00000000000..14502330b80 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore2.htm @@ -0,0 +1,40 @@ + +IDBCursor.continue() - object store - attempt to pass a key parameter is not a valid key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore3.htm new file mode 100644 index 00000000000..a059b62e53a --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore3.htm @@ -0,0 +1,40 @@ + +IDBCursor.continue() - object store - attempt to iterate to the previous record when the direction is set for the next record + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore4.htm new file mode 100644 index 00000000000..b4819c73300 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore4.htm @@ -0,0 +1,57 @@ + +IDBCursor.continue() - object store - attempt to iterate to the next record when the direction is set for the previous record + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore5.htm new file mode 100644 index 00000000000..3c1943336c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore5.htm @@ -0,0 +1,42 @@ + + +IDBCursor.continue() - object store - throw TransactionInactiveError + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore6.htm new file mode 100644 index 00000000000..f9d656ebf89 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_continue_objectstore6.htm @@ -0,0 +1,37 @@ + + +IDBCursor.continue() - object store - throw InvalidStateError caused by object store been deleted + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index.htm new file mode 100644 index 00000000000..8cddcea994f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index.htm @@ -0,0 +1,69 @@ + +IDBCursor.delete() - index - remove a record from the object store + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index2.htm new file mode 100644 index 00000000000..a5147f75450 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index2.htm @@ -0,0 +1,42 @@ + +IDBCursor.delete() - index - attempt to remove a record in a read-only transaction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index3.htm new file mode 100644 index 00000000000..bb5722ee351 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index3.htm @@ -0,0 +1,40 @@ + +IDBCursor.delete() - index - attempt to remove a record in an inactive transaction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index4.htm new file mode 100644 index 00000000000..9b57bd681a9 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index4.htm @@ -0,0 +1,38 @@ + + +IDBCursor.delete() - index - throw InvalidStateError caused by object store been deleted + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index5.htm new file mode 100644 index 00000000000..66eacdebe66 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_index5.htm @@ -0,0 +1,39 @@ + + +IDBCursor.delete() - index - throw InvalidStateError when the cursor is being iterated + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore.htm new file mode 100644 index 00000000000..044a4e57183 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore.htm @@ -0,0 +1,65 @@ + +IDBCursor.delete() - object store - remove a record from the object store + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore2.htm new file mode 100644 index 00000000000..69521e66b79 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore2.htm @@ -0,0 +1,40 @@ + +IDBCursor.delete() - object store - attempt to remove a record in a read-only transaction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore3.htm new file mode 100644 index 00000000000..bdb8d93c34f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore3.htm @@ -0,0 +1,39 @@ + +IDBCursor.delete() - index - attempt to remove a record in an inactive transaction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore4.htm new file mode 100644 index 00000000000..47bcd8b0057 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore4.htm @@ -0,0 +1,37 @@ + + +IDBCursor.delete() - object store - throw InvalidStateError caused by object store been deleted + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore5.htm new file mode 100644 index 00000000000..b37e26126a9 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_delete_objectstore5.htm @@ -0,0 +1,41 @@ + + +IDBCursor.delete() - object store - throw InvalidStateError when the cursor is being iterated + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating.htm new file mode 100644 index 00000000000..fd3cd0a690d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating.htm @@ -0,0 +1,110 @@ + +IDBCursor.continue() - objectstore - delete next element, and iterate to it + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating_index.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating_index.htm new file mode 100644 index 00000000000..559cce6db54 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating_index.htm @@ -0,0 +1,53 @@ + +IDBCursor.continue() - index - delete next element, and iterate to it + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating_index2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating_index2.htm new file mode 100644 index 00000000000..91a8383500c --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating_index2.htm @@ -0,0 +1,53 @@ + +IDBCursor.continue() - index - add next element, and iterate to it + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating_objectstore.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating_objectstore.htm new file mode 100644 index 00000000000..db66c4db33b --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating_objectstore.htm @@ -0,0 +1,51 @@ + +IDBCursor.continue() - objectstore - delete next element, and iterate to it + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating_objectstore2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating_objectstore2.htm new file mode 100644 index 00000000000..2374a854e44 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_iterating_objectstore2.htm @@ -0,0 +1,51 @@ + +IDBCursor.continue() - objectstore - add next element, and iterate to it + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index.htm new file mode 100644 index 00000000000..5fa1f940a99 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index.htm @@ -0,0 +1,64 @@ + +IDBCursor.update() - index - modify a record in the object store + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index2.htm new file mode 100644 index 00000000000..03f9c2712cb --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index2.htm @@ -0,0 +1,40 @@ + +IDBCursor.update() - index - attempt to modify a record in a read-only transaction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index3.htm new file mode 100644 index 00000000000..0f7b2a1dbe5 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index3.htm @@ -0,0 +1,41 @@ + +IDBCursor.update() - index - attempt to modify a record in an inactive transaction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index4.htm new file mode 100644 index 00000000000..ee60da0d214 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index4.htm @@ -0,0 +1,39 @@ + + +IDBCursor.update() - index - attempt to modify a record when object store been deleted + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index5.htm new file mode 100644 index 00000000000..a31528d1658 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index5.htm @@ -0,0 +1,45 @@ + +IDBCursor.update() - index - throw DataCloneError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index6.htm new file mode 100644 index 00000000000..1e51b1354cf --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index6.htm @@ -0,0 +1,41 @@ + +IDBCursor.update() - index - no argument + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index7.htm new file mode 100644 index 00000000000..1d464fbcdee --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_index7.htm @@ -0,0 +1,41 @@ + +IDBCursor.update() - index - throw DataError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore.htm new file mode 100644 index 00000000000..8aa6a13721d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore.htm @@ -0,0 +1,60 @@ + +IDBCursor.update() - objectstore - modify a record in the object store + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore2.htm new file mode 100644 index 00000000000..65c87bd9536 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore2.htm @@ -0,0 +1,38 @@ + +IDBCursor.update() - object store - attempt to modify a record in a read-only transaction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore3.htm new file mode 100644 index 00000000000..0ce59de29c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore3.htm @@ -0,0 +1,40 @@ + +IDBCursor.update() - object store - attempt to modify a record in an inactive transaction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore4.htm new file mode 100644 index 00000000000..cbd0b1f92a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore4.htm @@ -0,0 +1,39 @@ + +IDBCursor.update() - index - modify a record in the object store + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore5.htm new file mode 100644 index 00000000000..5dfb82ca19d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore5.htm @@ -0,0 +1,41 @@ + + +IDBCursor.update() - object store - attempt to modify a record when object store been deleted + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore6.htm new file mode 100644 index 00000000000..16aa00dfae0 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore6.htm @@ -0,0 +1,43 @@ + +IDBCursor.update() - object store - throw DataCloneError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore7.htm new file mode 100644 index 00000000000..b1b736cf0ce --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore7.htm @@ -0,0 +1,39 @@ + +IDBCursor.update() - object store - no argument + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore8.htm b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore8.htm new file mode 100644 index 00000000000..f0b8900d4b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbcursor_update_objectstore8.htm @@ -0,0 +1,39 @@ + +IDBCursor.update() - object store - throw DataError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_close.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_close.htm new file mode 100644 index 00000000000..46485a4303c --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_close.htm @@ -0,0 +1,43 @@ + +IDBDatabase.close() - unblock the version change transaction created by an open database request + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_close2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_close2.htm new file mode 100644 index 00000000000..68bafb94638 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_close2.htm @@ -0,0 +1,39 @@ + +IDBDatabase.close() - unblock the delete database request + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore-createIndex-emptyname.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore-createIndex-emptyname.htm new file mode 100644 index 00000000000..97f860a7a8f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore-createIndex-emptyname.htm @@ -0,0 +1,45 @@ + + +IDBDatabase.createObjectStore() and IDBObjectStore.createIndex() - both with empty name + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore.htm new file mode 100644 index 00000000000..36fe9325001 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore.htm @@ -0,0 +1,29 @@ + +IDBDatabase.createObjectStore() - returns an instance of IDBObjectStore + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore10-1000ends.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore10-1000ends.htm new file mode 100644 index 00000000000..d6e4a48ed1c --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore10-1000ends.htm @@ -0,0 +1,37 @@ + +IDBDatabase.createObjectStore() - create 1000 object stores, add one item and delete + + + + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore10-emptyname.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore10-emptyname.htm new file mode 100644 index 00000000000..cee4754a8eb --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore10-emptyname.htm @@ -0,0 +1,38 @@ + + +IDBDatabase.createObjectStore() - empty name + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore11.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore11.htm new file mode 100644 index 00000000000..8d98953e065 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore11.htm @@ -0,0 +1,25 @@ + + +IDBDatabase.createObjectStore() - Attampt Create Exsists Object Store With Difference keyPath throw ConstraintError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore2.htm new file mode 100644 index 00000000000..78f06ff9b90 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore2.htm @@ -0,0 +1,33 @@ + +IDBDatabase.createObjectStore() - object store 'name' and 'keyPath' properties are correctly set + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore3.htm new file mode 100644 index 00000000000..ccf4a2b5fde --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore3.htm @@ -0,0 +1,24 @@ + +IDBDatabase.createObjectStore() - attempt to create an object store outside of a version change transaction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore4.htm new file mode 100644 index 00000000000..07d787bd9a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore4.htm @@ -0,0 +1,27 @@ + +IDBDatabase.createObjectStore() - attempt to create an object store that already exists + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore5.htm new file mode 100644 index 00000000000..7e205096e4c --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore5.htm @@ -0,0 +1,33 @@ + +IDBDatabase.createObjectStore() - object store's name appears in database's list + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore6.htm new file mode 100644 index 00000000000..c1200c5f93a --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore6.htm @@ -0,0 +1,30 @@ + +IDBDatabase.createObjectStore() - attempt to create an object store with an invalid key path + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore7.htm new file mode 100644 index 00000000000..358baeeecab --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore7.htm @@ -0,0 +1,25 @@ + +IDBDatabase.createObjectStore() - create an object store with an unknown optional parameter + + + + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore8-parameters.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore8-parameters.htm new file mode 100644 index 00000000000..48a9993858c --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore8-parameters.htm @@ -0,0 +1,38 @@ + + +IDBObjectStoreParameters + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm new file mode 100644 index 00000000000..0a6dc03a67a --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm @@ -0,0 +1,29 @@ + + +createObjectStore: Invalid optionalParameters + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore.htm new file mode 100644 index 00000000000..b69570cc063 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore.htm @@ -0,0 +1,25 @@ + +IDBDatabase.deleteObjectStore() - object store's name is removed from database's list + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore2.htm new file mode 100644 index 00000000000..3c1abe63232 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore2.htm @@ -0,0 +1,31 @@ + +IDBDatabase.deleteObjectStore() - attempt to remove an object store outside of a version change transaction + + + + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore3.htm new file mode 100644 index 00000000000..cae00f9d220 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore3.htm @@ -0,0 +1,23 @@ + +IDBDatabase.deleteObjectStore() - attempt to remove an object store that does not exist + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm new file mode 100644 index 00000000000..f724d092ba2 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm @@ -0,0 +1,42 @@ + + +IDBDatabase.deleteObjectStore() - the object store is not reused + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction.htm new file mode 100644 index 00000000000..94de8b43342 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction.htm @@ -0,0 +1,24 @@ + +IDBDatabase.transaction() - attempt to open a transaction with invalid scope + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction2.htm new file mode 100644 index 00000000000..310014bc510 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction2.htm @@ -0,0 +1,27 @@ + +IDBDatabase.transaction() - opening a transaction defaults to a read-only mode + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction3.htm new file mode 100644 index 00000000000..9b353c7108f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction3.htm @@ -0,0 +1,28 @@ + +IDBDatabase.transaction() - attempt to open a transaction from closed database connection + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction4.htm new file mode 100644 index 00000000000..515c499b0c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction4.htm @@ -0,0 +1,26 @@ + +IDBDatabase.transaction() - attempt to open a transaction with invalid mode + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction5.htm new file mode 100644 index 00000000000..b6b45ab9f28 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbdatabase_transaction5.htm @@ -0,0 +1,22 @@ + + +IDBDatabase.transaction() - If storeNames is an empty list, the implementation must throw a DOMException of type InvalidAccessError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_cmp.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_cmp.htm new file mode 100644 index 00000000000..7b301ece46d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_cmp.htm @@ -0,0 +1,21 @@ + + +IDBFactory.cmp() - compared keys return correct value + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_cmp2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_cmp2.htm new file mode 100644 index 00000000000..446bb465ce6 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_cmp2.htm @@ -0,0 +1,41 @@ + + +IDBFactory.cmp() - invalid key + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_deleteDatabase.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_deleteDatabase.htm new file mode 100644 index 00000000000..fd7a908d3d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_deleteDatabase.htm @@ -0,0 +1,25 @@ + +IDBFactory.deleteDatabase() - request has no source + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_deleteDatabase2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_deleteDatabase2.htm new file mode 100644 index 00000000000..0c7c73a28fc --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_deleteDatabase2.htm @@ -0,0 +1,27 @@ + +IDBFactory.deleteDatabase() - result of the request is set to undefined + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_deleteDatabase3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_deleteDatabase3.htm new file mode 100644 index 00000000000..e1cab41a5c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_deleteDatabase3.htm @@ -0,0 +1,33 @@ + +IDBFactory.deleteDatabase() - success event + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_deleteDatabase4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_deleteDatabase4.htm new file mode 100644 index 00000000000..3a4e9944da5 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_deleteDatabase4.htm @@ -0,0 +1,58 @@ + +Test events opening a second database when one connection is open already + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open.htm new file mode 100644 index 00000000000..bca2cfdc801 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open.htm @@ -0,0 +1,18 @@ + +IDBFactory.open() - request has no source + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open10.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open10.htm new file mode 100644 index 00000000000..598046ff98f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open10.htm @@ -0,0 +1,91 @@ + +IDBFactory.open() - error in upgradeneeded resets db + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open11.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open11.htm new file mode 100644 index 00000000000..66ea9d52559 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open11.htm @@ -0,0 +1,60 @@ + +IDBFactory.open() - second open's transaction is available to get objectStores + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open12.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open12.htm new file mode 100644 index 00000000000..763c4805155 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open12.htm @@ -0,0 +1,50 @@ + +IDBFactory.open() - upgradeneeded gets VersionChangeEvent + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open2.htm new file mode 100644 index 00000000000..e4d54ee0a13 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open2.htm @@ -0,0 +1,20 @@ + +IDBFactory.open() - database 'name' and 'version' are correctly set + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open3.htm new file mode 100644 index 00000000000..9ec6db5ab86 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open3.htm @@ -0,0 +1,27 @@ + +IDBFactory.open() - no version opens current database + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open4.htm new file mode 100644 index 00000000000..15ca666b816 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open4.htm @@ -0,0 +1,20 @@ + +IDBFactory.open() - new database has default version + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open5.htm new file mode 100644 index 00000000000..d9460bb7eda --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open5.htm @@ -0,0 +1,18 @@ + +IDBFactory.open() - new database is empty + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open6.htm new file mode 100644 index 00000000000..bbb8ac02d37 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open6.htm @@ -0,0 +1,34 @@ + +IDBFactory.open() - open database with a lower version than current + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open7.htm new file mode 100644 index 00000000000..bd168f7557e --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open7.htm @@ -0,0 +1,38 @@ + +IDBFactory.open() - open database with a higher version than current + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open8.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open8.htm new file mode 100644 index 00000000000..7e2ac93ec06 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open8.htm @@ -0,0 +1,27 @@ + +IDBFactory.open() - error in version change transaction aborts open + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open9.htm b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open9.htm new file mode 100644 index 00000000000..d9f392cfdc3 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbfactory_open9.htm @@ -0,0 +1,60 @@ + +IDBFactory.open() - errors in version argument + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry-arraykeypath.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry-arraykeypath.htm new file mode 100644 index 00000000000..3e584a6c4e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry-arraykeypath.htm @@ -0,0 +1,23 @@ + + +IDBIndex.multiEntry: array keyPath with multiEntry + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry-big.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry-big.htm new file mode 100644 index 00000000000..4f9df36e204 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry-big.htm @@ -0,0 +1,58 @@ + + +IDBIndex.multiEntry - a 1000 entry multiEntry array + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry.htm new file mode 100644 index 00000000000..4f44453e0a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex-multientry.htm @@ -0,0 +1,53 @@ + + +IDBIndex.multiEntry - adding keys + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_count.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_count.htm new file mode 100644 index 00000000000..1b84ef9b79e --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_count.htm @@ -0,0 +1,37 @@ + + +IDBIndex.count() - returns the number of records in the index + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_count2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_count2.htm new file mode 100644 index 00000000000..1494fe116fd --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_count2.htm @@ -0,0 +1,37 @@ + + +IDBIndex.count() - returns the number of records that have keys within the range + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_count3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_count3.htm new file mode 100644 index 00000000000..7fb34347cdb --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_count3.htm @@ -0,0 +1,28 @@ + + +IDBIndex.count() - returns the number of records that have keys with the key + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_count4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_count4.htm new file mode 100644 index 00000000000..addd99260d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_count4.htm @@ -0,0 +1,37 @@ + + +IDBIndex.count() - throw DataError when using invalid key + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get.htm new file mode 100644 index 00000000000..835cbefd2c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get.htm @@ -0,0 +1,36 @@ + + +IDBIndex.get() - returns the record + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get2.htm new file mode 100644 index 00000000000..52b1d371ebf --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get2.htm @@ -0,0 +1,39 @@ + + +IDBIndex.get() - returns the record where the index contains duplicate values + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get3.htm new file mode 100644 index 00000000000..d0f90078905 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get3.htm @@ -0,0 +1,27 @@ + + +IDBIndex.get() - attempt to retrieve a record that doesn't exist + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get4.htm new file mode 100644 index 00000000000..bd0cc5ec85e --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get4.htm @@ -0,0 +1,39 @@ + + +IDBIndex.get() - returns the record with the first key in the range + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get5.htm new file mode 100644 index 00000000000..65e2623cdd9 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get5.htm @@ -0,0 +1,26 @@ + + +IDBIndex.get() - throw DataError when using invalid key + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get6.htm new file mode 100644 index 00000000000..c7f6b92febe --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get6.htm @@ -0,0 +1,29 @@ + + +IDBIndex.get() - throw InvalidStateError when the index is deleted + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_get7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get7.htm new file mode 100644 index 00000000000..a49b0efc6ff --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_get7.htm @@ -0,0 +1,29 @@ + + +IDBIndex.get() - throw TransactionInactiveError on aborted transaction + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey.htm new file mode 100644 index 00000000000..536f2fd39f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey.htm @@ -0,0 +1,38 @@ + + +IDBIndex.getKey() - returns the record's primary key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey2.htm new file mode 100644 index 00000000000..9e867324268 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey2.htm @@ -0,0 +1,39 @@ + + +IDBIndex.getKey() - returns the record's primary key where the index contains duplicate values + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey3.htm new file mode 100644 index 00000000000..238107ccc6a --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey3.htm @@ -0,0 +1,28 @@ + + +IDBIndex.getKey() - attempt to retrieve the primary key of a record that doesn't exist + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey4.htm new file mode 100644 index 00000000000..2002a5fe194 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey4.htm @@ -0,0 +1,38 @@ + + +IDBIndex.getKey() - returns the key of the first record within the range + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey5.htm new file mode 100644 index 00000000000..96af868beaf --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey5.htm @@ -0,0 +1,26 @@ + + +IDBIndex.getKey() - throw DataError when using invalid key + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey6.htm new file mode 100644 index 00000000000..6e9680da9ed --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey6.htm @@ -0,0 +1,29 @@ + + +IDBIndex.getKey() - throw InvalidStateError when the index is deleted + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey7.htm new file mode 100644 index 00000000000..5a35ebb5c91 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_getKey7.htm @@ -0,0 +1,29 @@ + + +IDBIndex.getKey() - throw TransactionInactiveError on aborted transaction + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_indexNames.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_indexNames.htm new file mode 100644 index 00000000000..3099b45e91f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_indexNames.htm @@ -0,0 +1,34 @@ + + +IDBIndex.getKey() - returns the record's primary key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor.htm new file mode 100644 index 00000000000..0efff9325f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor.htm @@ -0,0 +1,29 @@ + + +IDBIndex.openCursor() - throw InvalidStateError when the index is deleted + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor2.htm new file mode 100644 index 00000000000..d39254055f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openCursor2.htm @@ -0,0 +1,29 @@ + + +IDBIndex.openCursor() - throw TransactionInactiveError on aborted transaction + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor.htm new file mode 100644 index 00000000000..e158802911e --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor.htm @@ -0,0 +1,28 @@ + + +IDBIndex.openKeyCursor() - throw DataError when using a invalid key + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor2.htm new file mode 100644 index 00000000000..d8354c2fdaa --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor2.htm @@ -0,0 +1,29 @@ + + +IDBIndex.openKeyCursor() - throw InvalidStateError when the index is deleted + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor3.htm new file mode 100644 index 00000000000..b4af3172417 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbindex_openKeyCursor3.htm @@ -0,0 +1,29 @@ + + +IDBIndex.openKeyCursor() - throw TransactionInactiveError on aborted transaction + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange.htm b/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange.htm new file mode 100644 index 00000000000..dd6e5f7e50e --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange.htm @@ -0,0 +1,67 @@ + + +IDBKeyRange Tests + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange_incorrect.htm b/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange_incorrect.htm new file mode 100644 index 00000000000..0449ca80732 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbkeyrange_incorrect.htm @@ -0,0 +1,92 @@ + + + + + + IDBKeyRange Tests - Incorrect + + + + + + + + + + + + +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add.htm new file mode 100644 index 00000000000..f091d1faf12 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add.htm @@ -0,0 +1,35 @@ + + +IDBObjectStore.add() - add with an inline key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add10.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add10.htm new file mode 100644 index 00000000000..f2bf447500d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add10.htm @@ -0,0 +1,29 @@ + + +IDBObjectStore.add() - Attempt to call 'add' without an key parameter when the object store uses out-of-line keys + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add11.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add11.htm new file mode 100644 index 00000000000..99ff14c31b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add11.htm @@ -0,0 +1,29 @@ + + +IDBObjectStore.add() - Attempt to add a record where the record's key does not meet the constraints of a valid key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add12.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add12.htm new file mode 100644 index 00000000000..d679af08b41 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add12.htm @@ -0,0 +1,29 @@ + + +IDBObjectStore.add() - Attempt to add a record where the record's in-line key is not defined + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add13.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add13.htm new file mode 100644 index 00000000000..943a6cf9baf --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add13.htm @@ -0,0 +1,29 @@ + + +IDBObjectStore.add() - Attempt to add a record where the out of line key provided does not meet the constraints of a valid key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add14.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add14.htm new file mode 100644 index 00000000000..5bac57cb765 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add14.htm @@ -0,0 +1,32 @@ + + +IDBObjectStore.add() - Add a record where a value being indexed does not meet the constraints of a valid key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add15.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add15.htm new file mode 100644 index 00000000000..268ed72e935 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add15.htm @@ -0,0 +1,31 @@ + + +IDBObjectStore.add() - If the transaction this IDBObjectStore belongs to has its mode set to readonly, throw ReadOnlyError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add16.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add16.htm new file mode 100644 index 00000000000..a0ea3abbf07 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add16.htm @@ -0,0 +1,31 @@ + + +IDBObjectStore.add() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add2.htm new file mode 100644 index 00000000000..70c05544588 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add2.htm @@ -0,0 +1,36 @@ + + +IDBObjectStore.add() - add with an out-of-line key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add3.htm new file mode 100644 index 00000000000..ac397372d48 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add3.htm @@ -0,0 +1,39 @@ + + +IDBObjectStore.add() - record with same key already exists + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add4.htm new file mode 100644 index 00000000000..c4b875cd41f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add4.htm @@ -0,0 +1,40 @@ + + +IDBObjectStore.add() - add where an index has unique:true specified + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add5.htm new file mode 100644 index 00000000000..1c1cd1fb284 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add5.htm @@ -0,0 +1,34 @@ + + +IDBObjectStore.add() - object store's key path is an object attribute + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add6.htm new file mode 100644 index 00000000000..c6f1910a3ee --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add6.htm @@ -0,0 +1,47 @@ + + +IDBObjectStore.add() - autoIncrement and inline keys + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add7.htm new file mode 100644 index 00000000000..1b2a6dac3fa --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add7.htm @@ -0,0 +1,47 @@ + + +IDBObjectStore.add() - autoIncrement and out-of-line keys + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add8.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add8.htm new file mode 100644 index 00000000000..b3266fdc0f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add8.htm @@ -0,0 +1,47 @@ + + +IDBObjectStore.add() - object store has autoIncrement:true and the key path is an object attribute + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add9.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add9.htm new file mode 100644 index 00000000000..6e027a11dc4 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_add9.htm @@ -0,0 +1,27 @@ + + +IDBObjectStore.add() - Attempt to add a record that does not meet the constraints of an object store's inline key requirements + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear.htm new file mode 100644 index 00000000000..d9c3fb2a189 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear.htm @@ -0,0 +1,41 @@ + + +IDBObjectStore.clear() - Verify clear removes all records + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear2.htm new file mode 100644 index 00000000000..ac1fdff4cac --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear2.htm @@ -0,0 +1,43 @@ + + +IDBObjectStore.clear() - clear removes all records from an index + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear3.htm new file mode 100644 index 00000000000..fc0fa4d8dff --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear3.htm @@ -0,0 +1,36 @@ + + +IDBObjectStore.clear() - If the transaction this IDBObjectStore belongs to has its mode set to readonly, throw ReadOnlyError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear4.htm new file mode 100644 index 00000000000..298857a5972 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_clear4.htm @@ -0,0 +1,31 @@ + + +IDBObjectStore.clear() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count.htm new file mode 100644 index 00000000000..a54d16e435d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count.htm @@ -0,0 +1,35 @@ + + +IDBObjectStore.count() - returns the number of records in the object store + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count2.htm new file mode 100644 index 00000000000..b92715a2d99 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count2.htm @@ -0,0 +1,35 @@ + + +IDBObjectStore.count() - returns the number of records that have keys within the range + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count3.htm new file mode 100644 index 00000000000..970b87a3d84 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count3.htm @@ -0,0 +1,31 @@ + + +IDBObjectStore.count() - returns the number of records that have keys with the key + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count4.htm new file mode 100644 index 00000000000..6d7b34f5009 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_count4.htm @@ -0,0 +1,31 @@ + + +IDBObjectStore.count() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex.htm new file mode 100644 index 00000000000..8f0327c1a78 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex.htm @@ -0,0 +1,30 @@ + + +IDBObjectStore.createIndex() - returns an IDBIndex and the properties are set correctly + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex10.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex10.htm new file mode 100644 index 00000000000..757296253d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex10.htm @@ -0,0 +1,24 @@ + + +IDBDatabase.createIndex() - If an index with the name name already exists in this object store, the implementation must throw a DOMException of type ConstraintError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex11.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex11.htm new file mode 100644 index 00000000000..7da1169e4c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex11.htm @@ -0,0 +1,23 @@ + + +IDBDatabase.createIndex() - If keyPath is not a valid key path, the implementation must throw a DOMException of type SyntaxError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex12.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex12.htm new file mode 100644 index 00000000000..18296b4adbe --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex12.htm @@ -0,0 +1,31 @@ + + +IDBDatabase.createIndex() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex13.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex13.htm new file mode 100644 index 00000000000..fb70cc72b8d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex13.htm @@ -0,0 +1,31 @@ + + +IDBDatabase.createIndex() - Operate out versionchange throw InvalidStateError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex2.htm new file mode 100644 index 00000000000..9dc1686b186 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex2.htm @@ -0,0 +1,41 @@ + + +IDBObjectStore.createIndex() - attempt to create an index that requires unique values on an object store already contains duplicates + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex3-usable-right-away.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex3-usable-right-away.htm new file mode 100644 index 00000000000..f4b9b984f05 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex3-usable-right-away.htm @@ -0,0 +1,38 @@ + + +IDBObjectStore.createIndex() - the index is usable right after being made + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex4-deleteIndex-event_order.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex4-deleteIndex-event_order.htm new file mode 100644 index 00000000000..2dccc865e72 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex4-deleteIndex-event_order.htm @@ -0,0 +1,66 @@ + + +IDBObjectStore.createIndex() - Event ordering for a later deleted index + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex5-emptykeypath.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex5-emptykeypath.htm new file mode 100644 index 00000000000..29fadc00e3f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex5-emptykeypath.htm @@ -0,0 +1,38 @@ + + +IDBObjectStore.createIndex() - empty keyPath + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex6-event_order.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex6-event_order.htm new file mode 100644 index 00000000000..20b4890382d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex6-event_order.htm @@ -0,0 +1,72 @@ + + +IDBObjectStore.createIndex() - event order when unique constraint is triggered + + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex7-event_order.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex7-event_order.htm new file mode 100644 index 00000000000..23e3dbb8752 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex7-event_order.htm @@ -0,0 +1,77 @@ + + +IDBObjectStore.createIndex() - Event ordering for ConstraintError on request + + + + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex8-valid_keys.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex8-valid_keys.htm new file mode 100644 index 00000000000..8dbe03f59ef --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex8-valid_keys.htm @@ -0,0 +1,54 @@ + + +IDBObjectStore.createIndex() - index can be valid keys + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex9-emptyname.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex9-emptyname.htm new file mode 100644 index 00000000000..3d04357c972 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_createIndex9-emptyname.htm @@ -0,0 +1,41 @@ + + +IDBObjectStore.createIndex() - empty name + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete.htm new file mode 100644 index 00000000000..33728929623 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete.htm @@ -0,0 +1,46 @@ + + +IDBObjectStore.delete() - delete removes record (inline keys) + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete2.htm new file mode 100644 index 00000000000..f7e46846025 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete2.htm @@ -0,0 +1,27 @@ + + +IDBObjectStore.delete() - key doesn't match any records + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete3.htm new file mode 100644 index 00000000000..b72b1072d78 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete3.htm @@ -0,0 +1,47 @@ + + +IDBObjectStore.delete() - object store's key path is an object attribute + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete4.htm new file mode 100644 index 00000000000..3d36b7962ee --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete4.htm @@ -0,0 +1,48 @@ + + +IDBObjectStore.delete() - delete removes record (out-of-line keys) + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete5.htm new file mode 100644 index 00000000000..9e8ac80a123 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete5.htm @@ -0,0 +1,32 @@ + +IDBObjectStore.delete() - removes all of the records in the range + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete6.htm new file mode 100644 index 00000000000..01d54dee93b --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete6.htm @@ -0,0 +1,36 @@ + + +IDBObjectStore.delete() - If the transaction this IDBObjectStore belongs to has its mode set to readonly, throw ReadOnlyError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete7.htm new file mode 100644 index 00000000000..d070a6d4b16 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_delete7.htm @@ -0,0 +1,33 @@ + + +IDBObjectStore.delete() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleteIndex.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleteIndex.htm new file mode 100644 index 00000000000..1e0fb2976c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleteIndex.htm @@ -0,0 +1,43 @@ + + +IDBObjectStore.deleteIndex() - removes the index + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleted.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleted.htm new file mode 100644 index 00000000000..1d9421ce03a --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_deleted.htm @@ -0,0 +1,49 @@ + + +Attempting to use deleted IDBObjectStore + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get.htm new file mode 100644 index 00000000000..99aff78d564 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get.htm @@ -0,0 +1,35 @@ + + +IDBObjectStore.get() - key is a number + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get2.htm new file mode 100644 index 00000000000..dfbfea17c22 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get2.htm @@ -0,0 +1,35 @@ + + +IDBObjectStore.get() - key is a string + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get3.htm new file mode 100644 index 00000000000..b093e535796 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get3.htm @@ -0,0 +1,34 @@ + + +IDBObjectStore.get() - key is a Date + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get4.htm new file mode 100644 index 00000000000..7853697a19f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get4.htm @@ -0,0 +1,27 @@ + + +IDBObjectStore.get() - attempt to retrieve a record that doesn't exist + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get5.htm new file mode 100644 index 00000000000..59b0ede641f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get5.htm @@ -0,0 +1,31 @@ + +IDBObjectStore.get() - returns the record with the first key in the range + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get6.htm new file mode 100644 index 00000000000..33381a684b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get6.htm @@ -0,0 +1,30 @@ + + +IDBObjectStore.get() - throw TransactionInactiveError on aborted transaction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get7.htm new file mode 100644 index 00000000000..570441b6634 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_get7.htm @@ -0,0 +1,29 @@ + + +IDBObjectStore.get() - throw DataError when using invalid key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_index.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_index.htm new file mode 100644 index 00000000000..5da58ecc311 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_index.htm @@ -0,0 +1,34 @@ + + +IDBObjectStore.index() - returns an index + + + + + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openCursor.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openCursor.htm new file mode 100644 index 00000000000..914aa57211f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openCursor.htm @@ -0,0 +1,39 @@ + +IDBObjectStore.openCursor() - iterate through 100 objects + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openCursor_invalid.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openCursor_invalid.htm new file mode 100644 index 00000000000..698e7998b23 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_openCursor_invalid.htm @@ -0,0 +1,50 @@ + +IDBObjectStore.openCursor() - invalid + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put.htm new file mode 100644 index 00000000000..6a0fed4b7fe --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put.htm @@ -0,0 +1,35 @@ + + +IDBObjectStore.put() - put with an inline key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put10.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put10.htm new file mode 100644 index 00000000000..d0de11c3e30 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put10.htm @@ -0,0 +1,29 @@ + + +IDBObjectStore.put() - Attempt to call 'put' without an key parameter when the object store uses out-of-line keys + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put11.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put11.htm new file mode 100644 index 00000000000..9a13757ef20 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put11.htm @@ -0,0 +1,29 @@ + + +IDBObjectStore.put() - Attempt to put a record where the record's key does not meet the constraints of a valid key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put12.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put12.htm new file mode 100644 index 00000000000..24970dff080 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put12.htm @@ -0,0 +1,29 @@ + + +IDBObjectStore.put() - Attempt to put a record where the record's in-line key is not defined + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put13.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put13.htm new file mode 100644 index 00000000000..870c8e4a718 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put13.htm @@ -0,0 +1,29 @@ + + +IDBObjectStore.put() - Attempt to put a record where the out of line key provided does not meet the constraints of a valid key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put14.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put14.htm new file mode 100644 index 00000000000..c6896964592 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put14.htm @@ -0,0 +1,32 @@ + + +IDBObjectStore.put() - Put a record where a value being indexed does not meet the constraints of a valid key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put15.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put15.htm new file mode 100644 index 00000000000..cf2c35435cf --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put15.htm @@ -0,0 +1,31 @@ + + +IDBObjectStore.put() - If the transaction this IDBObjectStore belongs to has its mode set to readonly, throw ReadOnlyError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put16.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put16.htm new file mode 100644 index 00000000000..09d9e2acde2 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put16.htm @@ -0,0 +1,31 @@ + + +IDBObjectStore.put() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put2.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put2.htm new file mode 100644 index 00000000000..3b9fc30a811 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put2.htm @@ -0,0 +1,36 @@ + + +IDBObjectStore.put() - put with an out-of-line key + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put3.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put3.htm new file mode 100644 index 00000000000..79097a283e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put3.htm @@ -0,0 +1,48 @@ + + +IDBObjectStore.put() - record with same key already exists + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put4.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put4.htm new file mode 100644 index 00000000000..c1335b27d00 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put4.htm @@ -0,0 +1,40 @@ + + +IDBObjectStore.put() - put where an index has unique:true specified + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put5.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put5.htm new file mode 100644 index 00000000000..a4d9abefff6 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put5.htm @@ -0,0 +1,34 @@ + + +IDBObjectStore.put() - object store's key path is an object attribute + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put6.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put6.htm new file mode 100644 index 00000000000..bcf7e7d1934 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put6.htm @@ -0,0 +1,47 @@ + + +IDBObjectStore.put() - autoIncrement and inline keys + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put7.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put7.htm new file mode 100644 index 00000000000..6765b0a84ae --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put7.htm @@ -0,0 +1,47 @@ + + +IDBObjectStore.put() - autoIncrement and out-of-line keys + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put8.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put8.htm new file mode 100644 index 00000000000..3bf284eacab --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put8.htm @@ -0,0 +1,47 @@ + + +IDBObjectStore.put() - object store has autoIncrement:true and the key path is an object attribute + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put9.htm b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put9.htm new file mode 100644 index 00000000000..6e50a0b296d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbobjectstore_put9.htm @@ -0,0 +1,27 @@ + + +IDBObjectStore.put() - Attempt to put a record that does not meet the constraints of an object store's inline key requirements + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbtransaction-oncomplete.htm b/tests/wpt/web-platform-tests/IndexedDB/idbtransaction-oncomplete.htm new file mode 100644 index 00000000000..7c295c7c150 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbtransaction-oncomplete.htm @@ -0,0 +1,53 @@ + +IDBTransaction - complete event + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbtransaction.htm b/tests/wpt/web-platform-tests/IndexedDB/idbtransaction.htm new file mode 100644 index 00000000000..8a3484511e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbtransaction.htm @@ -0,0 +1,46 @@ + +IDBTransaction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbtransaction_abort.htm b/tests/wpt/web-platform-tests/IndexedDB/idbtransaction_abort.htm new file mode 100644 index 00000000000..c93a2da290f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbtransaction_abort.htm @@ -0,0 +1,42 @@ + + +IDBTransaction - abort + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbversionchangeevent.htm b/tests/wpt/web-platform-tests/IndexedDB/idbversionchangeevent.htm new file mode 100644 index 00000000000..5e688353364 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbversionchangeevent.htm @@ -0,0 +1,66 @@ + +IDBVersionChangeEvent fired in upgradeneeded, versionchange and deleteDatabase + + + + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/idbworker.js b/tests/wpt/web-platform-tests/IndexedDB/idbworker.js new file mode 100644 index 00000000000..359f6fb6911 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/idbworker.js @@ -0,0 +1,34 @@ +var db + +self.addEventListener('message', MessageHandler, false) + +function MessageHandler(e) +{ + var open_rq, idb = self.indexedDB || self.msIndexedDB || self.webkitIndexedDB || self.mozIndexedDB + + if (!idb) + { + self.postMessage(false) + return + } + else + self.postMessage(true) + + open_rq = idb.open("webworker101", 1) + + open_rq.onupgradeneeded = function(e) { + db = e.target.result + db.createObjectStore("store") + .add("test", 1) + } + open_rq.onsuccess = function(e) { + db = e.target.result + db.onerror = function() { self.postMessage("db.error") } + db.transaction("store").objectStore("store").get(1).onsuccess = function(e) { + self.postMessage(e.target.result) + db.close() + } + } + open_rq.onerror = function() { self.postMessage("open.error") } + open_rq.onblocked = function() { self.postMessage("open.blocked") } +} diff --git a/tests/wpt/web-platform-tests/IndexedDB/index_sort_order.htm b/tests/wpt/web-platform-tests/IndexedDB/index_sort_order.htm new file mode 100644 index 00000000000..6249c420489 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/index_sort_order.htm @@ -0,0 +1,51 @@ + + +Verify key sort order in an index is 'number < Date < DOMString' + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/interfaces.htm b/tests/wpt/web-platform-tests/IndexedDB/interfaces.htm new file mode 100644 index 00000000000..644f4d178f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/interfaces.htm @@ -0,0 +1,64 @@ + + + + + +Test IndexedDB's interfaces + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/interfaces.html b/tests/wpt/web-platform-tests/IndexedDB/interfaces.html new file mode 100644 index 00000000000..cc4e7f20392 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/interfaces.html @@ -0,0 +1,50 @@ + + +IndexedDB IDL tests + + + + + +

                                                        IndexedDB IDL tests

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/interfaces.idl b/tests/wpt/web-platform-tests/IndexedDB/interfaces.idl new file mode 100644 index 00000000000..055e62f46b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/interfaces.idl @@ -0,0 +1,145 @@ +enum IDBTransactionMode { + "readonly", + "readwrite", + "versionchange" +}; + +enum IDBRequestReadyState { + "pending", + "done" +}; + +interface IDBKeyRange { + readonly attribute any lower; + readonly attribute any upper; + readonly attribute boolean lowerOpen; + readonly attribute boolean upperOpen; + static IDBKeyRange only (any value); + static IDBKeyRange lowerBound (any lower, optional boolean open = false); + static IDBKeyRange upperBound (any upper, optional boolean open = false); + static IDBKeyRange bound (any lower, any upper, optional boolean lowerOpen = false, optional boolean upperOpen = false); +}; + +enum IDBCursorDirection { + "next", + "nextunique", + "prev", + "prevunique" +}; + +dictionary IDBObjectStoreParameters { + (DOMString or sequence)? keyPath = null; + boolean autoIncrement = false; +}; + +dictionary IDBIndexParameters { + boolean unique = false; + boolean multiEntry = false; +}; + +dictionary IDBVersionChangeEventInit : EventInit { + unsigned long long oldVersion = 0; + unsigned long long? newVersion = null; +}; + +interface IDBRequest : EventTarget { + readonly attribute any result; + readonly attribute DOMError error; + readonly attribute (IDBObjectStore or IDBIndex or IDBCursor)? source; + readonly attribute IDBTransaction transaction; + readonly attribute IDBRequestReadyState readyState; + attribute EventHandler onsuccess; + attribute EventHandler onerror; +}; + +interface IDBOpenDBRequest : IDBRequest { + attribute EventHandler onblocked; + attribute EventHandler onupgradeneeded; +}; + +[Constructor(DOMString type, optional IDBVersionChangeEventInit eventInitDict)] +interface IDBVersionChangeEvent : Event { + readonly attribute unsigned long long oldVersion; + readonly attribute unsigned long long? newVersion; +}; + +[NoInterfaceObject] +interface IDBEnvironment { + readonly attribute IDBFactory indexedDB; +}; + +interface IDBFactory { + IDBOpenDBRequest open (DOMString name, [EnforceRange] optional unsigned long long version); + IDBOpenDBRequest deleteDatabase (DOMString name); + short cmp (any first, any second); +}; + +interface IDBDatabase : EventTarget { + readonly attribute DOMString name; + readonly attribute unsigned long long version; + readonly attribute DOMStringList objectStoreNames; + IDBObjectStore createObjectStore (DOMString name, optional IDBObjectStoreParameters optionalParameters); + void deleteObjectStore (DOMString name); + IDBTransaction transaction ((DOMString or sequence) storeNames, optional IDBTransactionMode mode = "readonly"); + void close (); + attribute EventHandler onabort; + attribute EventHandler onerror; + attribute EventHandler onversionchange; +}; + +interface IDBObjectStore { + readonly attribute DOMString name; + readonly attribute any keyPath; + readonly attribute DOMStringList indexNames; + readonly attribute IDBTransaction transaction; + readonly attribute boolean autoIncrement; + IDBRequest put (any value, optional any key); + IDBRequest add (any value, optional any key); + IDBRequest delete (any key); + IDBRequest get (any key); + IDBRequest clear (); + IDBRequest openCursor (optional any range, optional IDBCursorDirection direction = "next"); + IDBIndex createIndex (DOMString name, (DOMString or sequence) keyPath, optional IDBIndexParameters optionalParameters); + IDBIndex index (DOMString name); + void deleteIndex (DOMString indexName); + IDBRequest count (optional any key); +}; + +interface IDBIndex { + readonly attribute DOMString name; + readonly attribute IDBObjectStore objectStore; + readonly attribute any keyPath; + readonly attribute boolean multiEntry; + readonly attribute boolean unique; + IDBRequest openCursor (optional any range, optional IDBCursorDirection direction = "next"); + IDBRequest openKeyCursor (optional any range, optional IDBCursorDirection direction = "next"); + IDBRequest get (any key); + IDBRequest getKey (any key); + IDBRequest count (optional any key); +}; + +interface IDBCursor { + readonly attribute (IDBObjectStore or IDBIndex) source; + readonly attribute IDBCursorDirection direction; + readonly attribute any key; + readonly attribute any primaryKey; + IDBRequest update (any value); + void advance ([EnforceRange] unsigned long count); + void continue (optional any key); + IDBRequest delete (); +}; + +interface IDBCursorWithValue : IDBCursor { + readonly attribute any value; +}; + +interface IDBTransaction : EventTarget { + readonly attribute IDBTransactionMode mode; + readonly attribute IDBDatabase db; + readonly attribute DOMError error; + IDBObjectStore objectStore (DOMString name); + void abort (); + attribute EventHandler onabort; + attribute EventHandler oncomplete; + attribute EventHandler onerror; +}; diff --git a/tests/wpt/web-platform-tests/IndexedDB/interfaces.worker.js b/tests/wpt/web-platform-tests/IndexedDB/interfaces.worker.js new file mode 100644 index 00000000000..5da0590bb29 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/interfaces.worker.js @@ -0,0 +1,39 @@ +"use strict"; + +importScripts("/resources/testharness.js"); +importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js"); + +var request = new XMLHttpRequest(); +request.open("GET", "interfaces.idl"); +request.send(); +request.onload = function() { + var idlArray = new IdlArray(); + var idls = request.responseText; + + idlArray.add_untested_idls("interface WorkerGlobalScope {};"); + idlArray.add_untested_idls("interface WorkerUtils {};"); + idlArray.add_untested_idls("WorkerGlobalScope implements WorkerUtils;"); + idlArray.add_untested_idls("interface Event { };"); + idlArray.add_untested_idls("interface EventTarget { };"); + + // From Indexed DB: + idlArray.add_idls("WorkerUtils implements IDBEnvironment;"); + idlArray.add_idls(idls); + + idlArray.add_objects({ + IDBCursor: [], + IDBCursorWithValue: [], + IDBDatabase: [], + IDBEnvironment: [], + IDBFactory: ["self.indexedDB"], + IDBIndex: [], + IDBKeyRange: ["IDBKeyRange.only(0)"], + IDBObjectStore: [], + IDBOpenDBRequest: [], + IDBRequest: [], + IDBTransaction: [], + IDBVersionChangeEvent: ["new IDBVersionChangeEvent('foo')"], + }); + idlArray.test(); + done(); +}; diff --git a/tests/wpt/web-platform-tests/IndexedDB/key_invalid.htm b/tests/wpt/web-platform-tests/IndexedDB/key_invalid.htm new file mode 100644 index 00000000000..30759d5ef3e --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/key_invalid.htm @@ -0,0 +1,129 @@ + + + +Invalid key + + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/key_valid.html b/tests/wpt/web-platform-tests/IndexedDB/key_valid.html new file mode 100644 index 00000000000..e695d14c4cd --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/key_valid.html @@ -0,0 +1,73 @@ + + + +Valid key + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/keygenerator-constrainterror.htm b/tests/wpt/web-platform-tests/IndexedDB/keygenerator-constrainterror.htm new file mode 100644 index 00000000000..794b271ba39 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/keygenerator-constrainterror.htm @@ -0,0 +1,76 @@ + + +Keygenerator ConstraintError when using same id as already generated + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/keygenerator-overflow.htm b/tests/wpt/web-platform-tests/IndexedDB/keygenerator-overflow.htm new file mode 100644 index 00000000000..797a184be63 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/keygenerator-overflow.htm @@ -0,0 +1,70 @@ + + +Keygenerator overflow + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/keygenerator.htm b/tests/wpt/web-platform-tests/IndexedDB/keygenerator.htm new file mode 100644 index 00000000000..8430364fc9d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/keygenerator.htm @@ -0,0 +1,67 @@ + + +Keygenerator + + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/keyorder.htm b/tests/wpt/web-platform-tests/IndexedDB/keyorder.htm new file mode 100644 index 00000000000..f65a4de4f0d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/keyorder.htm @@ -0,0 +1,180 @@ + + + +Key sort order + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/keypath.htm b/tests/wpt/web-platform-tests/IndexedDB/keypath.htm new file mode 100644 index 00000000000..539af8e500b --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/keypath.htm @@ -0,0 +1,148 @@ + + + +Keypath + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/keypath_invalid.htm b/tests/wpt/web-platform-tests/IndexedDB/keypath_invalid.htm new file mode 100644 index 00000000000..9c5bd6c2f6c --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/keypath_invalid.htm @@ -0,0 +1,65 @@ + + + +Invalid keypath + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/keypath_maxsize.htm b/tests/wpt/web-platform-tests/IndexedDB/keypath_maxsize.htm new file mode 100644 index 00000000000..5e0415dbc1d --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/keypath_maxsize.htm @@ -0,0 +1,66 @@ + + +Keypath + + + + + + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/IndexedDB/list_ordering.htm b/tests/wpt/web-platform-tests/IndexedDB/list_ordering.htm new file mode 100644 index 00000000000..8349dbae79f --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/list_ordering.htm @@ -0,0 +1,61 @@ + + +objectStoreNames and indexNames order + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/objectstore_keyorder.htm b/tests/wpt/web-platform-tests/IndexedDB/objectstore_keyorder.htm new file mode 100644 index 00000000000..69c281fd02a --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/objectstore_keyorder.htm @@ -0,0 +1,49 @@ + + +Verify key sort order in an object store is 'number < Date < DOMString' + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/request_bubble-and-capture.htm b/tests/wpt/web-platform-tests/IndexedDB/request_bubble-and-capture.htm new file mode 100644 index 00000000000..930e20ee0db --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/request_bubble-and-capture.htm @@ -0,0 +1,69 @@ + + +Bubbling and capturing of request events + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/string-list-ordering.htm b/tests/wpt/web-platform-tests/IndexedDB/string-list-ordering.htm new file mode 100644 index 00000000000..cc905e56ecf --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/string-list-ordering.htm @@ -0,0 +1,85 @@ + + + + + +Test string list ordering in IndexedDB + + + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/support.js b/tests/wpt/web-platform-tests/IndexedDB/support.js new file mode 100644 index 00000000000..858fe5d7701 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/support.js @@ -0,0 +1,122 @@ +var databaseName = "database"; +var databaseVersion = 1; + +if (!window.indexedDB) +{ + if (window.msIndexedDB) + { + window.indexedDB = window.msIndexedDB; + } + else if (window.mozIndexedDB) + { + window.indexedDB = window.mozIndexedDB; + } + else if (window.webkitIndexedDB) + { + window.indexedDB = webkitIndexedDB; + IDBCursor = webkitIDBCursor; + IDBDatabaseException = webkitIDBDatabaseException; + IDBIndex = webkitIDBIndex; + IDBObjectStore = webkitIDBObjectStore; + IDBRequest = webkitIDBRequest; + IDBKeyRange = webkitIDBKeyRange; + IDBTransaction = webkitIDBTransaction; + } +} + +/* Delete created databases + * + * Go through each finished test, see if it has an associated database. Close + * that and delete the database. */ +add_completion_callback(function(tests) +{ + for (var i in tests) + { + if(tests[i].db) + { + tests[i].db.close(); + window.indexedDB.deleteDatabase(tests[i].db.name); + } + } +}); + +function fail(test, desc) { + return test.step_func(function(e) { + if (e && e.message && e.target.error) + assert_unreached(desc + " (" + e.target.error.name + ": " + e.message + ")"); + else if (e && e.message) + assert_unreached(desc + " (" + e.message + ")"); + else if (e && e.target.readyState === 'done' && e.target.error) + assert_unreached(desc + " (" + e.target.error.name + ")"); + else + assert_unreached(desc); + }); +} + +function createdb(test, dbname, version) +{ + var rq_open = createdb_for_multiple_tests(dbname, version); + return rq_open.setTest(test); +} + +function createdb_for_multiple_tests(dbname, version) { + var rq_open, + fake_open = {}, + test = null, + dbname = (dbname ? dbname : "testdb-" + new Date().getTime() + Math.random() ); + + if (version) + rq_open = window.indexedDB.open(dbname, version); + else + rq_open = window.indexedDB.open(dbname); + + function auto_fail(evt, current_test) { + /* Fail handlers, if we haven't set on/whatever/, don't + * expect to get event whatever. */ + rq_open.manually_handled = {} + + rq_open.addEventListener(evt, function(e) { + if (current_test !== test) { + return; + } + + test.step(function() { + if (!rq_open.manually_handled[evt]) { + assert_unreached("unexpected open." + evt + " event"); + } + + if (e.target.result + "" == "[object IDBDatabase]" && !this.db) { + this.db = e.target.result; + + this.db.onerror = fail(test, "unexpected db.error"); + this.db.onabort = fail(test, "unexpected db.abort"); + this.db.onversionchange = fail(test, "unexpected db.versionchange"); + } + }) + }) + rq_open.__defineSetter__("on" + evt, function(h) { + rq_open.manually_handled[evt] = true; + if (!h) + rq_open.addEventListener(evt, function() {}); + else + rq_open.addEventListener(evt, test.step_func(h)); + }) + } + + // add a .setTest method to the DB object + Object.defineProperty(rq_open, 'setTest', { + enumerable: false, + value: function(t) { + test = t; + + auto_fail("upgradeneeded", test); + auto_fail("success", test); + auto_fail("blocked", test); + auto_fail("error", test); + + return this; + } + }); + + return rq_open; +} diff --git a/tests/wpt/web-platform-tests/IndexedDB/transaction-create_in_versionchange.htm b/tests/wpt/web-platform-tests/IndexedDB/transaction-create_in_versionchange.htm new file mode 100644 index 00000000000..be2cd224500 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/transaction-create_in_versionchange.htm @@ -0,0 +1,82 @@ + + +Attempt to create new transactions inside a versionchange transaction + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/transaction-lifetime-blocked.htm b/tests/wpt/web-platform-tests/IndexedDB/transaction-lifetime-blocked.htm new file mode 100644 index 00000000000..3288506c505 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/transaction-lifetime-blocked.htm @@ -0,0 +1,108 @@ + +Blocked event + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/transaction-lifetime.htm b/tests/wpt/web-platform-tests/IndexedDB/transaction-lifetime.htm new file mode 100644 index 00000000000..2412424fd4e --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/transaction-lifetime.htm @@ -0,0 +1,101 @@ + +Test events opening a second database when one connection is open already + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/IndexedDB/transaction-requestqueue.htm b/tests/wpt/web-platform-tests/IndexedDB/transaction-requestqueue.htm new file mode 100644 index 00000000000..b34c37e98c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/transaction-requestqueue.htm @@ -0,0 +1,91 @@ + + +Transactions have a request queue + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/transaction_bubble-and-capture.htm b/tests/wpt/web-platform-tests/IndexedDB/transaction_bubble-and-capture.htm new file mode 100644 index 00000000000..9da61f4fcde --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/transaction_bubble-and-capture.htm @@ -0,0 +1,75 @@ + + +Capture and bubble + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/value.htm b/tests/wpt/web-platform-tests/IndexedDB/value.htm new file mode 100644 index 00000000000..36e83395248 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/value.htm @@ -0,0 +1,40 @@ + + +Values + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/value_recursive.htm b/tests/wpt/web-platform-tests/IndexedDB/value_recursive.htm new file mode 100644 index 00000000000..f49a1ccbc59 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/value_recursive.htm @@ -0,0 +1,66 @@ + + +Recursive value + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/IndexedDB/writer-starvation.htm b/tests/wpt/web-platform-tests/IndexedDB/writer-starvation.htm new file mode 100644 index 00000000000..ae6c90150e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/IndexedDB/writer-starvation.htm @@ -0,0 +1,105 @@ + + +Writer starvation + + + + + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/LICENSE b/tests/wpt/web-platform-tests/LICENSE new file mode 100644 index 00000000000..28fcc080cb4 --- /dev/null +++ b/tests/wpt/web-platform-tests/LICENSE @@ -0,0 +1,29 @@ +W3C 3-clause BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of works must retain the original copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the original copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +* Neither the name of the W3C nor the names of its contributors may be + used to endorse or promote products derived from this work without + specific prior written permission. + + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/tests/wpt/web-platform-tests/README.md b/tests/wpt/web-platform-tests/README.md new file mode 100644 index 00000000000..0c1c7165ca5 --- /dev/null +++ b/tests/wpt/web-platform-tests/README.md @@ -0,0 +1,218 @@ +The Web Platform Tests Project [![IRC chat](https://goo.gl/6nCIks)](http://irc.w3.org/?channels=testing) +============================== + +These are test suites for 60+ Web-platform specifications, along +with test-infrastructure code for running the tests. + +Running the Tests +================= + +The tests are designed to be run from your local computer. The test +environment requires Python 2.7+ (but not Python 3.x). You will also +need a copy of OpenSSL. For users on Windows this is available from +[the openssl website](https://www.openssl.org/related/binaries.html). + +To get the tests running, you need to set up the test domains in your +[`hosts` file](http://en.wikipedia.org/wiki/Hosts_%28file%29%23Location_in_the_file_system). The +following entries are required: + +``` +127.0.0.1 web-platform.test +127.0.0.1 www.web-platform.test +127.0.0.1 www1.web-platform.test +127.0.0.1 www2.web-platform.test +127.0.0.1 xn--n8j6ds53lwwkrqhv28a.web-platform.test +127.0.0.1 xn--lve-6lad.web-platform.test +``` + +Because web-platform-tests uses git submodules, you must ensure that +these are up to date. In the root of your checkout, run: + +``` +git submodule update --init --recursive +``` + +The test environment can then be started using + +``` +./serve +``` + +This will start HTTP servers on two ports and a websockets server on +one port. By default one web server starts on port 8000 and the other +ports are randomly-chosen free ports. Tests must be loaded from the +*first* HTTP server in the output. To change the ports, edit the +`config.json` file, for example, replacing the part that reads: + +``` +"http": [8000, "auto"] +``` + +to some port of your choice e.g. + +``` +"http":[1234, "auto"] +``` + +If you installed OpenSSL in such a way that running `openssl` at a +command line doesn't work, you also need to adjust the path to the +OpenSSL binary. This can be done by adding a section to `config.json` +like: + +``` +"ssl": {"openssl": {"binary": "/path/to/openssl"}} +``` + +Test Runner +=========== + +There is a test runner that is designed to provide a +convenient way to run the web-platform tests in-browser. It will run +testharness.js tests automatically but requires manual work for +reftests and manual tests. + +The runner can be found at `/tools/runner/index.html` on the local +server i.e. + +``` +http://web-platform.test:8000/tools/runner/index.html +``` + +in the default configuration. The first time you use this it has to +generate a manifest of all tests. This may take some time, so please +be patient. + +Publication +=========== + +The master branch is automatically synced to http://w3c-test.org/. + +Pull requests that have been checked are automatically mirrored to +http://w3c-test.org/submissions/. + +Finding Things +============== + +Each top-level directory represents a W3C specification: the name +matches the shortname used after the canonical address of the said +specification under http://www.w3.org/TR/ . + +For some of the specifications, the tree under the top-level directory +represents the sections of the respective documents, using the section +IDs for directory names, with a maximum of three levels deep. + +So if you're looking for tests in HTML for "The History interface", +they will be under `html/browsers/history/the-history-interface/`. + +Various resources that tests depend on are in `common`, `images`, and +`fonts`. + + +If you're looking at a section of the specification and can't figure +out where the directory is for it in the tree, just run: + +``` +node tools/scripts/id2path.js your-id +``` + +Branches +======== + +In the vast majority of cases the **only** upstream branch that you +should need to care about is `master`. If you see other branches in +the repository, you can generally safely ignore them. + +Contributing +============ + +Save the Web, Write Some Tests! + +Absolutely everyone is welcome (and even encouraged) to contribute to +test development, so long as you fulfill the contribution requirements +detailed in the [Contributing Guidelines][contributing]. No test is +too small or too simple, especially if it corresponds to something for +which you've noted an interoperability bug in a browser. + +The way to contribute is just as usual: + +* Fork this repository (and make sure you're still relatively in sync + with it if you forked a while ago). +* Create a branch for your changes: + `git checkout -b your-name/topic`. +* Make your changes. +* Run the lint script described below. +* Commit locally and push that to your repo. +* Send in a pull request based on the above. + +A lint is available to test for common mistakes in testcases. It can +be run with: + +``` +./lint +``` + +in the root of the checkout. It is also run for every submitted pull +request, and branches with lint errors will not get merged. In the +unusual case that the lint is reporting an error for something that is +essential to your test, there is a whitelist at +`tools/lint/lint.whitelist` that may be updated. + +Adding command-line scripts ("tools" subdirs) +--------------------------------------------- + +Sometimes you may want to add a script to the repository that's meant +to be used from the command line, not from a browser (e.g., a script +for generating test files). If you want to ensure (e.g., for security +reasons) that such scripts won't be handled by the HTTP server, but +will instead only be usable from the command line, then place them in +either: + +* the `tools` subdir at the root of the repository, or + +* the `tools` subdir at the root of any top-level directory in the + repository which contains the tests the script is meant to be used + with + +Any files in those `tools` directories won't be handled by the HTTP +server; instead the server will return a 404 if a user navigates to +the URL for a file within them. + +If you want to add a script for use with a particular set of tests but +there isn't yet any `tools` subdir at the root of a top-level +directory in the repository containing those tests, you can create a +`tools` subdir at the root of that top-level directory and place your +scripts there. + +For example, if you wanted to add a script for use with tests in the +`notifications` directory, create the `notifications/tools` subdir and +put your script there. + +Test Review +=========== + +We can sometimes take a little while to go through pull requests +because we have to go through all the tests and ensure that they match +the specification correctly. But we look at all of them, and take +everything that we can. + +Getting Involved +================ + +If you wish to contribute actively, you're very welcome to join the +public-test-infra@w3.org mailing list (low traffic) by +[signing up to our mailing list](mailto:public-test-infra-request@w3.org?subject=subscribe). +The mailing list is [archived][mailarchive]. + +Join us on irc #testing ([irc.w3.org][ircw3org], port 6665). The channel +is [archived][ircarchive]. + +[contributing]: https://github.com/w3c/web-platform-tests/blob/master/CONTRIBUTING.md +[ircw3org]: https://www.w3.org/wiki/IRC +[ircarchive]: http://krijnhoetmer.nl/irc-logs/testing/ +[mailarchive]: http://lists.w3.org/Archives/Public/public-test-infra/ + +Documentation +============= + +* [How to write and review tests](http://testthewebforward.org/docs/) +* [Documentation for the wptserve server](http://wptserve.readthedocs.org/en/latest/) diff --git a/tests/wpt/web-platform-tests/WebCryptoAPI/README.md b/tests/wpt/web-platform-tests/WebCryptoAPI/README.md new file mode 100644 index 00000000000..5546cf2b6f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebCryptoAPI/README.md @@ -0,0 +1 @@ +Directory for Crypto API tests diff --git a/tests/wpt/web-platform-tests/WebCryptoAPI/test_getRandomValues.html b/tests/wpt/web-platform-tests/WebCryptoAPI/test_getRandomValues.html new file mode 100644 index 00000000000..62b00e9f12c --- /dev/null +++ b/tests/wpt/web-platform-tests/WebCryptoAPI/test_getRandomValues.html @@ -0,0 +1,47 @@ + + +WebCryptoAPI: getRandomValues() + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constants.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constants.html new file mode 100644 index 00000000000..450b4b334e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constants.html @@ -0,0 +1,59 @@ + + +DOMException constants + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constructor.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constructor.html new file mode 100644 index 00000000000..9dc6d9918a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/DOMException-constructor.html @@ -0,0 +1,73 @@ + + +DOMException constructor + + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object.html new file mode 100644 index 00000000000..ddb40f4ddea --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object.html @@ -0,0 +1,11 @@ + + +DOMException constructor and prototype object + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object.js b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object.js new file mode 100644 index 00000000000..e539d85dbbb --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object.js @@ -0,0 +1,111 @@ +function run_test() { + test(function() { + // "There MUST exist a property on the ECMAScript global object whose + // name is “DOMException†and value is an object called the + // DOMException constructor object, which provides access to legacy + // DOMException code constants. The property has the attributes + // { [[Writable]]: true, [[Enumerable]]: false, + // [[Configurable]]: true }." + assert_own_property(self, "DOMException", + "self does not have own property \"DOMException\""); + var desc = Object.getOwnPropertyDescriptor(self, "DOMException"); + assert_false("get" in desc, "self's property \"DOMException\" has getter"); + assert_false("set" in desc, "self's property \"DOMException\" has setter"); + assert_true(desc.writable, "self's property \"DOMException\" is not writable"); + assert_false(desc.enumerable, "self's property \"DOMException\" is enumerable"); + assert_true(desc.configurable, "self's property \"DOMException\" is not configurable"); + + // "The DOMException constructor object MUST be a function object but + // with a [[Prototype]] value of %Error% ([ECMA-262], section 6.1.7.4)." + assert_equals(Object.getPrototypeOf(self.DOMException), Error, + "prototype of self's property \"DOMException\" is not Error"); + + // "Its [[Get]] internal property is set as described in ECMA-262 + // section 9.1.8." + // Not much to test for this. + // "Its [[Construct]] internal property is set as described in ECMA-262 + // section 19.2.2.3." + // "Its @@hasInstance property is set as described in ECMA-262 section + // 19.2.3.8, unless otherwise specified." + + // String() returns something implementation-dependent, because it + // calls Function#toString. + assert_class_string(self.DOMException, "Function", + "class string of DOMException"); + + // "For every legacy code listed in the error names table, there MUST + // be a property on the DOMException constructor object whose name and + // value are as indicated in the table. The property has attributes + // { [[Writable]]: false, [[Enumerable]]: true, + // [[Configurable]]: false }." + // See DOMException-constants.html. + }, "existence and properties of DOMException"); + + test(function() { + assert_own_property(self, "DOMException", + "self does not have own property \"DOMException\""); + + // "The DOMException constructor object MUST also have a property named + // “prototype†with attributes { [[Writable]]: false, + // [[Enumerable]]: false, [[Configurable]]: false } whose value is an + // object called the DOMException prototype object. This object also + // provides access to the legacy code values." + assert_own_property(self.DOMException, "prototype", + 'exception "DOMException" does not have own property "prototype"'); + var desc = Object.getOwnPropertyDescriptor(self.DOMException, "prototype"); + assert_false("get" in desc, "DOMException.prototype has getter"); + assert_false("set" in desc, "DOMException.prototype has setter"); + assert_false(desc.writable, "DOMException.prototype is writable"); + assert_false(desc.enumerable, "DOMException.prototype is enumerable"); + assert_false(desc.configurable, "DOMException.prototype is configurable"); + + // "The DOMException prototype object MUST have an internal + // [[Prototype]] property whose value is %ErrorPrototype% ([ECMA-262], + // section 6.1.7.4)." + assert_own_property(self, "Error", + 'should inherit from Error, but self has no such property'); + assert_own_property(self.Error, "prototype", + 'should inherit from Error, but that object has no "prototype" property'); + assert_equals(Object.getPrototypeOf(self.DOMException.prototype), + self.Error.prototype, + 'prototype of DOMException.prototype is not Error.prototype'); + + // "The class string of the DOMException prototype object is + // “DOMExceptionPrototypeâ€." + assert_class_string(self.DOMException.prototype, "DOMExceptionPrototype", + "class string of DOMException.prototype"); + }, "existence and properties of DOMException.prototype"); + + test(function() { + assert_false(self.DOMException.prototype.hasOwnProperty("name"), + "DOMException.prototype should not have an own \"name\" " + + "property."); + assert_false(self.DOMException.prototype.hasOwnProperty("code"), + "DOMException.prototype should not have an own \"name\" " + + "property."); + }, "existence of name and code properties on DOMException.prototype"); + + test(function() { + assert_own_property(self, "DOMException", + "self does not have own property \"DOMException\""); + assert_own_property(self.DOMException, "prototype", + 'interface "DOMException" does not have own property "prototype"'); + + // "There MUST be a property named “constructor†on the DOMException + // prototype object with attributes { [[Writable]]: true, + // [[Enumerable]]: false, [[Configurable]]: true } and whose value is + // the DOMException constructor object." + assert_own_property(self.DOMException.prototype, "constructor", + "DOMException" + '.prototype does not have own property "constructor"'); + var desc = Object.getOwnPropertyDescriptor(self.DOMException.prototype, "constructor"); + assert_false("get" in desc, "DOMException.prototype.constructor has getter"); + assert_false("set" in desc, "DOMException.prototype.constructor has setter"); + assert_true(desc.writable, "DOMException.prototype.constructor is not writable"); + assert_false(desc.enumerable, "DOMException.prototype.constructor is enumerable"); + assert_true(desc.configurable, "DOMException.prototype.constructor in not configurable"); + assert_equals(self.DOMException.prototype.constructor, self.DOMException, + "DOMException.prototype.constructor is not the same object as DOMException"); + }, "existence and properties of exception interface prototype object's \"constructor\" property"); + + done(); +} diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object.worker.js b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object.worker.js new file mode 100644 index 00000000000..75149244f59 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/constructor-object.worker.js @@ -0,0 +1,3 @@ +importScripts("/resources/testharness.js") +importScripts("constructor-object.js") +run_test(); diff --git a/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html new file mode 100644 index 00000000000..bc1d7fe6395 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/exceptions.html @@ -0,0 +1,136 @@ + +DOMException-throwing tests + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/invalid/idl/enum.widl b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/enum.widl new file mode 100644 index 00000000000..c355c3251c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/enum.widl @@ -0,0 +1 @@ +enum foo { 1, 2, 3}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/invalid/idl/module.widl b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/module.widl new file mode 100644 index 00000000000..a4c79fdf155 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/module.widl @@ -0,0 +1,25 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +module gfx { + + module geom { + interface Shape { /* ... */ }; + interface Rectangle : Shape { /* ... */ }; + interface Path : Shape { /* ... */ }; + }; + + interface GraphicsContext { + void fillShape(geom::Shape s); + void strokeShape(geom::Shape s); + }; +}; + +module gui { + + interface Widget { /* ... */ }; + + interface Window : Widget { + gfx::GraphicsContext getGraphicsContext(); + }; + + interface Button : Widget { /* ... */ }; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/invalid/idl/nonnullableany.widl b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/nonnullableany.widl new file mode 100644 index 00000000000..38957655523 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/nonnullableany.widl @@ -0,0 +1,3 @@ +interface NonNullable { + attribute any? foo; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/invalid/idl/nonnullableobjects.widl b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/nonnullableobjects.widl new file mode 100644 index 00000000000..1deac5aeec9 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/nonnullableobjects.widl @@ -0,0 +1,5 @@ +interface Foo {}; + +interface NonNullable { + attribute Foo?? foo; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/invalid/idl/raises.widl b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/raises.widl new file mode 100644 index 00000000000..ff65522f2b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/raises.widl @@ -0,0 +1,18 @@ +// getraises and setraises are not longer valid Web IDL +interface Person { + + // An attribute that can raise an exception if it is set to an invalid value. + attribute DOMString name setraises (InvalidName); + + // An attribute whose value cannot be assigned to, and which can raise an + // exception some circumstances. + readonly attribute DOMString petName getraises (NoSuchPet); +}; + +exception SomeException { +}; + +interface ExceptionThrower { + // This attribute always throws a SomeException and never returns a value. + attribute long valueOf getraises(SomeException); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/invalid/idl/scopedname.widl b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/scopedname.widl new file mode 100644 index 00000000000..cfcb1ccc939 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/scopedname.widl @@ -0,0 +1,2 @@ +// scoped names are no longer valid in WebIDL + typedef gfx::geom::geom2d::Point Point; diff --git a/tests/wpt/web-platform-tests/WebIDL/invalid/idl/sequenceAsAttribute.widl b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/sequenceAsAttribute.widl new file mode 100644 index 00000000000..c23da82ac22 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/sequenceAsAttribute.widl @@ -0,0 +1,3 @@ +interface sequenceAsAttribute { + attribute sequence invalid; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/invalid/idl/special-omittable.widl b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/special-omittable.widl new file mode 100644 index 00000000000..bdfbfa70973 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/special-omittable.widl @@ -0,0 +1,8 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +// omittable is no longer a recognized keywoard as of 20110905 +interface Dictionary { + readonly attribute unsigned long propertyCount; + + omittable getter float getProperty(DOMString propertyName); + omittable setter void setProperty(DOMString propertyName, float propertyValue); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/invalid/idl/stringconstants.idl b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/stringconstants.idl new file mode 100644 index 00000000000..44fd3ff136e --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/invalid/idl/stringconstants.idl @@ -0,0 +1,3 @@ +interface Util { + const DOMString hello = "world"; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/readme.txt b/tests/wpt/web-platform-tests/WebIDL/readme.txt new file mode 100644 index 00000000000..12ded6acdf5 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/readme.txt @@ -0,0 +1,3 @@ +These are syntax tests for WebIDL parser. A correct parser should fail on the tests in the "invalid" directory, and should be able to collect the data necessary to generate the XML serialization for valid fragments collected in the "valid" directory. + +(the said XML serialization is the one produced by widlproc https://github.com/dontcallmedom/widlproc from which these tests have been imported) diff --git a/tests/wpt/web-platform-tests/WebIDL/testable_assertions.txt b/tests/wpt/web-platform-tests/WebIDL/testable_assertions.txt new file mode 100644 index 00000000000..c1706f8c39d --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/testable_assertions.txt @@ -0,0 +1,29 @@ +{ + "travil_test_1": { + "title": "The Title of this spec", + "specRef": "html > body:nth-child(2) > div:nth-child(1) > h1:nth-child(2)", + "notes": "This assertion is linked to the H1 in the beginning of the spec.", + "author": "Microsoft", + "date": "2012-07-11T23:39:23.634Z", + "testURL": "", + "testApproved": false + }, + "travil_test_2": { + "title": "The Initial publication of WebIDL (at the bottom of the spec)", + "specRef": "#changes > dl:nth-child(4) > dt:nth-child(19)", + "notes": "17 October 2007 was the FPWD.\nTime to start testing.", + "author": "Microsoft", + "date": "2012-07-11T23:40:41.624Z", + "testURL": "", + "testApproved": false + }, + "travil_test_3": { + "title": "This assertion should not be found (by design)", + "specRef": "#does_not_exist > div", + "notes": "This is for testing purposes only (testing the framework)", + "author": "Microsoft", + "date": "2012-07-11T23:40:41.624Z", + "testURL": "", + "testApproved": false + } +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/allowany.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/allowany.widl new file mode 100644 index 00000000000..2343bb96374 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/allowany.widl @@ -0,0 +1,6 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface B { + void g(); + void g(B b); + void g([AllowAny] DOMString s); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/array.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/array.widl new file mode 100644 index 00000000000..22e21fb6564 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/array.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[Constructor] +interface LotteryResults { + readonly attribute unsigned short[][] numbers; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/attributes.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/attributes.widl new file mode 100644 index 00000000000..7e1d691cbe2 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/attributes.widl @@ -0,0 +1,14 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +exception InvalidName { + DOMString reason; +}; + +exception NoSuchPet { }; + +interface Person { + + // A simple attribute that can be set to any value the range an unsigned + // short can take. + attribute unsigned short age; + +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/callback.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/callback.widl new file mode 100644 index 00000000000..d92f6a18c0a --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/callback.widl @@ -0,0 +1,5 @@ +callback AsyncOperationCallback = void (DOMString status); + +callback interface EventHandler { + void eventOccurred(DOMString details); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/caller.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/caller.widl new file mode 100644 index 00000000000..92acb1c0176 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/caller.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface NumberQuadrupler { + // This operation simply returns four times the given number x. + legacycaller float compute(float x); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/constants.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/constants.widl new file mode 100644 index 00000000000..5e28ae9c116 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/constants.widl @@ -0,0 +1,18 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Util { + const boolean DEBUG = false; + const short negative = -1; + const octet LF = 10; + const unsigned long BIT_MASK = 0x0000fc00; + const float AVOGADRO = 6.022e23; + const unrestricted float sobig = Infinity; + const unrestricted double minusonedividedbyzero = -Infinity; + const short notanumber = NaN; +}; + +exception Error { + const short ERR_UNKNOWN = 0; + const short ERR_OUT_OF_MEMORY = 1; + + short errorCode; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/constructor.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/constructor.widl new file mode 100644 index 00000000000..f93ec08a6e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/constructor.widl @@ -0,0 +1,9 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[Constructor, + Constructor(float radius)] +interface Circle { + attribute float r; + attribute float cx; + attribute float cy; + readonly attribute float circumference; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/dictionary-inherits.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/dictionary-inherits.widl new file mode 100644 index 00000000000..48f8a0fdceb --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/dictionary-inherits.widl @@ -0,0 +1,9 @@ +dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + +dictionary WetPaintOptions : PaintOptions { + float hydrometry; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/dictionary.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/dictionary.widl new file mode 100644 index 00000000000..f46b7ba7806 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/dictionary.widl @@ -0,0 +1,11 @@ +// Extracted from Web IDL editors draft May 31 2011 +dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + +partial dictionary A { + long h; + long d; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/documentation-dos.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/documentation-dos.widl new file mode 100644 index 00000000000..fb801101f14 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/documentation-dos.widl @@ -0,0 +1,33 @@ +/** +* \brief Testing documentation features +* +* This is a +* single paragraph +* +*

                                                        This is valid.

                                                        +*

                                                        This is valid.

                                                        +*

                                                        This is valid.

                                                        +*

                                                        This is valid.

                                                        +*
                                                          +*
                                                        • This
                                                        • +*
                                                        • is
                                                        • +*
                                                        • valid
                                                        • +*
                                                        +*
                                                        +*
                                                        This
                                                        +*
                                                        valid
                                                        +*
                                                        +* +* +* +* +* +* +* +* +*
                                                        thisis
                                                        valid
                                                        +*

                                                        This is
                                                        valid.

                                                        +*

                                                        This is
                                                        valid.

                                                        +*

                                                        This is
                                                        valid.

                                                        +*/ +interface Documentation {}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/documentation.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/documentation.widl new file mode 100644 index 00000000000..003e9226f67 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/documentation.widl @@ -0,0 +1,34 @@ +/** +* \brief Testing documentation features +* +* This is a +* single paragraph +* +*

                                                        This is valid.

                                                        +*

                                                        This is valid.

                                                        +*

                                                        This is valid.

                                                        +*

                                                        This is valid.

                                                        +*
                                                          +*
                                                        • This
                                                        • +*
                                                        • is
                                                        • +*
                                                        • valid
                                                        • +*
                                                        +*
                                                        +*
                                                        This
                                                        +*
                                                        valid
                                                        +*
                                                        +* +* +* +* +* +* +* +* +*
                                                        thisis
                                                        valid
                                                        +*

                                                        This is
                                                        valid.

                                                        +*

                                                        This is
                                                        valid.

                                                        +*

                                                        This is
                                                        valid.

                                                        +*

                                                        Valid

                                                        +*/ +interface Documentation {}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/enum.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/enum.widl new file mode 100644 index 00000000000..851fca2e6f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/enum.widl @@ -0,0 +1,8 @@ +enum MealType { "rice", "noodles", "other" }; + +interface Meal { + attribute MealType type; + attribute float size; // in grams + + void initialize(MealType type, float size); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/equivalent-decl.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/equivalent-decl.widl new file mode 100644 index 00000000000..6b3e0eda284 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/equivalent-decl.widl @@ -0,0 +1,18 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float getProperty(DOMString propertyName); + setter void setProperty(DOMString propertyName, float propertyValue); +}; + + +interface Dictionary { + readonly attribute unsigned long propertyCount; + + float getProperty(DOMString propertyName); + void setProperty(DOMString propertyName, float propertyValue); + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/exception-inheritance.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/exception-inheritance.widl new file mode 100644 index 00000000000..258fdeba6f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/exception-inheritance.widl @@ -0,0 +1,7 @@ +// from http://lists.w3.org/Archives/Public/public-script-coord/2010OctDec/0112.html + exception DOMException { + unsigned short code; + }; + + exception HierarchyRequestError : DOMException { }; + exception NoModificationAllowedError : DOMException { }; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/exception.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/exception.widl new file mode 100644 index 00000000000..f4b6ae29e10 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/exception.widl @@ -0,0 +1,8 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dahut { + attribute DOMString type; +}; + +exception SomeException { +}; + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/getter-setter.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/getter-setter.widl new file mode 100644 index 00000000000..bdf87e1c7c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/getter-setter.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/identifier-qualified-names.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/identifier-qualified-names.widl new file mode 100644 index 00000000000..33893d4c644 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/identifier-qualified-names.widl @@ -0,0 +1,44 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 + // Typedef identifier: "number" + // Qualified name: "::framework::number" + typedef float number; + + // Exception identifier: "FrameworkException" + // Qualified name: "::framework::FrameworkException" + exception FrameworkException { + + // Constant identifier: "ERR_NOT_FOUND" + // Qualified name: "::framework::FrameworkException::ERR_NOT_FOUND" + const long ERR_NOT_FOUND = 1; + + // Exception field identifier: "code" + long code; + }; + + // Interface identifier: "System" + // Qualified name: "::framework::System" + interface System { + + // Operation identifier: "createObject" + // Operation argument identifier: "interface" + object createObject(DOMString _interface); + + // Operation has no identifier; it declares a getter. + getter DOMString (DOMString keyName); + }; + + + // Interface identifier: "TextField" + // Qualified name: "::framework::gui::TextField" + interface TextField { + + // Attribute identifier: "const" + attribute boolean _const; + + // Attribute identifier: "value" + attribute DOMString? _value; + }; + +interface Foo { + void op(object interface); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/implements.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/implements.widl new file mode 100644 index 00000000000..7a310926f1c --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/implements.widl @@ -0,0 +1,14 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 + interface Node { + readonly attribute unsigned short nodeType; + // ... + }; + + interface EventTarget { + void addEventListener(DOMString type, + EventListener listener, + boolean useCapture); + // ... + }; + + Node implements EventTarget; diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/indexed-properties.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/indexed-properties.widl new file mode 100644 index 00000000000..acf0ed3bf84 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/indexed-properties.widl @@ -0,0 +1,12 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface OrderedMap { + readonly attribute unsigned long size; + + getter any getByIndex(unsigned long index); + setter void setByIndex(unsigned long index, any value); + deleter void removeByIndex(unsigned long index); + + getter any get(DOMString name); + setter creator void set(DOMString name, any value); + deleter void remove(DOMString name); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/inherits-getter.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/inherits-getter.widl new file mode 100644 index 00000000000..558e8116494 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/inherits-getter.widl @@ -0,0 +1,16 @@ +interface Animal { + + // A simple attribute that can be set to any string value. + readonly attribute DOMString name; +}; + +interface Person : Animal { + + // An attribute whose value cannot be assigned to. + readonly attribute unsigned short age; + + // An attribute that can raise an exception if it is set to an invalid value. + // Its getter behavior is inherited from Animal, and need not be specified + // the description of Person. + inherit attribute DOMString name; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/interface-inherits.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/interface-inherits.widl new file mode 100644 index 00000000000..7921def7727 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/interface-inherits.widl @@ -0,0 +1,12 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Animal { + attribute DOMString name; +}; + +interface Human : Animal { + attribute Dog pet; +}; + +interface Dog : Animal { + attribute Human owner; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/iterator.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/iterator.widl new file mode 100644 index 00000000000..3bf1b36dec6 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/iterator.widl @@ -0,0 +1,35 @@ +interface SessionManager { + Session getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session iterator; +}; + +interface Session { + readonly attribute DOMString username; + // ... +}; + +interface SessionManager2 { + Session2 getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session2 iterator = SessionIterator; +}; + +interface Session2 { + readonly attribute DOMString username; + // ... +}; + +interface SessionIterator { + readonly attribute unsigned long remainingSessions; +}; + + interface NodeList { + Node iterator = NodeIterator; + }; + + interface NodeIterator { + Node iterator object; + }; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/namedconstructor.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/namedconstructor.widl new file mode 100644 index 00000000000..c468b78f8e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/namedconstructor.widl @@ -0,0 +1,6 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[NamedConstructor=Audio, + NamedConstructor=Audio(DOMString src)] +interface HTMLAudioElement : HTMLMediaElement { + // ... +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/nointerfaceobject.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/nointerfaceobject.widl new file mode 100644 index 00000000000..c17d75ff8fd --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/nointerfaceobject.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[NoInterfaceObject] +interface Query { + any lookupEntry(unsigned long key); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/nullable.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/nullable.widl new file mode 100644 index 00000000000..ccbf625ff8a --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/nullable.widl @@ -0,0 +1,9 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface MyConstants { + const boolean? ARE_WE_THERE_YET = false; +}; + +interface Node { + readonly attribute DOMString? namespaceURI; + // ... +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/nullableobjects.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/nullableobjects.widl new file mode 100644 index 00000000000..83d1d40b2ac --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/nullableobjects.widl @@ -0,0 +1,13 @@ +// Extracted from WebIDL spec 2011-05-23 + +interface A { + // ... +}; +interface B { + // ... +}; +interface C { + void f(A? x); + void f(B? x); + +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/operation-optional-arg.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/operation-optional-arg.widl new file mode 100644 index 00000000000..379053b45f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/operation-optional-arg.widl @@ -0,0 +1,4 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface ColorCreator { + object createColor(float v1, float v2, float v3, optional float alpha = 3.5); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/overloading.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/overloading.widl new file mode 100644 index 00000000000..ef1288a8877 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/overloading.widl @@ -0,0 +1,20 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface A { + // ... +}; + +interface B { + // ... +}; + +interface C { + void f(A x); + void f(B x); +}; + +interface A { + /* f1 */ void f(DOMString a); + /* f2 */ void f([AllowAny] DOMString a, DOMString b, float... c); + /* f3 */ void f(); + /* f4 */ void f(long a, DOMString b, optional DOMString c, float... d); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/overridebuiltins.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/overridebuiltins.widl new file mode 100644 index 00000000000..79211c29e84 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/overridebuiltins.widl @@ -0,0 +1,6 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[OverrideBuiltins] +interface StringMap2 { + readonly attribute unsigned long length; + getter DOMString lookup(DOMString key); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/partial-interface.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/partial-interface.widl new file mode 100644 index 00000000000..90e7e0ea421 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/partial-interface.widl @@ -0,0 +1,7 @@ +interface Foo { + attribute DOMString bar; +}; + +partial interface Foo { + attribute DOMString quux; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/primitives.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/primitives.widl new file mode 100644 index 00000000000..92939601a1a --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/primitives.widl @@ -0,0 +1,19 @@ +interface Primitives { + attribute boolean truth; + attribute byte character; + attribute octet value; + attribute short number; + attribute unsigned short positive; + attribute long big; + attribute unsigned long bigpositive; + attribute long long bigbig; + attribute unsigned long long bigbigpositive; + attribute float real; + attribute double bigreal; + attribute unrestricted float realwithinfinity; + attribute unrestricted double bigrealwithinfinity; + attribute DOMString string; + attribute ByteString bytes; + attribute Date date; + attribute RegExp regexp; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/prototyperoot.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/prototyperoot.widl new file mode 100644 index 00000000000..30dd5cbca13 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/prototyperoot.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[PrototypeRoot] +interface Node { + readonly attribute unsigned short nodeType; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/putforwards.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/putforwards.widl new file mode 100644 index 00000000000..1e50a4ee394 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/putforwards.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Person { + [PutForwards=full] readonly attribute Name name; + attribute unsigned short age; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/reg-operations.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/reg-operations.widl new file mode 100644 index 00000000000..13997cb1d12 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/reg-operations.widl @@ -0,0 +1,17 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dimensions { + attribute unsigned long width; + attribute unsigned long height; +}; + +exception NoPointerDevice { }; + +interface Button { + + // An operation that takes no arguments, returns a boolean + boolean isMouseOver(); + + // Overloaded operations. + void setDimensions(Dimensions size); + void setDimensions(unsigned long width, unsigned long height); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/replaceable.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/replaceable.widl new file mode 100644 index 00000000000..c14d0c37689 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/replaceable.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Counter { + [Replaceable] readonly attribute unsigned long value; + void increment(); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/sequence.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/sequence.widl new file mode 100644 index 00000000000..a1aa931f5f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/sequence.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +// edited to remove sequence as attributes, now invalid +interface Canvas { + void drawPolygon(sequence coordinates); + sequence getInflectionPoints(); + // ... +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/serializer.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/serializer.widl new file mode 100644 index 00000000000..6f6ccd0e8d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/serializer.widl @@ -0,0 +1,64 @@ +interface Transaction { + readonly attribute Account from; + readonly attribute Account to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer; +}; + +interface Account { + attribute DOMString name; + attribute unsigned long number; + serializer DOMString serialize(); +}; + +interface Transaction2 { + readonly attribute Account2 from; + readonly attribute Account2 to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer = { from, to, amount, description }; +}; + +interface Account2 { + attribute DOMString name; + attribute unsigned long number; + serializer = number; +}; + +interface Account3 { + attribute DOMString name; + attribute unsigned long number; + + serializer = { attribute }; +}; + +interface Account4 { + getter object getItem(unsigned long index); + serializer = { getter }; +}; + +interface Account5 : Account { + attribute DOMString secondname; + serializer = { inherit, secondname }; +}; + +interface Account6 : Account { + attribute DOMString secondname; + serializer = { inherit, attribute }; +}; + +interface Account7 { + attribute DOMString name; + attribute unsigned long number; + serializer = [ name, number ]; +}; + +interface Account8 { + getter object getItem(unsigned long index); + serializer = [ getter ]; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/static.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/static.widl new file mode 100644 index 00000000000..5b2cd36590f --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/static.widl @@ -0,0 +1,11 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Point { /* ... */ }; + +interface Circle { + attribute float cx; + attribute float cy; + attribute float radius; + + static readonly attribute long triangulationCount; + static Point triangulate(Circle c1, Circle c2, Circle c3); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/stringifier-attribute.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/stringifier-attribute.widl new file mode 100644 index 00000000000..c964ecb93e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/stringifier-attribute.widl @@ -0,0 +1,6 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[Constructor] +interface Student { + attribute unsigned long id; + stringifier attribute DOMString name; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/stringifier-custom.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/stringifier-custom.widl new file mode 100644 index 00000000000..b5d7c87e7f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/stringifier-custom.widl @@ -0,0 +1,9 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[Constructor] +interface Student { + attribute unsigned long id; + attribute DOMString? familyName; + attribute DOMString givenName; + + stringifier DOMString (); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/stringifier.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/stringifier.widl new file mode 100644 index 00000000000..4eb483d9b53 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/stringifier.widl @@ -0,0 +1,8 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface A { + stringifier DOMString (); +}; + +interface A { + stringifier; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/treatasnull.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/treatasnull.widl new file mode 100644 index 00000000000..d3c55b008c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/treatasnull.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dog { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatNullAs=EmptyString] DOMString breedName); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/treatasundefined.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/treatasundefined.widl new file mode 100644 index 00000000000..e30050f8413 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/treatasundefined.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Cat { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatUndefinedAs=EmptyString] DOMString breedName); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/typedef.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/typedef.widl new file mode 100644 index 00000000000..b4c17d8d36a --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/typedef.widl @@ -0,0 +1,22 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 + interface Point { + attribute float x; + attribute float y; + }; + + typedef sequence PointSequence; + + interface Rect { + attribute Point topleft; + attribute Point bottomright; + }; + + interface Widget { + + readonly attribute Rect bounds; + + boolean pointWithinBounds(Point p); + boolean allPointsWithinBounds(PointSequence ps); + }; + + typedef [Clamp] octet value; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/typesuffixes.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/typesuffixes.widl new file mode 100644 index 00000000000..95e31c16902 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/typesuffixes.widl @@ -0,0 +1,3 @@ +interface Suffixes { + void test(sequence? foo); +}; diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/uniontype.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/uniontype.widl new file mode 100644 index 00000000000..4d99f019630 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/uniontype.widl @@ -0,0 +1,3 @@ +interface Union { + attribute (float or (Date or Event) or (Node or DOMString)?) test; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/idl/variadic-operations.widl b/tests/wpt/web-platform-tests/WebIDL/valid/idl/variadic-operations.widl new file mode 100644 index 00000000000..51fae4cc1ea --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/idl/variadic-operations.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface IntegerSet { + readonly attribute unsigned long cardinality; + + void union(long... ints); + void intersection(long... ints); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/allowany.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/allowany.widlprocxml new file mode 100644 index 00000000000..7da508bcb5c --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/allowany.widlprocxml @@ -0,0 +1,44 @@ + + + + interface B { + void g(); + void g(B b); + void g([AllowAny] DOMString s); +}; + + interface B { + void g(); + void g(B b); + void g([AllowAny] DOMString s); +}; + + void g(); + + + + + void g(B b); + + + + + + + + + void g([AllowAny] DOMString s); + + + + + + AllowAny + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/array.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/array.widlprocxml new file mode 100644 index 00000000000..3df72ff1608 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/array.widlprocxml @@ -0,0 +1,27 @@ + + + + [Constructor] +interface LotteryResults { + readonly attribute unsigned short[][] numbers; +}; + + [Constructor] +interface LotteryResults { + readonly attribute unsigned short[][] numbers; +}; + + + Constructor + + + + readonly attribute unsigned short[][] numbers; + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/attributes.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/attributes.widlprocxml new file mode 100644 index 00000000000..89bd8ac9b01 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/attributes.widlprocxml @@ -0,0 +1,38 @@ + + + + exception InvalidName { + DOMString reason; +}; + +exception NoSuchPet { }; + +interface Person { + + attribute unsigned short age; + +}; + + exception InvalidName { + DOMString reason; +}; + + DOMString reason; + + + + + exception NoSuchPet { }; + + + interface Person { + + attribute unsigned short age; + +}; + + attribute unsigned short age; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/callback.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/callback.widlprocxml new file mode 100644 index 00000000000..9eac06ce279 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/callback.widlprocxml @@ -0,0 +1,32 @@ + + + + callback AsyncOperationCallback = void (DOMString status); + +callback interface EventHandler { + void eventOccurred(DOMString details); +}; + + callback AsyncOperationCallback = void (DOMString status); + + + + + + + + + callback interface EventHandler { + void eventOccurred(DOMString details); +}; + + void eventOccurred(DOMString details); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/caller.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/caller.widlprocxml new file mode 100644 index 00000000000..9754d4e0268 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/caller.widlprocxml @@ -0,0 +1,21 @@ + + + + interface NumberQuadrupler { + legacycaller float compute(float x); +}; + + interface NumberQuadrupler { + legacycaller float compute(float x); +}; + + legacycaller float compute(float x); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/constants.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/constants.widlprocxml new file mode 100644 index 00000000000..51cb4331f75 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/constants.widlprocxml @@ -0,0 +1,85 @@ + + + + interface Util { + const boolean DEBUG = false; + const short negative = -1; + const octet LF = 10; + const unsigned long BIT_MASK = 0x0000fc00; + const float AVOGADRO = 6.022e23; + const unrestricted float sobig = Infinity; + const unrestricted double minusonedividedbyzero = -Infinity; + const short notanumber = NaN; +}; + +exception Error { + const short ERR_UNKNOWN = 0; + const short ERR_OUT_OF_MEMORY = 1; + + short errorCode; +}; + + interface Util { + const boolean DEBUG = false; + const short negative = -1; + const octet LF = 10; + const unsigned long BIT_MASK = 0x0000fc00; + const float AVOGADRO = 6.022e23; + const unrestricted float sobig = Infinity; + const unrestricted double minusonedividedbyzero = -Infinity; + const short notanumber = NaN; +}; + + const boolean DEBUG = false; + + + + const short negative = -1; + + + + const octet LF = 10; + + + + const unsigned long BIT_MASK = 0x0000fc00; + + + + const float AVOGADRO = 6.022e23; + + + + const unrestricted float sobig = Infinity; + + + + const unrestricted double minusonedividedbyzero = -Infinity; + + + + const short notanumber = NaN; + + + + + exception Error { + const short ERR_UNKNOWN = 0; + const short ERR_OUT_OF_MEMORY = 1; + + short errorCode; +}; + + const short ERR_UNKNOWN = 0; + + + + const short ERR_OUT_OF_MEMORY = 1; + + + + short errorCode; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/constructor.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/constructor.widlprocxml new file mode 100644 index 00000000000..8e78fbab365 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/constructor.widlprocxml @@ -0,0 +1,51 @@ + + + + [Constructor, + Constructor(float radius)] +interface Circle { + attribute float r; + attribute float cx; + attribute float cy; + readonly attribute float circumference; +}; + + [Constructor, + Constructor(float radius)] +interface Circle { + attribute float r; + attribute float cx; + attribute float cy; + readonly attribute float circumference; +}; + + + Constructor + + + Constructor(float radius) + + + + + + + + + attribute float r; + + + + attribute float cx; + + + + attribute float cy; + + + + readonly attribute float circumference; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/dictionary-inherits.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/dictionary-inherits.widlprocxml new file mode 100644 index 00000000000..269a83cd849 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/dictionary-inherits.widlprocxml @@ -0,0 +1,44 @@ + + + + dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + +dictionary WetPaintOptions : PaintOptions { + float hydrometry; +}; + + dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + + DOMString? fillPattern = "black"; + + + + DOMString? strokePattern = null; + + + + Point position; + + + + + dictionary WetPaintOptions : PaintOptions { + float hydrometry; +}; + + + + + float hydrometry; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/dictionary.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/dictionary.widlprocxml new file mode 100644 index 00000000000..978ccb4e271 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/dictionary.widlprocxml @@ -0,0 +1,47 @@ + + + + dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + +partial dictionary A { + long h; + long d; +}; + + dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + + DOMString? fillPattern = "black"; + + + + DOMString? strokePattern = null; + + + + Point position; + + + + + partial dictionary A { + long h; + long d; +}; + + long h; + + + + long d; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/documentation-dos.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/documentation-dos.widlprocxml new file mode 100644 index 00000000000..1611f0e576a --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/documentation-dos.widlprocxml @@ -0,0 +1,59 @@ + + + + interface Documentation {}; + + interface Documentation {}; + + + Testing documentation features + + +

                                                        +This is a +single paragraph +

                                                        +

                                                        +This is valid.

                                                        +

                                                        +This is valid.

                                                        +

                                                        +This is valid.

                                                        +

                                                        +This is valid.

                                                        +
                                                          +
                                                        • +This
                                                        • +
                                                        • +is
                                                        • +
                                                        • +valid
                                                        • +
                                                        +
                                                        +
                                                        +This
                                                        +
                                                        +valid
                                                        +
                                                        + + + + + + + + +
                                                        +this +is
                                                        +valid
                                                        +

                                                        +This is
                                                        valid.

                                                        +

                                                        +This is
                                                        valid.

                                                        +

                                                        +This is
                                                        valid.

                                                        +
                                                        +
                                                        +
                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/documentation.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/documentation.widlprocxml new file mode 100644 index 00000000000..afe4527c221 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/documentation.widlprocxml @@ -0,0 +1,61 @@ + + + + interface Documentation {}; + + interface Documentation {}; + + + Testing documentation features + + +

                                                        +This is a +single paragraph +

                                                        +

                                                        +This is valid.

                                                        +

                                                        +This is valid.

                                                        +

                                                        +This is valid.

                                                        +

                                                        +This is valid.

                                                        +
                                                          +
                                                        • +This
                                                        • +
                                                        • +is
                                                        • +
                                                        • +valid
                                                        • +
                                                        +
                                                        +
                                                        +This
                                                        +
                                                        +valid
                                                        +
                                                        + + + + + + + + +
                                                        +this +is
                                                        +valid
                                                        +

                                                        +This is
                                                        valid.

                                                        +

                                                        +This is
                                                        valid.

                                                        +

                                                        +This is
                                                        valid.

                                                        +

                                                        +Valid

                                                        +
                                                        +
                                                        +
                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/enum.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/enum.widlprocxml new file mode 100644 index 00000000000..e1e8258fbd0 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/enum.widlprocxml @@ -0,0 +1,52 @@ + + + + enum MealType { "rice", "noodles", "other" }; + +interface Meal { + attribute MealType type; + attribute float size; + + void initialize(MealType type, float size); +}; + + enum MealType { "rice", "noodles", "other" }; + + "rice + + + "noodles + + + "other + + + + interface Meal { + attribute MealType type; + attribute float size; + + void initialize(MealType type, float size); +}; + + attribute MealType type; + + + + attribute float size; + + + + void initialize(MealType type, float size); + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/equivalent-decl.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/equivalent-decl.widlprocxml new file mode 100644 index 00000000000..c322d0a5e22 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/equivalent-decl.widlprocxml @@ -0,0 +1,111 @@ + + + + interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float getProperty(DOMString propertyName); + setter void setProperty(DOMString propertyName, float propertyValue); +}; + + +interface Dictionary { + readonly attribute unsigned long propertyCount; + + float getProperty(DOMString propertyName); + void setProperty(DOMString propertyName, float propertyValue); + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; + + interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float getProperty(DOMString propertyName); + setter void setProperty(DOMString propertyName, float propertyValue); +}; + + readonly attribute unsigned long propertyCount; + + + + getter float getProperty(DOMString propertyName); + + + + + + + + + setter void setProperty(DOMString propertyName, float propertyValue); + + + + + + + + + + + + + interface Dictionary { + readonly attribute unsigned long propertyCount; + + float getProperty(DOMString propertyName); + void setProperty(DOMString propertyName, float propertyValue); + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; + + readonly attribute unsigned long propertyCount; + + + + float getProperty(DOMString propertyName); + + + + + + + + + void setProperty(DOMString propertyName, float propertyValue); + + + + + + + + + + + + getter float (DOMString propertyName); + + + + + + + + + setter void (DOMString propertyName, float propertyValue); + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/exception-inheritance.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/exception-inheritance.widlprocxml new file mode 100644 index 00000000000..3a1f868a4b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/exception-inheritance.widlprocxml @@ -0,0 +1,31 @@ + + + + exception DOMException { + unsigned short code; + }; + + exception HierarchyRequestError : DOMException { }; + exception NoModificationAllowedError : DOMException { }; + + exception DOMException { + unsigned short code; + }; + + unsigned short code; + + + + + exception HierarchyRequestError : DOMException { }; + + + + + + exception NoModificationAllowedError : DOMException { }; + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/exception.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/exception.widlprocxml new file mode 100644 index 00000000000..ac93320fe16 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/exception.widlprocxml @@ -0,0 +1,23 @@ + + + + interface Dahut { + attribute DOMString type; +}; + +exception SomeException { +}; + + interface Dahut { + attribute DOMString type; +}; + + attribute DOMString type; + + + + + exception SomeException { +}; + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/getter-setter.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/getter-setter.widlprocxml new file mode 100644 index 00000000000..76afc058c68 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/getter-setter.widlprocxml @@ -0,0 +1,43 @@ + + + + interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; + + interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; + + readonly attribute unsigned long propertyCount; + + + + getter float (DOMString propertyName); + + + + + + + + + setter void (DOMString propertyName, float propertyValue); + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/identifier-qualified-names.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/identifier-qualified-names.widlprocxml new file mode 100644 index 00000000000..b6024e5ff68 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/identifier-qualified-names.widlprocxml @@ -0,0 +1,107 @@ + + + + typedef float number; + + exception FrameworkException { + + const long ERR_NOT_FOUND = 1; + + long code; + }; + + interface System { + + object createObject(DOMString _interface); + + getter DOMString (DOMString keyName); + }; + + + interface TextField { + + attribute boolean _const; + + attribute DOMString? _value; + }; + +interface Foo { + void op(object interface); +}; + + typedef float number; + + + + exception FrameworkException { + + const long ERR_NOT_FOUND = 1; + + long code; + }; + + const long ERR_NOT_FOUND = 1; + + + + long code; + + + + + interface System { + + object createObject(DOMString _interface); + + getter DOMString (DOMString keyName); + }; + + object createObject(DOMString _interface); + + + + + + + + + getter DOMString (DOMString keyName); + + + + + + + + + + interface TextField { + + attribute boolean _const; + + attribute DOMString? _value; + }; + + attribute boolean _const; + + + + attribute DOMString? _value; + + + + + interface Foo { + void op(object interface); +}; + + void op(object interface); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/implements.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/implements.widlprocxml new file mode 100644 index 00000000000..3d1c1ab8478 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/implements.widlprocxml @@ -0,0 +1,51 @@ + + + + interface Node { + readonly attribute unsigned short nodeType; + }; + + interface EventTarget { + void addEventListener(DOMString type, + EventListener listener, + boolean useCapture); + }; + + Node implements EventTarget; + + interface Node { + readonly attribute unsigned short nodeType; + }; + + readonly attribute unsigned short nodeType; + + + + + interface EventTarget { + void addEventListener(DOMString type, + EventListener listener, + boolean useCapture); + }; + + void addEventListener(DOMString type, + EventListener listener, + boolean useCapture); + + + + + + + + + + + + + + + + Node implements EventTarget; + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/indexed-properties.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/indexed-properties.widlprocxml new file mode 100644 index 00000000000..fb83621b60d --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/indexed-properties.widlprocxml @@ -0,0 +1,92 @@ + + + + interface OrderedMap { + readonly attribute unsigned long size; + + getter any getByIndex(unsigned long index); + setter void setByIndex(unsigned long index, any value); + deleter void removeByIndex(unsigned long index); + + getter any get(DOMString name); + setter creator void set(DOMString name, any value); + deleter void remove(DOMString name); +}; + + interface OrderedMap { + readonly attribute unsigned long size; + + getter any getByIndex(unsigned long index); + setter void setByIndex(unsigned long index, any value); + deleter void removeByIndex(unsigned long index); + + getter any get(DOMString name); + setter creator void set(DOMString name, any value); + deleter void remove(DOMString name); +}; + + readonly attribute unsigned long size; + + + + getter any getByIndex(unsigned long index); + + + + + + + + + setter void setByIndex(unsigned long index, any value); + + + + + + + + + + + + deleter void removeByIndex(unsigned long index); + + + + + + + + + getter any get(DOMString name); + + + + + + + + + setter creator void set(DOMString name, any value); + + + + + + + + + + + + deleter void remove(DOMString name); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/inherits-getter.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/inherits-getter.widlprocxml new file mode 100644 index 00000000000..55e7a317fd9 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/inherits-getter.widlprocxml @@ -0,0 +1,44 @@ + + + + interface Animal { + + readonly attribute DOMString name; +}; + +interface Person : Animal { + + readonly attribute unsigned short age; + + inherit attribute DOMString name; +}; + + interface Animal { + + readonly attribute DOMString name; +}; + + readonly attribute DOMString name; + + + + + interface Person : Animal { + + readonly attribute unsigned short age; + + inherit attribute DOMString name; +}; + + + + + readonly attribute unsigned short age; + + + + inherit attribute DOMString name; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/interface-inherits.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/interface-inherits.widlprocxml new file mode 100644 index 00000000000..94f0e29df05 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/interface-inherits.widlprocxml @@ -0,0 +1,48 @@ + + + + interface Animal { + attribute DOMString name; +}; + +interface Human : Animal { + attribute Dog pet; +}; + +interface Dog : Animal { + attribute Human owner; +}; + + interface Animal { + attribute DOMString name; +}; + + attribute DOMString name; + + + + + interface Human : Animal { + attribute Dog pet; +}; + + + + + attribute Dog pet; + + + + + interface Dog : Animal { + attribute Human owner; +}; + + + + + attribute Human owner; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/iterator.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/iterator.widlprocxml new file mode 100644 index 00000000000..8ca95fbbd17 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/iterator.widlprocxml @@ -0,0 +1,132 @@ + + + + interface SessionManager { + Session getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session iterator; +}; + +interface Session { + readonly attribute DOMString username; +}; + +interface SessionManager2 { + Session2 getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session2 iterator = SessionIterator; +}; + +interface Session2 { + readonly attribute DOMString username; +}; + +interface SessionIterator { + readonly attribute unsigned long remainingSessions; +}; + + interface NodeList { + Node iterator = NodeIterator; + }; + + interface NodeIterator { + Node iterator object; + }; + + interface SessionManager { + Session getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session iterator; +}; + + Session getSessionForUser(DOMString username); + + + + + + + + + readonly attribute unsigned long sessionCount; + + + + Session iterator; + + + + + interface Session { + readonly attribute DOMString username; +}; + + readonly attribute DOMString username; + + + + + interface SessionManager2 { + Session2 getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session2 iterator = SessionIterator; +}; + + Session2 getSessionForUser(DOMString username); + + + + + + + + + readonly attribute unsigned long sessionCount; + + + + Session2 iterator = SessionIterator; + + + + + interface Session2 { + readonly attribute DOMString username; +}; + + readonly attribute DOMString username; + + + + + interface SessionIterator { + readonly attribute unsigned long remainingSessions; +}; + + readonly attribute unsigned long remainingSessions; + + + + + interface NodeList { + Node iterator = NodeIterator; + }; + + Node iterator = NodeIterator; + + + + + interface NodeIterator { + Node iterator object; + }; + + Node iterator object; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/module.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/module.widlprocxml new file mode 100644 index 00000000000..b575b8705af --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/module.widlprocxml @@ -0,0 +1,99 @@ + + + + + module gfx { + + module geom { + interface Shape { }; + interface Rectangle : Shape { }; + interface Path : Shape { }; + }; + + interface GraphicsContext { + void fillShape(geom::Shape s); + void strokeShape(geom::Shape s); + }; +}; + + module geom { + interface Shape { }; + interface Rectangle : Shape { }; + interface Path : Shape { }; + }; + + interface Shape { }; + + + interface Rectangle : Shape { }; + + + + + + interface Path : Shape { }; + + + + + + + interface GraphicsContext { + void fillShape(geom::Shape s); + void strokeShape(geom::Shape s); + }; + + void fillShape(geom::Shape s); + + + + + + + + + void strokeShape(geom::Shape s); + + + + + + + + + + + module gui { + + interface Widget { }; + + interface Window : Widget { + gfx::GraphicsContext getGraphicsContext(); + }; + + interface Button : Widget { }; +}; + + interface Widget { }; + + + interface Window : Widget { + gfx::GraphicsContext getGraphicsContext(); + }; + + + + + gfx::GraphicsContext getGraphicsContext(); + + + + + + interface Button : Widget { }; + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/namedconstructor.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/namedconstructor.widlprocxml new file mode 100644 index 00000000000..9f661612879 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/namedconstructor.widlprocxml @@ -0,0 +1,30 @@ + + + + [NamedConstructor=Audio, + NamedConstructor=Audio(DOMString src)] +interface HTMLAudioElement : HTMLMediaElement { +}; + + [NamedConstructor=Audio, + NamedConstructor=Audio(DOMString src)] +interface HTMLAudioElement : HTMLMediaElement { +}; + + + NamedConstructor + + + NamedConstructor=Audio(DOMString src) + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/namespaceobject.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/namespaceobject.widlprocxml new file mode 100644 index 00000000000..af0cde93719 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/namespaceobject.widlprocxml @@ -0,0 +1,60 @@ + + + + + [NamespaceObject] +module acme { + + exception DeviceException { }; + + module pim { + + [Constructor] + interface Contact { }; + + [Constructor, + NamedConstructor=RecurringEvent(long freq)] + interface CalendarEvent { }; + }; +}; + + + + + exception DeviceException { }; + + + module pim { + + [Constructor] + interface Contact { }; + + [Constructor, + NamedConstructor=RecurringEvent(long freq)] + interface CalendarEvent { }; + }; + + [Constructor] + interface Contact { }; + + + + + + [Constructor, + NamedConstructor=RecurringEvent(long freq)] + interface CalendarEvent { }; + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/nointerfaceobject.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/nointerfaceobject.widlprocxml new file mode 100644 index 00000000000..f64f116b60f --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/nointerfaceobject.widlprocxml @@ -0,0 +1,28 @@ + + + + [NoInterfaceObject] +interface Query { + any lookupEntry(unsigned long key); +}; + + [NoInterfaceObject] +interface Query { + any lookupEntry(unsigned long key); +}; + + + NoInterfaceObject + + + + any lookupEntry(unsigned long key); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/nullable.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/nullable.widlprocxml new file mode 100644 index 00000000000..8739e443262 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/nullable.widlprocxml @@ -0,0 +1,29 @@ + + + + interface MyConstants { + const boolean? ARE_WE_THERE_YET = false; +}; + +interface Node { + readonly attribute DOMString? namespaceURI; +}; + + interface MyConstants { + const boolean? ARE_WE_THERE_YET = false; +}; + + const boolean? ARE_WE_THERE_YET = false; + + + + + interface Node { + readonly attribute DOMString? namespaceURI; +}; + + readonly attribute DOMString? namespaceURI; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/nullableobjects.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/nullableobjects.widlprocxml new file mode 100644 index 00000000000..22d9fdd25d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/nullableobjects.widlprocxml @@ -0,0 +1,46 @@ + + + + interface A { +}; +interface B { +}; +interface C { + void f(A? x); + void f(B? x); + +}; + + interface A { +}; + + + interface B { +}; + + + interface C { + void f(A? x); + void f(B? x); + +}; + + void f(A? x); + + + + + + + + + void f(B? x); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/operation-optional-arg.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/operation-optional-arg.widlprocxml new file mode 100644 index 00000000000..54aef1f87e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/operation-optional-arg.widlprocxml @@ -0,0 +1,30 @@ + + + + interface ColorCreator { + object createColor(float v1, float v2, float v3, optional float alpha = 3.5); +}; + + interface ColorCreator { + object createColor(float v1, float v2, float v3, optional float alpha = 3.5); +}; + + object createColor(float v1, float v2, float v3, optional float alpha = 3.5); + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/overloading.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/overloading.widlprocxml new file mode 100644 index 00000000000..db6da7a68c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/overloading.widlprocxml @@ -0,0 +1,113 @@ + + + + interface A { +}; + +interface B { +}; + +interface C { + void f(A x); + void f(B x); +}; + +interface A { +void f(DOMString a); +void f([AllowAny] DOMString a, DOMString b, float... c); +void f(); +void f(long a, DOMString b, optional DOMString c, float... d); +}; + + interface A { +}; + + + interface B { +}; + + + interface C { + void f(A x); + void f(B x); +}; + + void f(A x); + + + + + + + + + void f(B x); + + + + + + + + + + interface A { +void f(DOMString a); +void f([AllowAny] DOMString a, DOMString b, float... c); +void f(); +void f(long a, DOMString b, optional DOMString c, float... d); +}; + + void f(DOMString a); + + + + + + + + + void f([AllowAny] DOMString a, DOMString b, float... c); + + + + + + AllowAny + + + + + + + + + + + + + + void f(); + + + + + void f(long a, DOMString b, optional DOMString c, float... d); + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/overridebuiltins.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/overridebuiltins.widlprocxml new file mode 100644 index 00000000000..56c92517beb --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/overridebuiltins.widlprocxml @@ -0,0 +1,34 @@ + + + + [OverrideBuiltins] +interface StringMap2 { + readonly attribute unsigned long length; + getter DOMString lookup(DOMString key); +}; + + [OverrideBuiltins] +interface StringMap2 { + readonly attribute unsigned long length; + getter DOMString lookup(DOMString key); +}; + + + OverrideBuiltins + + + + readonly attribute unsigned long length; + + + + getter DOMString lookup(DOMString key); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/partial-interface.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/partial-interface.widlprocxml new file mode 100644 index 00000000000..8d7dcb4e4f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/partial-interface.widlprocxml @@ -0,0 +1,29 @@ + + + + interface Foo { + attribute DOMString bar; +}; + +partial interface Foo { + attribute DOMString quux; +}; + + interface Foo { + attribute DOMString bar; +}; + + attribute DOMString bar; + + + + + partial interface Foo { + attribute DOMString quux; +}; + + attribute DOMString quux; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/primitives.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/primitives.widlprocxml new file mode 100644 index 00000000000..46977a2d74e --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/primitives.widlprocxml @@ -0,0 +1,112 @@ + + + + interface Primitives { + attribute boolean truth; + attribute byte character; + attribute octet value; + attribute short number; + attribute unsigned short positive; + attribute long big; + attribute unsigned long bigpositive; + attribute long long bigbig; + attribute unsigned long long bigbigpositive; + attribute float real; + attribute double bigreal; + attribute unrestricted float realwithinfinity; + attribute unrestricted double bigrealwithinfinity; + attribute DOMString string; + attribute ByteString bytes; + attribute Date date; + attribute RegExp regexp; +}; + + interface Primitives { + attribute boolean truth; + attribute byte character; + attribute octet value; + attribute short number; + attribute unsigned short positive; + attribute long big; + attribute unsigned long bigpositive; + attribute long long bigbig; + attribute unsigned long long bigbigpositive; + attribute float real; + attribute double bigreal; + attribute unrestricted float realwithinfinity; + attribute unrestricted double bigrealwithinfinity; + attribute DOMString string; + attribute ByteString bytes; + attribute Date date; + attribute RegExp regexp; +}; + + attribute boolean truth; + + + + attribute byte character; + + + + attribute octet value; + + + + attribute short number; + + + + attribute unsigned short positive; + + + + attribute long big; + + + + attribute unsigned long bigpositive; + + + + attribute long long bigbig; + + + + attribute unsigned long long bigbigpositive; + + + + attribute float real; + + + + attribute double bigreal; + + + + attribute unrestricted float realwithinfinity; + + + + attribute unrestricted double bigrealwithinfinity; + + + + attribute DOMString string; + + + + attribute ByteString bytes; + + + + attribute Date date; + + + + attribute RegExp regexp; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/prototyperoot.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/prototyperoot.widlprocxml new file mode 100644 index 00000000000..2e56cd75ec3 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/prototyperoot.widlprocxml @@ -0,0 +1,23 @@ + + + + [PrototypeRoot] +interface Node { + readonly attribute unsigned short nodeType; +}; + + [PrototypeRoot] +interface Node { + readonly attribute unsigned short nodeType; +}; + + + PrototypeRoot + + + + readonly attribute unsigned short nodeType; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/putforwards.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/putforwards.widlprocxml new file mode 100644 index 00000000000..634fad55a56 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/putforwards.widlprocxml @@ -0,0 +1,27 @@ + + + + interface Person { + [PutForwards=full] readonly attribute Name name; + attribute unsigned short age; +}; + + interface Person { + [PutForwards=full] readonly attribute Name name; + attribute unsigned short age; +}; + + [PutForwards=full] readonly attribute Name name; + + + PutForwards + + + + + + attribute unsigned short age; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/reg-operations.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/reg-operations.widlprocxml new file mode 100644 index 00000000000..3b756ed68d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/reg-operations.widlprocxml @@ -0,0 +1,70 @@ + + + + interface Dimensions { + attribute unsigned long width; + attribute unsigned long height; +}; + +exception NoPointerDevice { }; + +interface Button { + + boolean isMouseOver(); + + void setDimensions(Dimensions size); + void setDimensions(unsigned long width, unsigned long height); +}; + + interface Dimensions { + attribute unsigned long width; + attribute unsigned long height; +}; + + attribute unsigned long width; + + + + attribute unsigned long height; + + + + + exception NoPointerDevice { }; + + + interface Button { + + boolean isMouseOver(); + + void setDimensions(Dimensions size); + void setDimensions(unsigned long width, unsigned long height); +}; + + boolean isMouseOver(); + + + + + void setDimensions(Dimensions size); + + + + + + + + + void setDimensions(unsigned long width, unsigned long height); + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/replaceable.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/replaceable.widlprocxml new file mode 100644 index 00000000000..f9762166825 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/replaceable.widlprocxml @@ -0,0 +1,28 @@ + + + + interface Counter { + [Replaceable] readonly attribute unsigned long value; + void increment(); +}; + + interface Counter { + [Replaceable] readonly attribute unsigned long value; + void increment(); +}; + + [Replaceable] readonly attribute unsigned long value; + + + Replaceable + + + + + + void increment(); + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/sequence.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/sequence.widlprocxml new file mode 100644 index 00000000000..d5f4564175b --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/sequence.widlprocxml @@ -0,0 +1,32 @@ + + + + interface Canvas { + void drawPolygon(sequence<float> coordinates); + sequence<float> getInflectionPoints(); +}; + + interface Canvas { + void drawPolygon(sequence<float> coordinates); + sequence<float> getInflectionPoints(); +}; + + void drawPolygon(sequence<float> coordinates); + + + + + + + + + + + sequence<float> getInflectionPoints(); + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/serializer.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/serializer.widlprocxml new file mode 100644 index 00000000000..eb4219f8a5e --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/serializer.widlprocxml @@ -0,0 +1,296 @@ + + + + interface Transaction { + readonly attribute Account from; + readonly attribute Account to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer; +}; + +interface Account { + attribute DOMString name; + attribute unsigned long number; + serializer DOMString serialize(); +}; + +interface Transaction2 { + readonly attribute Account2 from; + readonly attribute Account2 to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer = { from, to, amount, description }; +}; + +interface Account2 { + attribute DOMString name; + attribute unsigned long number; + serializer = number; +}; + +interface Account3 { + attribute DOMString name; + attribute unsigned long number; + + serializer = { attribute }; +}; + +interface Account4 { + getter object getItem(unsigned long index); + serializer = { getter }; +}; + +interface Account5 : Account { + attribute DOMString secondname; + serializer = { inherit, secondname }; +}; + +interface Account6 : Account { + attribute DOMString secondname; + serializer = { inherit, attribute }; +}; + +interface Account7 { + attribute DOMString name; + attribute unsigned long number; + serializer = [ name, number ]; +}; + +interface Account8 { + getter object getItem(unsigned long index); + serializer = [ getter ]; +}; + + interface Transaction { + readonly attribute Account from; + readonly attribute Account to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer; +}; + + readonly attribute Account from; + + + + readonly attribute Account to; + + + + readonly attribute float amount; + + + + readonly attribute DOMString description; + + + + readonly attribute unsigned long number; + + + + serializer; + + + + interface Account { + attribute DOMString name; + attribute unsigned long number; + serializer DOMString serialize(); +}; + + attribute DOMString name; + + + + attribute unsigned long number; + + + + serializer DOMString serialize(); + + + + + + interface Transaction2 { + readonly attribute Account2 from; + readonly attribute Account2 to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer = { from, to, amount, description }; +}; + + readonly attribute Account2 from; + + + + readonly attribute Account2 to; + + + + readonly attribute float amount; + + + + readonly attribute DOMString description; + + + + readonly attribute unsigned long number; + + + + serializer = { from, to, amount, description }; + + + + + + + + + + interface Account2 { + attribute DOMString name; + attribute unsigned long number; + serializer = number; +}; + + attribute DOMString name; + + + + attribute unsigned long number; + + + + serializer = number; + + + + interface Account3 { + attribute DOMString name; + attribute unsigned long number; + + serializer = { attribute }; +}; + + attribute DOMString name; + + + + attribute unsigned long number; + + + + serializer = { attribute }; + + + + + interface Account4 { + getter object getItem(unsigned long index); + serializer = { getter }; +}; + + getter object getItem(unsigned long index); + + + + + + + + + serializer = { getter }; + + + + + interface Account5 : Account { + attribute DOMString secondname; + serializer = { inherit, secondname }; +}; + + + + + attribute DOMString secondname; + + + + serializer = { inherit, secondname }; + + + + + + + interface Account6 : Account { + attribute DOMString secondname; + serializer = { inherit, attribute }; +}; + + + + + attribute DOMString secondname; + + + + serializer = { inherit, attribute }; + + + + + interface Account7 { + attribute DOMString name; + attribute unsigned long number; + serializer = [ name, number ]; +}; + + attribute DOMString name; + + + + attribute unsigned long number; + + + + serializer = [ name, number ]; + + + + + + + + interface Account8 { + getter object getItem(unsigned long index); + serializer = [ getter ]; +}; + + getter object getItem(unsigned long index); + + + + + + + + + serializer = [ getter ]; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/special-omittable.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/special-omittable.widlprocxml new file mode 100644 index 00000000000..1986d190a80 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/special-omittable.widlprocxml @@ -0,0 +1,37 @@ + + + + + interface Dictionary { + readonly attribute unsigned long propertyCount; + + omittable getter float getProperty(DOMString propertyName); + omittable setter void setProperty(DOMString propertyName, float propertyValue); +}; + + readonly attribute unsigned long propertyCount; + + + + omittable getter float getProperty(DOMString propertyName); + + + + + + + + + omittable setter void setProperty(DOMString propertyName, float propertyValue); + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/static.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/static.widlprocxml new file mode 100644 index 00000000000..03c14e16eba --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/static.widlprocxml @@ -0,0 +1,58 @@ + + + + interface Point { }; + +interface Circle { + attribute float cx; + attribute float cy; + attribute float radius; + + static readonly attribute long triangulationCount; + static Point triangulate(Circle c1, Circle c2, Circle c3); +}; + + interface Point { }; + + + interface Circle { + attribute float cx; + attribute float cy; + attribute float radius; + + static readonly attribute long triangulationCount; + static Point triangulate(Circle c1, Circle c2, Circle c3); +}; + + attribute float cx; + + + + attribute float cy; + + + + attribute float radius; + + + + static readonly attribute long triangulationCount; + + + + static Point triangulate(Circle c1, Circle c2, Circle c3); + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/stringifier-attribute.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/stringifier-attribute.widlprocxml new file mode 100644 index 00000000000..082ce4d341b --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/stringifier-attribute.widlprocxml @@ -0,0 +1,29 @@ + + + + [Constructor] +interface Student { + attribute unsigned long id; + stringifier attribute DOMString name; +}; + + [Constructor] +interface Student { + attribute unsigned long id; + stringifier attribute DOMString name; +}; + + + Constructor + + + + attribute unsigned long id; + + + + stringifier attribute DOMString name; + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/stringifier-custom.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/stringifier-custom.widlprocxml new file mode 100644 index 00000000000..cdab1ccfc37 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/stringifier-custom.widlprocxml @@ -0,0 +1,44 @@ + + + + [Constructor] +interface Student { + attribute unsigned long id; + attribute DOMString? familyName; + attribute DOMString givenName; + + stringifier DOMString (); +}; + + [Constructor] +interface Student { + attribute unsigned long id; + attribute DOMString? familyName; + attribute DOMString givenName; + + stringifier DOMString (); +}; + + + Constructor + + + + attribute unsigned long id; + + + + attribute DOMString? familyName; + + + + attribute DOMString givenName; + + + + stringifier DOMString (); + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/stringifier.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/stringifier.widlprocxml new file mode 100644 index 00000000000..4a18b80b704 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/stringifier.widlprocxml @@ -0,0 +1,29 @@ + + + + interface A { + stringifier DOMString (); +}; + +interface A { + stringifier; +}; + + interface A { + stringifier DOMString (); +}; + + stringifier DOMString (); + + + + + + interface A { + stringifier; +}; + + stringifier; + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/treatasnull.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/treatasnull.widlprocxml new file mode 100644 index 00000000000..a57ae163f0b --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/treatasnull.widlprocxml @@ -0,0 +1,40 @@ + + + + interface Dog { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatNullAs=EmptyString] DOMString breedName); +}; + + interface Dog { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatNullAs=EmptyString] DOMString breedName); +}; + + attribute DOMString name; + + + + attribute DOMString owner; + + + + boolean isMemberOfBreed([TreatNullAs=EmptyString] DOMString breedName); + + + + + + TreatNullAs + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/treatasundefined.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/treatasundefined.widlprocxml new file mode 100644 index 00000000000..17e71081da0 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/treatasundefined.widlprocxml @@ -0,0 +1,40 @@ + + + + interface Cat { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatUndefinedAs=EmptyString] DOMString breedName); +}; + + interface Cat { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatUndefinedAs=EmptyString] DOMString breedName); +}; + + attribute DOMString name; + + + + attribute DOMString owner; + + + + boolean isMemberOfBreed([TreatUndefinedAs=EmptyString] DOMString breedName); + + + + + + TreatUndefinedAs + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/typedef.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/typedef.widlprocxml new file mode 100644 index 00000000000..785f6706e6d --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/typedef.widlprocxml @@ -0,0 +1,100 @@ + + + + interface Point { + attribute float x; + attribute float y; + }; + + typedef sequence<Point> PointSequence; + + interface Rect { + attribute Point topleft; + attribute Point bottomright; + }; + + interface Widget { + + readonly attribute Rect bounds; + + boolean pointWithinBounds(Point p); + boolean allPointsWithinBounds(PointSequence ps); + }; + + typedef [Clamp] octet value; + + interface Point { + attribute float x; + attribute float y; + }; + + attribute float x; + + + + attribute float y; + + + + + typedef sequence<Point> PointSequence; + + + + + + interface Rect { + attribute Point topleft; + attribute Point bottomright; + }; + + attribute Point topleft; + + + + attribute Point bottomright; + + + + + interface Widget { + + readonly attribute Rect bounds; + + boolean pointWithinBounds(Point p); + boolean allPointsWithinBounds(PointSequence ps); + }; + + readonly attribute Rect bounds; + + + + boolean pointWithinBounds(Point p); + + + + + + + + + boolean allPointsWithinBounds(PointSequence ps); + + + + + + + + + + typedef [Clamp] octet value; + + + + Clamp + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/typesuffixes.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/typesuffixes.widlprocxml new file mode 100644 index 00000000000..830fe62bc0d --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/typesuffixes.widlprocxml @@ -0,0 +1,25 @@ + + + + interface Suffixes { + void test(sequence<DOMString[]?>? foo); +}; + + interface Suffixes { + void test(sequence<DOMString[]?>? foo); +}; + + void test(sequence<DOMString[]?>? foo); + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/uniontype.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/uniontype.widlprocxml new file mode 100644 index 00000000000..7d088079956 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/uniontype.widlprocxml @@ -0,0 +1,26 @@ + + + + interface Union { + attribute (float or (Date or Event) or (Node or DOMString)?) test; +}; + + interface Union { + attribute (float or (Date or Event) or (Node or DOMString)?) test; +}; + + attribute (float or (Date or Event) or (Node or DOMString)?) test; + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/WebIDL/valid/xml/variadic-operations.widlprocxml b/tests/wpt/web-platform-tests/WebIDL/valid/xml/variadic-operations.widlprocxml new file mode 100644 index 00000000000..0bc9f784413 --- /dev/null +++ b/tests/wpt/web-platform-tests/WebIDL/valid/xml/variadic-operations.widlprocxml @@ -0,0 +1,40 @@ + + + + interface IntegerSet { + readonly attribute unsigned long cardinality; + + void union(long... ints); + void intersection(long... ints); +}; + + interface IntegerSet { + readonly attribute unsigned long cardinality; + + void union(long... ints); + void intersection(long... ints); +}; + + readonly attribute unsigned long cardinality; + + + + void union(long... ints); + + + + + + + + + void intersection(long... ints); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/FormData-append.html b/tests/wpt/web-platform-tests/XMLHttpRequest/FormData-append.html new file mode 100644 index 00000000000..f20009e2a81 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/FormData-append.html @@ -0,0 +1,28 @@ + + +FormData.append + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.html b/tests/wpt/web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.html new file mode 100644 index 00000000000..c6b937bfce6 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.html @@ -0,0 +1,14 @@ + + +XMLHttpRequest#withCredentials + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.js b/tests/wpt/web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.js new file mode 100644 index 00000000000..a2834ccce25 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.js @@ -0,0 +1,43 @@ +function test_withCredentials(worker) { + test(function() { + var client = new XMLHttpRequest() + assert_false(client.withCredentials, "withCredentials defaults to false") + client.withCredentials = true + assert_true(client.withCredentials, "is true after setting") + }, "default value is false, set value is true") + + test(function() { + var client = new XMLHttpRequest() + client.open("GET", "resources/delay.py?ms=1000", true) + client.withCredentials = true + assert_true(client.withCredentials, "set in OPEN state") + }, "can also be set in OPEN state") + + test(function() { + var client = new XMLHttpRequest() + client.open("GET", "resources/delay.py?ms=1000", false) + if (worker) { + client.withCredentials = true + assert_true(client.withCredentials, "set in OPEN state") + } else { + assert_throws("InvalidAccessError", function() { + client.withCredentials = true + }) + assert_false(client.withCredentials, "set in OPEN state") + } + }, "setting on synchronous XHR") + + async_test("setting withCredentials when not in UNSENT, OPENED state").step(function() { + this.add_cleanup(done) + var client = new XMLHttpRequest() + client.open("GET", "resources/delay.py?ms=1000") + client.send() + assert_throws("InvalidStateError", function() { client.withCredentials = true }) + client.onreadystatechange = this.step_func(function() { + assert_throws("InvalidStateError", function() { client.withCredentials = true }) + if (client.readyState === 4) { + this.done() + } + }) + }) +} diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.worker.js b/tests/wpt/web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.worker.js new file mode 100644 index 00000000000..dea0da24021 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/XMLHttpRequest-withCredentials.worker.js @@ -0,0 +1,3 @@ +importScripts("/resources/testharness.js") +importScripts("XMLHttpRequest-withCredentials.js") +test_withCredentials(true); diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-after-receive.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-after-receive.htm new file mode 100644 index 00000000000..bd97b68358d --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-after-receive.htm @@ -0,0 +1,42 @@ + + + + XMLHttpRequest: abort() after successful receive should not fire "abort" event + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-after-send.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-after-send.htm new file mode 100644 index 00000000000..c4885c9911b --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-after-send.htm @@ -0,0 +1,55 @@ + + + + XMLHttpRequest: abort() after send() + + + + + + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-after-stop.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-after-stop.htm new file mode 100644 index 00000000000..87e9ebcd853 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-after-stop.htm @@ -0,0 +1,32 @@ + + + + XMLHttpRequest: abort event should fire when stop() method is used + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-after-timeout.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-after-timeout.htm new file mode 100644 index 00000000000..e8e84b1a35d --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-after-timeout.htm @@ -0,0 +1,58 @@ + + + + XMLHttpRequest: abort() after a timeout should not fire "abort" event + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-during-done.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-during-done.htm new file mode 100644 index 00000000000..a8b604fe3f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-during-done.htm @@ -0,0 +1,32 @@ + + + + XMLHttpRequest: abort() during DONE + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-during-open.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-during-open.htm new file mode 100644 index 00000000000..60a6eeecd83 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-during-open.htm @@ -0,0 +1,29 @@ + + + + XMLHttpRequest: abort() during OPEN + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-during-unsent.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-during-unsent.htm new file mode 100644 index 00000000000..bc2f5cab535 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-during-unsent.htm @@ -0,0 +1,26 @@ + + + + XMLHttpRequest: abort() during UNSENT + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-during-upload.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-during-upload.htm new file mode 100644 index 00000000000..afb28284645 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-during-upload.htm @@ -0,0 +1,42 @@ + + + + XMLHttpRequest: abort() while sending data + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-event-abort.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-event-abort.htm new file mode 100644 index 00000000000..2382241cad3 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-event-abort.htm @@ -0,0 +1,45 @@ + + + + + + + XMLHttpRequest: The abort() method: do not fire abort event in OPENED state when send() flag is unset. send() throws after abort(). + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-event-listeners.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-event-listeners.htm new file mode 100644 index 00000000000..1c50ed394dc --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-event-listeners.htm @@ -0,0 +1,25 @@ + + + + XMLHttpRequest: abort() should not reset event listeners + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-event-loadend.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-event-loadend.htm new file mode 100644 index 00000000000..8b8dfdaa422 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-event-loadend.htm @@ -0,0 +1,44 @@ + + + + + + + XMLHttpRequest: The abort() method: Fire a progress event named loadend + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-event-order.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-event-order.htm new file mode 100644 index 00000000000..b349a27d26a --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-event-order.htm @@ -0,0 +1,65 @@ + + + + + + + XMLHttpRequest: The abort() method: abort and loadend events + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-upload-event-abort.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-upload-event-abort.htm new file mode 100644 index 00000000000..1d045448b5f --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-upload-event-abort.htm @@ -0,0 +1,47 @@ + + + + + + + XMLHttpRequest: The abort() method: Fire a progress event named abort on the XMLHttpRequestUpload object + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/abort-upload-event-loadend.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-upload-event-loadend.htm new file mode 100644 index 00000000000..5b10b6530fd --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/abort-upload-event-loadend.htm @@ -0,0 +1,47 @@ + + + + + + + XMLHttpRequest: The abort() method: Fire a progress event named loadend on the XMLHttpRequestUpload object + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/anonymous-mode-unsupported.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/anonymous-mode-unsupported.htm new file mode 100644 index 00000000000..9cacf61b7d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/anonymous-mode-unsupported.htm @@ -0,0 +1,40 @@ + + + + XMLHttpRequest: anonymous mode unsupported + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/data-uri.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/data-uri.htm new file mode 100644 index 00000000000..f3edd3b6d04 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/data-uri.htm @@ -0,0 +1,53 @@ + + +XMLHttpRequest: data uri + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/event-abort.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/event-abort.htm new file mode 100644 index 00000000000..ce8d937d7fa --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/event-abort.htm @@ -0,0 +1,29 @@ + + + + XMLHttpRequest: abort event + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/event-load.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/event-load.htm new file mode 100644 index 00000000000..9098eebc743 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/event-load.htm @@ -0,0 +1,32 @@ + + +XMLHttpRequest: The send() method: Fire an event named load (synchronous flag is unset) + + + + + + +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/event-loadend.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/event-loadend.htm new file mode 100644 index 00000000000..b0c62131725 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/event-loadend.htm @@ -0,0 +1,35 @@ + + + + XMLHttpRequest: loadend event + + + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/event-loadstart.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/event-loadstart.htm new file mode 100644 index 00000000000..5149003034d --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/event-loadstart.htm @@ -0,0 +1,31 @@ + + + + XMLHttpRequest: loadstart event + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/event-progress.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/event-progress.htm new file mode 100644 index 00000000000..31b35b77217 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/event-progress.htm @@ -0,0 +1,29 @@ + + + +XMLHttpRequest: The send() method: Fire a progress event named progress (synchronous flag is unset) + + + + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm new file mode 100644 index 00000000000..4368f8c9a5d --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm @@ -0,0 +1,38 @@ + + + + + XMLHttpRequest: the LOADING state change should only happen once + + + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/event-timeout.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/event-timeout.htm new file mode 100644 index 00000000000..3368efc4b9d --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/event-timeout.htm @@ -0,0 +1,34 @@ + + + + XMLHttpRequest: timeout event + + + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.sub.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.sub.htm new file mode 100644 index 00000000000..6130bba50a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.sub.htm @@ -0,0 +1,26 @@ + + + +XMLHttpRequest: upload progress event for cross-origin requests + + + + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/event-upload-progress.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/event-upload-progress.htm new file mode 100644 index 00000000000..98c76cc3fc3 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/event-upload-progress.htm @@ -0,0 +1,26 @@ + + + +XMLHttpRequest: upload progress event + + + + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/folder.txt b/tests/wpt/web-platform-tests/XMLHttpRequest/folder.txt new file mode 100644 index 00000000000..bf1a1fdefa3 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/folder.txt @@ -0,0 +1 @@ +top diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/formdata-blob.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/formdata-blob.htm new file mode 100644 index 00000000000..5efef7b615b --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/formdata-blob.htm @@ -0,0 +1,46 @@ + + + +XMLHttpRequest: upload formdata with blob + + + + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/formdata.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/formdata.htm new file mode 100644 index 00000000000..e0d0a4e1d4b --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/formdata.htm @@ -0,0 +1,43 @@ + + + +XMLHttpRequest: upload formdata + + + + + + +
                                                        +
                                                        + +
                                                        + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/getallresponseheaders-cookies.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/getallresponseheaders-cookies.htm new file mode 100644 index 00000000000..2cd80981859 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/getallresponseheaders-cookies.htm @@ -0,0 +1,38 @@ + + + + XMLHttpRequest: getAllResponseHeaders() excludes cookies + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/getallresponseheaders-status.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/getallresponseheaders-status.htm new file mode 100644 index 00000000000..b4afc61c469 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/getallresponseheaders-status.htm @@ -0,0 +1,34 @@ + + + + XMLHttpRequest: getAllResponseHeaders() excludes status + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive.htm new file mode 100644 index 00000000000..8e0537edf17 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive.htm @@ -0,0 +1,34 @@ + + + + XMLHttpRequest: getResponseHeader() case-insensitive matching + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer.htm new file mode 100644 index 00000000000..3cbdb9c068c --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer.htm @@ -0,0 +1,32 @@ + + + + XMLHttpRequest: getResponseHeader() and HTTP trailer + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-cookies-and-more.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-cookies-and-more.htm new file mode 100644 index 00000000000..053fe441faf --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-cookies-and-more.htm @@ -0,0 +1,36 @@ + + + + XMLHttpRequest: getResponseHeader() custom/non-existent headers and cookies + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-error-state.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-error-state.htm new file mode 100644 index 00000000000..c9695fdee0f --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-error-state.htm @@ -0,0 +1,36 @@ + + + + XMLHttpRequest: getResponseHeader() in error state (failing cross-origin test) + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-server-date.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-server-date.htm new file mode 100644 index 00000000000..409bc350390 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-server-date.htm @@ -0,0 +1,29 @@ + + + + XMLHttpRequest: getResponseHeader() server and date + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-special-characters.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-special-characters.htm new file mode 100644 index 00000000000..980f8481c7e --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-special-characters.htm @@ -0,0 +1,34 @@ + + + + XMLHttpRequest: getResponseHeader() funny characters + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-unsent-opened-state.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-unsent-opened-state.htm new file mode 100644 index 00000000000..e3bc2720f12 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/getresponseheader-unsent-opened-state.htm @@ -0,0 +1,32 @@ + + + + XMLHttpRequest: getResponseHeader() in unsent, opened states + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/interfaces.html b/tests/wpt/web-platform-tests/XMLHttpRequest/interfaces.html new file mode 100644 index 00000000000..96de3c00f94 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/interfaces.html @@ -0,0 +1,171 @@ + + +XMLHttpRequest IDL tests + + + + + +

                                                        XMLHttpRequest IDL tests

                                                        +
                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-after-abort.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-after-abort.htm new file mode 100644 index 00000000000..ca8a4e1e62f --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-after-abort.htm @@ -0,0 +1,35 @@ + + + + XMLHttpRequest: open() after abort() + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-after-setrequestheader.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-after-setrequestheader.htm new file mode 100644 index 00000000000..525edbfc1ab --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-after-setrequestheader.htm @@ -0,0 +1,33 @@ + + + + XMLHttpRequest: open() after setRequestHeader() + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-during-abort.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-during-abort.htm new file mode 100755 index 00000000000..1d01415d55b --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-during-abort.htm @@ -0,0 +1,32 @@ + + + + XMLHttpRequest: open() during abort() + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-bogus.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-bogus.htm new file mode 100644 index 00000000000..263e7b6db7e --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-bogus.htm @@ -0,0 +1,28 @@ + + + + XMLHttpRequest: open() - bogus methods + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-case-insensitive.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-case-insensitive.htm new file mode 100644 index 00000000000..103381745a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-case-insensitive.htm @@ -0,0 +1,29 @@ + + + + XMLHttpRequest: open() - case-insensitive methods test + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-case-sensitive.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-case-sensitive.htm new file mode 100644 index 00000000000..270e32d67a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-case-sensitive.htm @@ -0,0 +1,31 @@ + + + + XMLHttpRequest: open() - case-sensitive methods test + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-insecure.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-insecure.htm new file mode 100644 index 00000000000..1a77ff3ec79 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-insecure.htm @@ -0,0 +1,29 @@ + + + + XMLHttpRequest: open() - "insecure" methods + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-responsetype-set-sync.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-responsetype-set-sync.htm new file mode 100644 index 00000000000..543a1390cdd --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-method-responsetype-set-sync.htm @@ -0,0 +1,29 @@ + + + + XMLHttpRequest: open() sync request not allowed if responseType is set + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-open-send.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-open-send.htm new file mode 100644 index 00000000000..ebc1801ab53 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-open-send.htm @@ -0,0 +1,33 @@ + + + + XMLHttpRequest: open() - open() - send() + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-open-sync-send.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-open-sync-send.htm new file mode 100644 index 00000000000..b0badfd8aa0 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-open-sync-send.htm @@ -0,0 +1,31 @@ + + + + XMLHttpRequest: open() - open() (sync) - send() + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-referer.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-referer.htm new file mode 100644 index 00000000000..4ffdfe0c5d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-referer.htm @@ -0,0 +1,20 @@ + + + + XMLHttpRequest: open() - value of Referer header + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-send-open.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-send-open.htm new file mode 100644 index 00000000000..d57592c0ba3 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-send-open.htm @@ -0,0 +1,33 @@ + + + + XMLHttpRequest: open() - send() - open() + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-sync-open-send.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-sync-open-send.htm new file mode 100644 index 00000000000..cc81c522394 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-sync-open-send.htm @@ -0,0 +1,41 @@ + + + + XMLHttpRequest: open() (sync) - send() - open() + + + + + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-about-blank-window.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-about-blank-window.htm new file mode 100644 index 00000000000..5be3b77ddfe --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-about-blank-window.htm @@ -0,0 +1,23 @@ + + + + XMLHttpRequest: open() resolving URLs (about:blank iframe) + + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-base-inserted-after-open.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-base-inserted-after-open.htm new file mode 100644 index 00000000000..a4d641fafcf --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-base-inserted-after-open.htm @@ -0,0 +1,24 @@ + + + + XMLHttpRequest: open() resolving URLs - insert <base> after open() + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-base-inserted.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-base-inserted.htm new file mode 100644 index 00000000000..69ad6193d8e --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-base-inserted.htm @@ -0,0 +1,24 @@ + + + + XMLHttpRequest: open() resolving URLs - insert <base> + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-base.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-base.htm new file mode 100644 index 00000000000..3c0e8c99d51 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-base.htm @@ -0,0 +1,22 @@ + + + + XMLHttpRequest: open() resolving URLs - <base> + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-bogus.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-bogus.htm new file mode 100644 index 00000000000..a4e296d5709 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-bogus.htm @@ -0,0 +1,22 @@ + + + + XMLHttpRequest: open() - bogus URLs + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-encoding.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-encoding.htm new file mode 100644 index 00000000000..a545d41b2a9 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-encoding.htm @@ -0,0 +1,21 @@ + + + + + XMLHttpRequest: open() - URL encoding + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-fragment.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-fragment.htm new file mode 100644 index 00000000000..6b3fdeb8ae8 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-fragment.htm @@ -0,0 +1,38 @@ + + + + XMLHttpRequest: open() resolving URLs - fragment identifier + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-javascript-window-2.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-javascript-window-2.htm new file mode 100644 index 00000000000..f5ddd424976 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-javascript-window-2.htm @@ -0,0 +1,19 @@ + + + + XMLHttpRequest: open() - resolving URLs (javascript: <iframe>; 2) + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-javascript-window.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-javascript-window.htm new file mode 100644 index 00000000000..cd208d51ad3 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-javascript-window.htm @@ -0,0 +1,28 @@ + + + + XMLHttpRequest: open() - resolving URLs (javascript: <iframe>; 1) + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window-2.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window-2.htm new file mode 100644 index 00000000000..398764e7050 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window-2.htm @@ -0,0 +1,24 @@ + + + + XMLHttpRequest: open() resolving URLs (multi-Window; 2; evil) + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window-3.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window-3.htm new file mode 100644 index 00000000000..b3652dfa508 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window-3.htm @@ -0,0 +1,24 @@ + + + + XMLHttpRequest: open() resolving URLs (multi-Window; 3; evil) + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window-4.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window-4.htm new file mode 100644 index 00000000000..9ddbb9b4772 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window-4.htm @@ -0,0 +1,50 @@ + + + + XMLHttpRequest: open() resolving URLs (multi-Window; 4; evil) + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window-5.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window-5.htm new file mode 100644 index 00000000000..a27d2b366c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window-5.htm @@ -0,0 +1,30 @@ + + + + XMLHttpRequest: open() resolving URLs (multi-Window; 5) + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window.htm new file mode 100644 index 00000000000..b84aaa57fed --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-multi-window.htm @@ -0,0 +1,30 @@ + + + + XMLHttpRequest: open() resolving URLs (multi-Window; 1) + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-worker-origin.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-worker-origin.htm new file mode 100644 index 00000000000..bad2ec4d6c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-worker-origin.htm @@ -0,0 +1,44 @@ + + + + + XMLHttpRequest: worker scripts, origin and referrer + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-worker-simple.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-worker-simple.htm new file mode 100644 index 00000000000..f0613c1a2d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-url-worker-simple.htm @@ -0,0 +1,26 @@ + + + + + XMLHttpRequest: relative URLs in worker scripts resolved by script URL + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/open-user-password-non-same-origin.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/open-user-password-non-same-origin.htm new file mode 100644 index 00000000000..e49888cd493 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/open-user-password-non-same-origin.htm @@ -0,0 +1,25 @@ + + + + XMLHttpRequest: open() - user/pass argument and non same-origin URL doesn't throw + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-done-state.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-done-state.htm new file mode 100644 index 00000000000..a1711e6096f --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-done-state.htm @@ -0,0 +1,26 @@ + + + + XMLHttpRequest: overrideMimeType() in DONE state + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-headers-received-state-force-shiftjis.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-headers-received-state-force-shiftjis.htm new file mode 100644 index 00000000000..578e28cb227 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-headers-received-state-force-shiftjis.htm @@ -0,0 +1,34 @@ + + + + XMLHttpRequest: overrideMimeType() in HEADERS RECEIVED state, enforcing Shift-JIS encoding + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-invalid-mime-type.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-invalid-mime-type.htm new file mode 100644 index 00000000000..9cfd801e05b --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-invalid-mime-type.htm @@ -0,0 +1,25 @@ + + + + XMLHttpRequest: overrideMimeType() in unsent state, invalid MIME types + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-loading-state.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-loading-state.htm new file mode 100644 index 00000000000..cce3fa49ef7 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-loading-state.htm @@ -0,0 +1,32 @@ + + + + XMLHttpRequest: overrideMimeType() in LOADING state + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-open-state-force-utf-8.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-open-state-force-utf-8.htm new file mode 100644 index 00000000000..5a261005d97 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-open-state-force-utf-8.htm @@ -0,0 +1,27 @@ + + + + XMLHttpRequest: overrideMimeType() in open state, enforcing UTF-8 encoding + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-open-state-force-xml.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-open-state-force-xml.htm new file mode 100644 index 00000000000..fd0664a7cce --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-open-state-force-xml.htm @@ -0,0 +1,34 @@ + + + + XMLHttpRequest: overrideMimeType() in open state, XML MIME type with UTF-8 charset + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-unsent-state-force-shiftjis.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-unsent-state-force-shiftjis.htm new file mode 100644 index 00000000000..98dfe1436d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/overridemimetype-unsent-state-force-shiftjis.htm @@ -0,0 +1,27 @@ + + + + XMLHttpRequest: overrideMimeType() in unsent state, enforcing Shift-JIS encoding + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/progress-events-response-data-gzip.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/progress-events-response-data-gzip.htm new file mode 100644 index 00000000000..dc166a2396a --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/progress-events-response-data-gzip.htm @@ -0,0 +1,77 @@ + + + + XMLHttpRequest: progress events and GZIP encoding + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/readme.txt b/tests/wpt/web-platform-tests/XMLHttpRequest/readme.txt new file mode 100644 index 00000000000..2e5f64cd518 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/readme.txt @@ -0,0 +1,31 @@ +Currently this testsuite tries to provide tests for XMLHttpRequest level 1. +This test suite is not stable and is still under development. Tests may +contain bugs and may change over time as a result of those bugs being fixed. + +When more browsers implement XMLHttpRequest level 2 this testsuite will +slowly evolve most likely. + + http://dev.w3.org/2006/webapi/XMLHttpRequest/ + http://dev.w3.org/2006/webapi/XMLHttpRequest-2/ + +If the folders above give the status of the feature tested you can assume +this is against level 1 unless explicitly stated otherwise. + +NOTE: readyState and onreadystatechange are tested throughout the various +tests. statusText is tested together with status. + +NOTE: open-url-base* have absolute paths in them. They need to be adjusted +on a per location basis. + +NOTE: open-url-base-inserted-after-open.htm, open-url-base-inserted.htm, +send-authentication.htm and open-url-base.htm refer to localhost. + + +TESTS THAT ARE UNSTABLE AND (PROBABLY) NEED CHANGES + responsexml-basic (see email WHATWG) + send-authentication (see "user:password" debacle) + + +TESTS NOT STARTED ON YET + + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-arraybuffer.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-arraybuffer.htm new file mode 100644 index 00000000000..25c5d240727 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-arraybuffer.htm @@ -0,0 +1,48 @@ + + + + + + + + + XMLHttpRequest: The send() method: ArrayBuffer data + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-blob.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-blob.htm new file mode 100644 index 00000000000..5285fc180cc --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-blob.htm @@ -0,0 +1,62 @@ + + + + + + + + + + + XMLHttpRequest: The send() method: Blob data + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-es-object.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-es-object.htm new file mode 100644 index 00000000000..6f7743286ec --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-es-object.htm @@ -0,0 +1,61 @@ + + +XMLHttpRequest: passing objects to send() + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-formdata.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-formdata.htm new file mode 100644 index 00000000000..e49762e95e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-formdata.htm @@ -0,0 +1,43 @@ + + + + + + + + + XmlHttpRequest: The send() method: FormData data + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-unexpected-tostring.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-unexpected-tostring.htm new file mode 100644 index 00000000000..357a9cff9d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-data-unexpected-tostring.htm @@ -0,0 +1,57 @@ + + +XMLHttpRequest: passing objects that interfere with the XHR instance to send() + + + + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-basic.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-basic.htm new file mode 100644 index 00000000000..41c9ddec443 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-basic.htm @@ -0,0 +1,28 @@ + + + + XMLHttpRequest: send() - data argument + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus.htm new file mode 100644 index 00000000000..e834b61055d --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-document-bogus.htm @@ -0,0 +1,26 @@ + + + + XMLHttpRequest: send() - unserializable Document + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-document.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-document.htm new file mode 100644 index 00000000000..67a0ff6db49 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-document.htm @@ -0,0 +1,55 @@ + + + + XMLHttpRequest: send() - Document + + + + + + + +
                                                        + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-empty.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-empty.htm new file mode 100644 index 00000000000..ab074c77287 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-empty.htm @@ -0,0 +1,22 @@ + + + + XMLHttpRequest: send("") - empty entity body + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async.htm new file mode 100644 index 00000000000..ff4c4b4cac0 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-get-head-async.htm @@ -0,0 +1,39 @@ + + + + XMLHttpRequest: send() - non-empty data argument and GET/HEAD - async, no upload events should fire + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-get-head.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-get-head.htm new file mode 100644 index 00000000000..a95852273aa --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-get-head.htm @@ -0,0 +1,35 @@ + + + + XMLHttpRequest: send() - non-empty data argument and GET/HEAD + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-none.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-none.htm new file mode 100644 index 00000000000..11ac824f4dd --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-none.htm @@ -0,0 +1,32 @@ + + + + XMLHttpRequest: send(null) - no entity body + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub.htm new file mode 100644 index 00000000000..76e5e347837 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub.htm @@ -0,0 +1,58 @@ + + + + + + + + + + + XmlHttpRequest: The send() method: Fire a progress event named error when Network error happens (synchronous flag is unset) + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub.htm new file mode 100644 index 00000000000..cefa80ad54a --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub.htm @@ -0,0 +1,39 @@ + + + + + + + + + XmlHttpRequest: The send() method: Throw a "throw an "NetworkError" exception when Network error happens (synchronous flag is set) + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-no-response-event-loadend.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-no-response-event-loadend.htm new file mode 100644 index 00000000000..0a1eda53734 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-no-response-event-loadend.htm @@ -0,0 +1,48 @@ + + + + + + XMLHttpRequest: The send() method: Fire a progress event named loadend (no response entity body) + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-no-response-event-loadstart.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-no-response-event-loadstart.htm new file mode 100644 index 00000000000..cd4a0683ed0 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-no-response-event-loadstart.htm @@ -0,0 +1,48 @@ + + + + + + + + + + XMLHttpRequest: The send() method: Fire a progress event named loadstart (no response entity body and the state is LOADING) + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-no-response-event-order.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-no-response-event-order.htm new file mode 100644 index 00000000000..aabef30f0a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-no-response-event-order.htm @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + XMLHttpRequest: The send() method: event order when there is no response entity body + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-non-same-origin.sub.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-non-same-origin.sub.htm new file mode 100644 index 00000000000..bfa9023c110 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-non-same-origin.sub.htm @@ -0,0 +1,28 @@ + + + + XMLHttpRequest: send() - non same-origin + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-receive-utf16.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-receive-utf16.htm new file mode 100644 index 00000000000..6d6fb90a173 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-receive-utf16.htm @@ -0,0 +1,37 @@ + + +XMLHttpRequest: The send() method: receive data which is UTF-16 encoded + + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-bogus-sync.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-bogus-sync.htm new file mode 100644 index 00000000000..89e6ff0ebdf --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-bogus-sync.htm @@ -0,0 +1,26 @@ + + + + XMLHttpRequest: send() - Redirects (bogus Location header; sync) + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-bogus.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-bogus.htm new file mode 100644 index 00000000000..a46fc1d339e --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-bogus.htm @@ -0,0 +1,36 @@ + + + + XMLHttpRequest: send() - Redirects (bogus Location header) + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-infinite-sync.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-infinite-sync.htm new file mode 100644 index 00000000000..6e9e47e55fc --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-infinite-sync.htm @@ -0,0 +1,24 @@ + + + + XMLHttpRequest: send() - Redirects (infinite loop; sync) + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-infinite.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-infinite.htm new file mode 100644 index 00000000000..414e4107efc --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-infinite.htm @@ -0,0 +1,35 @@ + + + + XMLHttpRequest: send() - Redirects (infinite loop) + + + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-no-location.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-no-location.htm new file mode 100644 index 00000000000..85ae963f446 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-no-location.htm @@ -0,0 +1,40 @@ + + + + XMLHttpRequest: send() - Redirects (no Location header) + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-to-cors.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-to-cors.htm new file mode 100644 index 00000000000..f90a01b71f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-to-cors.htm @@ -0,0 +1,36 @@ + + + + XMLHttpRequest: send() - Redirect to CORS-enabled resource + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-to-non-cors.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-to-non-cors.htm new file mode 100644 index 00000000000..c6886a57b59 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect-to-non-cors.htm @@ -0,0 +1,37 @@ + + + + XMLHttpRequest: send() - Redirect to cross-origin resource, not CORS-enabled + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect.htm new file mode 100644 index 00000000000..16b3231e25b --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-redirect.htm @@ -0,0 +1,36 @@ + + + + XMLHttpRequest: send() - Redirects (basics) + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-response-event-order.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-response-event-order.htm new file mode 100644 index 00000000000..64dfaa670f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-response-event-order.htm @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + XMLHttpRequest: The send() method: event order when synchronous flag is unset + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-response-upload-event-loadend.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-response-upload-event-loadend.htm new file mode 100644 index 00000000000..99a239ab135 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-response-upload-event-loadend.htm @@ -0,0 +1,40 @@ + + + + + + + + + + + XMLHttpRequest: The send() method: Fire a progress event named loadend on the XMLHttpRequestUpload (synchronous flag is unset) + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-response-upload-event-loadstart.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-response-upload-event-loadstart.htm new file mode 100644 index 00000000000..7a9be9f8ca4 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-response-upload-event-loadstart.htm @@ -0,0 +1,39 @@ + + + + + + + + + + XMLHttpRequest: The send() method: Fire a progress event named loadstart on the XMLHttpRequestUpload (synchronous flag is unset) + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-response-upload-event-progress.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-response-upload-event-progress.htm new file mode 100644 index 00000000000..914aed7255a --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-response-upload-event-progress.htm @@ -0,0 +1,39 @@ + + + + + + + + + + XMLHttpRequest: The send() method: Fire a progress event named progress on the XMLHttpRequestUpload (synchronous flag is unset) + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-send.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-send.htm new file mode 100644 index 00000000000..5b22a3da871 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-send.htm @@ -0,0 +1,21 @@ + + + + XMLHttpRequest: send() - send() + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-blocks-async.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-blocks-async.htm new file mode 100644 index 00000000000..87caa0f7802 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-blocks-async.htm @@ -0,0 +1,66 @@ + + + + + + + + XMLHttpRequest: sync requests should block events on pending async requests + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-no-response-event-load.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-no-response-event-load.htm new file mode 100644 index 00000000000..a2a5516586d --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-no-response-event-load.htm @@ -0,0 +1,38 @@ + + + + + + + + + + + XMLHttpRequest: The send() method: Fire an event named load (no response entity body and the synchronous flag is set) + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-no-response-event-loadend.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-no-response-event-loadend.htm new file mode 100644 index 00000000000..7da2a311827 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-no-response-event-loadend.htm @@ -0,0 +1,38 @@ + + + + + + + + + + + XMLHttpRequest: The send() method: Fire an event named loadend (no response entity body and the synchronous flag is set) + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-no-response-event-order.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-no-response-event-order.htm new file mode 100644 index 00000000000..c7e3172cb00 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-no-response-event-order.htm @@ -0,0 +1,51 @@ + + + + XMLHttpRequest: The send() method: event order when synchronous flag is set and there is no response entity body + + + + + + + + + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-response-event-order.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-response-event-order.htm new file mode 100644 index 00000000000..b574edb4c0e --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-response-event-order.htm @@ -0,0 +1,51 @@ + + + + + + XMLHttpRequest: The send() method: event order when synchronous flag is set + + + + + + + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-timeout.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-timeout.htm new file mode 100644 index 00000000000..08ce7e9b905 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-sync-timeout.htm @@ -0,0 +1,30 @@ + + + + XMLHttpRequest: timeout during sync send() should not run + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/send-timeout-events.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/send-timeout-events.htm new file mode 100644 index 00000000000..6aea627d661 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/send-timeout-events.htm @@ -0,0 +1,76 @@ + + + + + + XMLHttpRequest: The send() method: timeout is not 0 + + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-after-send.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-after-send.htm new file mode 100644 index 00000000000..5952144713e --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-after-send.htm @@ -0,0 +1,27 @@ + + + + XMLHttpRequest: setRequestHeader() after send() + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-allow-empty-value.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-allow-empty-value.htm new file mode 100644 index 00000000000..bd8709417f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-allow-empty-value.htm @@ -0,0 +1,26 @@ + + + + XMLHttpRequest: setRequestHeader() - empty header + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-before-open.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-before-open.htm new file mode 100644 index 00000000000..d90b02eafe6 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-before-open.htm @@ -0,0 +1,18 @@ + + + + XMLHttpRequest: setRequestHeader() before open() + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-bogus-name.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-bogus-name.htm new file mode 100644 index 00000000000..e57b8c42a9c --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-bogus-name.htm @@ -0,0 +1,48 @@ + + + + XMLHttpRequest: setRequestHeader() name argument checks + + + + + + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value.htm new file mode 100644 index 00000000000..6ae03d64989 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value.htm @@ -0,0 +1,31 @@ + + + + + XMLHttpRequest: setRequestHeader() value argument checks + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-case-insensitive.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-case-insensitive.htm new file mode 100644 index 00000000000..cf8810d0fb6 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-case-insensitive.htm @@ -0,0 +1,23 @@ + + + + XMLHttpRequest: setRequestHeader() - headers that differ in case + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm new file mode 100644 index 00000000000..a6e0eabd89a --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm @@ -0,0 +1,32 @@ + + + + XMLHttpRequest: setRequestHeader() - headers that are allowed + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-header-forbidden.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-header-forbidden.htm new file mode 100644 index 00000000000..00c0e7f75a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-header-forbidden.htm @@ -0,0 +1,43 @@ + + + + XMLHttpRequest: setRequestHeader() - headers that are forbidden + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-open-setrequestheader.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-open-setrequestheader.htm new file mode 100644 index 00000000000..56481904401 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/setrequestheader-open-setrequestheader.htm @@ -0,0 +1,60 @@ + + + + XMLHttpRequest: setRequestHeader() and open() + + + + + + +

                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/status-async.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/status-async.htm new file mode 100644 index 00000000000..dcf7d62467a --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/status-async.htm @@ -0,0 +1,62 @@ + + + + XMLHttpRequest: status/statusText - various responses + + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/status-basic.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/status-basic.htm new file mode 100644 index 00000000000..5005ceae688 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/status-basic.htm @@ -0,0 +1,49 @@ + + + + XMLHttpRequest: status/statusText - various responses + + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/status-error.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/status-error.htm new file mode 100644 index 00000000000..fbcb7fd7594 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/status-error.htm @@ -0,0 +1,60 @@ + + + + XMLHttpRequest: status error handling + + + + + + +

                                                        This shouldn't be tested inside a tunnel.

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/timeout-cors-async.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/timeout-cors-async.htm new file mode 100644 index 00000000000..35e2a30ba2f --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/timeout-cors-async.htm @@ -0,0 +1,43 @@ + + + + XMLHttpRequest: timeout event and cross-origin request + + + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/timeout-sync.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/timeout-sync.htm new file mode 100644 index 00000000000..9815532c70f --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/timeout-sync.htm @@ -0,0 +1,25 @@ + + + + XMLHttpRequest: timeout not allowed for sync requests + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-basic.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-basic.htm new file mode 100644 index 00000000000..c48b610ff66 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-basic.htm @@ -0,0 +1,45 @@ + + + + XMLHttpRequest: prototype and members + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-eventtarget.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-eventtarget.htm new file mode 100644 index 00000000000..ea58fd4dc3e --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-eventtarget.htm @@ -0,0 +1,48 @@ + + + + XMLHttpRequest: implements EventTarget + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error-sync.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error-sync.htm new file mode 100644 index 00000000000..c4a887a1ebe --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error-sync.htm @@ -0,0 +1,34 @@ + + + + XMLHttpRequest: members during network errors (sync) + + + + + + + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error.htm new file mode 100644 index 00000000000..c8e32008095 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-network-error.htm @@ -0,0 +1,39 @@ + + + + XMLHttpRequest: members during network errors + + + + + + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-aborted.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-aborted.html new file mode 100644 index 00000000000..2be888f8884 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-aborted.html @@ -0,0 +1,26 @@ + + + + + XHR2 Timeout Property Tests + + + + + + + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in async cases in document (i.e. non-worker) context.

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html new file mode 100644 index 00000000000..9226ffadddd --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html @@ -0,0 +1,23 @@ + + + + + XHR2 Timeout Property Tests + + + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in async cases in document (i.e. non-worker) context.

                                                        +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overrides.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overrides.html new file mode 100644 index 00000000000..82fee067c63 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overrides.html @@ -0,0 +1,23 @@ + + + + + XHR2 Timeout Property Tests + + + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in async cases in document (i.e. non-worker) context.

                                                        +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html new file mode 100644 index 00000000000..260844d0db6 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html @@ -0,0 +1,23 @@ + + + + + XHR2 Timeout Property Tests + + + + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in async cases in document (i.e. non-worker) context.

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-simple.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-simple.html new file mode 100644 index 00000000000..aa473442ee4 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-simple.html @@ -0,0 +1,24 @@ + + + + + XHR2 Timeout Property Tests + + + + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in async cases in document (i.e. non-worker) context.

                                                        +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-synconmain.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-synconmain.html new file mode 100644 index 00000000000..992b10efd97 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-synconmain.html @@ -0,0 +1,21 @@ + + + + + XHR2 Timeout Property Tests + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in async cases in document (i.e. non-worker) context.

                                                        +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-twice.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-twice.html new file mode 100644 index 00000000000..4634220eca4 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-twice.html @@ -0,0 +1,25 @@ + + + + + XHR2 Timeout Property Tests + + + + + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in async cases in document (i.e. non-worker) context.

                                                        +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-aborted.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-aborted.html new file mode 100644 index 00000000000..f0005afa2e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-aborted.html @@ -0,0 +1,28 @@ + + + + + XHR2 Timeout Property Tests in Worker + + + + + + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in in a worker context.

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overrides.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overrides.html new file mode 100644 index 00000000000..e3dbd5c949b --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overrides.html @@ -0,0 +1,24 @@ + + + + + XHR2 Timeout Property Tests in Worker + + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in in a worker context.

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overridesexpires.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overridesexpires.html new file mode 100644 index 00000000000..a2c8009ea74 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-overridesexpires.html @@ -0,0 +1,25 @@ + + + + + XHR2 Timeout Property Tests in Worker + + + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in in a worker context.

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-simple.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-simple.html new file mode 100644 index 00000000000..994ccb6ecce --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-simple.html @@ -0,0 +1,26 @@ + + + + + XHR2 Timeout Property Tests in Worker + + + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in in a worker context.

                                                        +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-synconworker.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-synconworker.html new file mode 100644 index 00000000000..50aa65193c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-synconworker.html @@ -0,0 +1,25 @@ + + + + + XHR2 Timeout Property Tests in Worker + + + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in in a worker context.

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-twice.html b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-twice.html new file mode 100644 index 00000000000..18f6a39248a --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-twice.html @@ -0,0 +1,26 @@ + + + + + XHR2 Timeout Property Tests in Worker + + + + + + + + + + + +

                                                        Description

                                                        +

                                                        This test validates that the XHR2 timeout property behaves as expected in in a worker context.

                                                        +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-unsent.htm b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-unsent.htm new file mode 100644 index 00000000000..a343b76e649 --- /dev/null +++ b/tests/wpt/web-platform-tests/XMLHttpRequest/xmlhttprequest-unsent.htm @@ -0,0 +1,36 @@ + + + + XMLHttpRequest: members during UNSENT + + + + + + + + + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/ambient-light/AmbientLight_tests.html b/tests/wpt/web-platform-tests/ambient-light/AmbientLight_tests.html new file mode 100644 index 00000000000..3751574ae46 --- /dev/null +++ b/tests/wpt/web-platform-tests/ambient-light/AmbientLight_tests.html @@ -0,0 +1,11 @@ + + + + +Ambient Light Events Test Suite + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/ambient-light/DeviceLightEvent_tests.js b/tests/wpt/web-platform-tests/ambient-light/DeviceLightEvent_tests.js new file mode 100644 index 00000000000..af89cb45c3f --- /dev/null +++ b/tests/wpt/web-platform-tests/ambient-light/DeviceLightEvent_tests.js @@ -0,0 +1,403 @@ +(function() { + //inheritance tests + test(function() { + var event = new DeviceLightEvent(''); + assert_true(event instanceof window.DeviceLightEvent); + }, 'the event is an instance of DeviceLightEvent'); + + test(function() { + var event = new DeviceLightEvent(''); + assert_true(event instanceof window.Event); + }, 'the event inherits from Event'); + + //Type attribute tests + test(function() { + assert_throws(new TypeError(), function() { + new DeviceLightEvent(); + }, 'First argument is required, so was expecting a TypeError.'); + }, 'Missing type argument'); + + test(function() { + var event = new DeviceLightEvent(undefined); + assert_equals(event.type, 'undefined'); + }, 'Event type set to undefined'); + + test(function() { + var event = new DeviceLightEvent(null); + assert_equals(event.type, 'null'); + }, 'type argument is null'); + + test(function() { + var event = new DeviceLightEvent(123); + assert_equals(event.type, '123'); + }, 'type argument is number'); + + test(function() { + var event = new DeviceLightEvent(new Number(123)); + assert_equals(event.type, '123'); + }, 'type argument is Number'); + + test(function() { + var event = new DeviceLightEvent([]); + assert_equals(event.type, ''); + }, 'type argument is array'); + + test(function() { + var event = new DeviceLightEvent(new Array()); + assert_equals(event.type, ''); + }, 'type argument is instance of Array'); + + test(function() { + var event = new DeviceLightEvent(['t', ['e', ['s', ['t']]]]); + assert_equals(event.type, 't,e,s,t'); + }, 'type argument is nested array'); + + test(function() { + var event = new DeviceLightEvent(Math); + assert_equals(event.type, '[object Math]'); + }, 'type argument is host object'); + + test(function() { + var event = new DeviceLightEvent(true); + assert_equals(event.type, 'true'); + }, 'type argument is boolean (true)'); + + test(function() { + var event = new DeviceLightEvent(new Boolean(true)); + assert_equals(event.type, 'true'); + }, 'type argument is instance of Boolean (true)'); + + test(function() { + var event = new DeviceLightEvent(false); + assert_equals(event.type, 'false'); + }, 'type argument is boolean (false)'); + + test(function() { + var event = new DeviceLightEvent(new Boolean(false)); + assert_equals(event.type, 'false'); + }, 'type argument is instance of Boolean (false)'); + + test(function() { + var event = new DeviceLightEvent('test'); + assert_equals(event.type, 'test'); + }, 'type argument is string'); + + test(function() { + var event = new DeviceLightEvent(new String('test')); + assert_equals(event.type, 'test'); + }, 'type argument is instance of String'); + + test(function() { + var event = new DeviceLightEvent(function test() {}); + assert_regexp_match(event.type, /function test.+{\s?}/); + }, 'type argument is function'); + + test(function() { + var event = new DeviceLightEvent({ + toString: function() { + return '123'; + } + }); + assert_equals(event.type, '123'); + }, 'type argument is complex object, with toString method'); + + test(function() { + assert_throws(new TypeError(), function() { + new DeviceLightEvent({ + toString: function() { + return function() {} + } + }); + }); + }, 'toString is of type function'); + + //eventInitDict attribute tests + test(function() { + var event = new DeviceLightEvent('test', undefined); + assert_equals(event.value, Infinity); + }, 'eventInitDict argument sets to undefined'); + + test(function() { + var event = new DeviceLightEvent('test', null); + assert_equals(event.value, Infinity); + }, 'eventInitDict argument is null'); + + test(function() { + var date = new Date(); + assert_throws(new TypeError(), function() { + new DeviceLightEvent('test', date); + }); + }, 'eventInitDict argument is Date object'); + + test(function() { + var regexp = /abc/; + assert_throws(new TypeError(), function() { + new DeviceLightEvent('test', regexp); + }); + }, 'eventInitDict argument is RegExp object'); + + test(function() { + assert_throws(new TypeError(), function() { + new DeviceLightEvent('test', false); + }); + }, 'eventInitDict argument is boolean'); + + test(function() { + assert_throws(new TypeError(), function() { + new DeviceLightEvent('test', 123); + }); + }, 'eventInitDict argument is number'); + + test(function() { + assert_throws(new TypeError(), function() { + new DeviceLightEvent('test', 'hello'); + }); + }, 'eventInitDict argument is string'); + + //test readonly attribute double value; + test(function() { + var event = new DeviceLightEvent('test'); + assert_readonly(event, 'value', 'readonly attribute value'); + }, 'value is readonly'); + + test(function() { + var event = new DeviceLightEvent('test'); + assert_equals(event.value, Infinity); + }, 'value initializes to positive Infinity'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: Infinity + }); + assert_equals(event.value, Infinity); + }, 'value set to positive Infinity'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: -Infinity + }); + assert_equals(event.value, -Infinity); + }, 'value set to negative Infinity'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: 0 + }); + assert_equals(event.value, 0); + }, 'value set to 0'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: 1 + }); + assert_equals(event.value, 1); + }, 'value set to 1'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: -1 + }); + assert_equals(event.value, -1); + }, 'value set to -1'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: 0.5 + }); + assert_equals(event.value, 0.5); + }, 'value set to 0.5'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: false + }); + assert_equals(event.value, 0, 'value set to false, converts to 0.'); + }, 'value set to false'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: true + }); + assert_equals(event.value, 1, 'value set to true, converts to 1.'); + }, 'value set to true'); + + + test(function() { + var prop = { + value: undefined + }; + try { + var event = new DeviceLightEvent('test', prop); + assert_true(isNaN(event.value)); + } catch(e) { + assert_unreached('error message: ' + e.message); + } + }, 'value of undefined resolves to NaN'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: null + }); + assert_equals(event.value, 0, 'value resolves to 0'); + }, 'value of null resolves to 0'); + + + test(function() { + var event = new DeviceLightEvent('test', { + value: '' + }); + assert_equals(event.value, 0, 'value must resolve to 0'); + }, 'value of empty string must resolve to 0'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: '\u0020' + }); + assert_equals(event.value, 0, 'value must resolve to 0'); + }, 'value of U+0020 must resolve to 0'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: '\u0020\u0020\u0020\u0020\u0020\u0020' + }); + assert_equals(event.value, 0, 'value must resolve to 0'); + }, 'value of multiple U+0020 must resolve to 0'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: '\u0020\u0020\u00201234\u0020\u0020\u0020' + }); + assert_equals(event.value, 1234, 'converts to 1234'); + }, 'converts to 1234'); + + test(function() { + var event = new DeviceLightEvent('test', { + value: [] + }); + assert_equals(event.value, 0, 'converts to 0'); + }, 'converts to 0'); + + + test(function() { + var prop = { + value: {} + }; + try { + var event = new DeviceLightEvent('test', prop); + assert_true(isNaN(event.value)); + } catch(e) { + assert_unreached('error message: ' + e.message); + } + }, 'value of {} resolves to NaN'); + + test(function() { + var prop = { + get value() { + return NaN; + } + }; + try { + var event = new DeviceLightEvent('test', prop); + assert_true(isNaN(event.value)); + } catch(e) { + assert_unreached('error message: ' + e.message); + } + }, 'value resolves to NaN'); + + test(function() { + var prop = { + get value() { + return '123'; + } + }; + var event = new DeviceLightEvent('test', prop); + assert_equals(event.value, 123, 'converts to 123'); + }, 'value resolves 123'); + + //test attribute EventHandler ondevicelight; + test(function() { + var desc = 'window.ondevicelight did not accept callable object', + descidl = 'Expected to find ondevicelight attribute on window object', + func = function() {}; + assert_idl_attribute(window, 'ondevicelight', descidl); + window.ondevicelight = func; + assert_equals(window.ondevicelight, func, desc); + }, 'expected ondevicelight on window and to be set to function'); + + test(function() { + var desc = 'window.ondevicelight must be null'; + assert_equals(window.ondevicelight, null, desc); + }, 'ondevicelight is null'); + + test(function() { + var desc = 'window.ondevicelight did not treat noncallable as null'; + window.ondevicelight = function() {}; + window.ondevicelight = {}; + assert_equals(window.ondevicelight, null, desc); + }, 'treat object as null'); + + test(function() { + var desc = 'window.ondevicelight did not treat noncallable as null'; + window.ondevicelight = function() {}; + window.ondevicelight = { + call: 'test' + }; + assert_equals(window.ondevicelight, null, desc); + }, 'treat object with non-callable call property as null'); + + test(function() { + var desc = 'window.ondevicelight did not treat noncallable (string) as null'; + window.ondevicelight = function() {}; + window.ondevicelight = 'string'; + assert_equals(window.ondevicelight, null, desc); + }, 'treat string as null'); + + test(function() { + var desc = 'window.ondevicelight did not treat noncallable (number) as null'; + window.ondevicelight = function() {}; + window.ondevicelight = 123; + assert_equals(window.ondevicelight, null, desc); + }, 'treat number as null'); + + test(function() { + var desc = 'window.ondevicelight did not treat noncallable (undefined) as null'; + window.ondevicelight = function() {}; + window.ondevicelight = undefined; + assert_equals(window.ondevicelight, null, desc); + }, 'treat undefined as null'); + + test(function() { + var desc = 'window.ondevicelight did not treat noncallable (array) as null'; + window.ondevicelight = function() {}; + window.ondevicelight = []; + assert_equals(window.ondevicelight, null, desc); + }, 'treat array as null'); + + test(function() { + var desc = 'window.ondevicelight did not treat noncallable host object as null'; + window.ondevicelight = function() {}; + window.ondevicelight = window.Node; + assert_equals(window.ondevicelight, null, desc); + }, 'treat non-callable host object as null'); + + //Async tests + var t = async_test('test if DeviceLightEvent received'); + window.addEventListener('devicelight', function(e) { + t.step(function() { + var msg = 'expected instance of DeviceLightEvent: '; + assert_true(e instanceof window.DeviceLightEvent, msg); + assert_idl_attribute(e, 'value', 'event has value property'); + }); + t.done(); + }); + + var t2 = async_test('test if DeviceLightEvent received (event handler attribute)'); + window.ondevicelight = function(e) { + t2.step(function() { + var msg = 'expected instance of DeviceLightEvent: '; + assert_true(e instanceof window.DeviceLightEvent, msg); + assert_idl_attribute(e, 'value', 'event has value property'); + }); + t2.done(); + }; +})(); diff --git a/tests/wpt/web-platform-tests/ambient-light/idlharness.html b/tests/wpt/web-platform-tests/ambient-light/idlharness.html new file mode 100644 index 00000000000..d765e0410fd --- /dev/null +++ b/tests/wpt/web-platform-tests/ambient-light/idlharness.html @@ -0,0 +1,61 @@ + + +Ambient Light Events IDL tests + + + + + + + +
                                                        + +
                                                        +interface Window {
                                                        +};
                                                        +
                                                        +interface Event {
                                                        +};
                                                        +
                                                        +dictionary EventInit {
                                                        +};
                                                        +
                                                        + +
                                                        +partial interface Window {
                                                        +                attribute EventHandler ondevicelight;
                                                        +};
                                                        +
                                                        +dictionary DeviceLightEventInit : EventInit {
                                                        +    unrestricted double value;
                                                        +};
                                                        +
                                                        +[Constructor (DOMString type, optional DeviceLightEventInit eventInitDict)]
                                                        +interface DeviceLightEvent : Event {
                                                        +    readonly    attribute unrestricted double value;
                                                        +};
                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/animation-timing/callback-invoked.html b/tests/wpt/web-platform-tests/animation-timing/callback-invoked.html new file mode 100644 index 00000000000..1bf49c0335d --- /dev/null +++ b/tests/wpt/web-platform-tests/animation-timing/callback-invoked.html @@ -0,0 +1,22 @@ + + + + requestAnimationFrame must be triggered once + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/animation-timing/cancel-invoked.html b/tests/wpt/web-platform-tests/animation-timing/cancel-invoked.html new file mode 100644 index 00000000000..d075c0fdac1 --- /dev/null +++ b/tests/wpt/web-platform-tests/animation-timing/cancel-invoked.html @@ -0,0 +1,18 @@ + + + + cancelAnimationFrame does nothing + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/animation-timing/idlharness.html b/tests/wpt/web-platform-tests/animation-timing/idlharness.html new file mode 100644 index 00000000000..09a616b5e68 --- /dev/null +++ b/tests/wpt/web-platform-tests/animation-timing/idlharness.html @@ -0,0 +1,49 @@ + + + + +idlharness test + + + + + + + + +

                                                        idlharness test

                                                        +

                                                        This test validates the WebIDL included in the Timing control for script-based animations specification.

                                                        + + + +
                                                        +partial interface Window {
                                                        +  long requestAnimationFrame(FrameRequestCallback callback);
                                                        +  void cancelAnimationFrame(long handle);
                                                        +};
                                                        +
                                                        +callback FrameRequestCallback = void (DOMHighResTimeStamp time);
                                                        +
                                                        + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/app-uri/README.md b/tests/wpt/web-platform-tests/app-uri/README.md new file mode 100644 index 00000000000..a33f0b0b41c --- /dev/null +++ b/tests/wpt/web-platform-tests/app-uri/README.md @@ -0,0 +1,13 @@ +app-URI test suite +========== + +Test suites for [app-URI scheme](http://app-uri.sysapps.org/) specification + +You can find here: + +[app-URI test suite html file](appURI_test.html) + + +If you want to use System application packages there is manifest file on Sysapps github repo: + +[Manifest file - can be used for building application](https://github.com/sysapps/testsuites/blob/gh-pages/app-URI/manifest.webapp) \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/app-uri/appURI_test.html b/tests/wpt/web-platform-tests/app-uri/appURI_test.html new file mode 100644 index 00000000000..1baaf06ac6a --- /dev/null +++ b/tests/wpt/web-platform-tests/app-uri/appURI_test.html @@ -0,0 +1,394 @@ + + + + app:URI compliance tests + + + + + + + +
                                                        +
                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/app-uri/resources/ExamPLE/mmY/index.html b/tests/wpt/web-platform-tests/app-uri/resources/ExamPLE/mmY/index.html new file mode 100644 index 00000000000..7ef22e9a431 --- /dev/null +++ b/tests/wpt/web-platform-tests/app-uri/resources/ExamPLE/mmY/index.html @@ -0,0 +1 @@ +PASS diff --git a/tests/wpt/web-platform-tests/app-uri/resources/ExamPLE/mmY/sth.txt b/tests/wpt/web-platform-tests/app-uri/resources/ExamPLE/mmY/sth.txt new file mode 100644 index 00000000000..5e3cbc931a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/app-uri/resources/ExamPLE/mmY/sth.txt @@ -0,0 +1 @@ +This is simple text file diff --git a/tests/wpt/web-platform-tests/app-uri/resources/ExamPLE/{mY}/z...z/index.html b/tests/wpt/web-platform-tests/app-uri/resources/ExamPLE/{mY}/z...z/index.html new file mode 100644 index 00000000000..7ef22e9a431 --- /dev/null +++ b/tests/wpt/web-platform-tests/app-uri/resources/ExamPLE/{mY}/z...z/index.html @@ -0,0 +1 @@ +PASS diff --git a/tests/wpt/web-platform-tests/app-uri/resources/ImaGes/{{a}}/Test_1/$a/sth34!.png b/tests/wpt/web-platform-tests/app-uri/resources/ImaGes/{{a}}/Test_1/$a/sth34!.png new file mode 100644 index 00000000000..4a775ded297 Binary files /dev/null and b/tests/wpt/web-platform-tests/app-uri/resources/ImaGes/{{a}}/Test_1/$a/sth34!.png differ diff --git a/tests/wpt/web-platform-tests/app-uri/resources/ImaGes/~t/{!a}/corrupted_file.png b/tests/wpt/web-platform-tests/app-uri/resources/ImaGes/~t/{!a}/corrupted_file.png new file mode 100644 index 00000000000..d05eb6ea2b7 Binary files /dev/null and b/tests/wpt/web-platform-tests/app-uri/resources/ImaGes/~t/{!a}/corrupted_file.png differ diff --git a/tests/wpt/web-platform-tests/app-uri/resources/ImaGes/~t/{!a}/~sth.png b/tests/wpt/web-platform-tests/app-uri/resources/ImaGes/~t/{!a}/~sth.png new file mode 100644 index 00000000000..4a775ded297 Binary files /dev/null and b/tests/wpt/web-platform-tests/app-uri/resources/ImaGes/~t/{!a}/~sth.png differ diff --git a/tests/wpt/web-platform-tests/app-uri/resources/icons/w3c-128.png b/tests/wpt/web-platform-tests/app-uri/resources/icons/w3c-128.png new file mode 100644 index 00000000000..c010156253d Binary files /dev/null and b/tests/wpt/web-platform-tests/app-uri/resources/icons/w3c-128.png differ diff --git a/tests/wpt/web-platform-tests/app-uri/resources/icons/w3c-16.png b/tests/wpt/web-platform-tests/app-uri/resources/icons/w3c-16.png new file mode 100644 index 00000000000..105194bbad5 Binary files /dev/null and b/tests/wpt/web-platform-tests/app-uri/resources/icons/w3c-16.png differ diff --git a/tests/wpt/web-platform-tests/app-uri/resources/icons/w3c-48.png b/tests/wpt/web-platform-tests/app-uri/resources/icons/w3c-48.png new file mode 100644 index 00000000000..a19c55d6777 Binary files /dev/null and b/tests/wpt/web-platform-tests/app-uri/resources/icons/w3c-48.png differ diff --git a/tests/wpt/web-platform-tests/battery-status/battery-charging-manual.html b/tests/wpt/web-platform-tests/battery-status/battery-charging-manual.html new file mode 100644 index 00000000000..3eafcaca4d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/battery-status/battery-charging-manual.html @@ -0,0 +1,53 @@ + + +Battery Test: battery neither empty or full, charger plugged in + + + + +

                                                        Description

                                                        +

                                                        + This test validates that all of the BatteryManager attributes exist and are set to their correct values when battery is charging. +

                                                        + +

                                                        Preconditions

                                                        +
                                                          +
                                                        1. + The device is plugged in to the charger before this test is run. +
                                                        2. +
                                                        3. + The battery must neither be empty or full, nor reach empty or full capacity during the test. +
                                                        4. +
                                                        5. + Waiting for battery level change to fire levelchange event, maybe need a long time +
                                                        6. +
                                                        + + diff --git a/tests/wpt/web-platform-tests/battery-status/battery-created-manual.html b/tests/wpt/web-platform-tests/battery-status/battery-created-manual.html new file mode 100644 index 00000000000..e3b8d69cf4d --- /dev/null +++ b/tests/wpt/web-platform-tests/battery-status/battery-created-manual.html @@ -0,0 +1,54 @@ + + +Battery Test: no backend implementation, charger unplugged in + + + + +

                                                        Description

                                                        +

                                                        + + This test is only useful on devices that expose the BatteryManager interface, + but lack a backend implementation. + +

                                                        +

                                                        + This test validates that all of the BatteryManager attributes exist and are set to their default values. +

                                                        + +

                                                        Preconditions

                                                        +
                                                          +
                                                        1. + The implementation is unable to report the battery's charging state, + charging time, level or remaining time respectively. +
                                                        2. +
                                                        3. + The device is unplugged from the charger before this test case is run. +
                                                        4. +
                                                        + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/battery-status/battery-discharging-manual.html b/tests/wpt/web-platform-tests/battery-status/battery-discharging-manual.html new file mode 100644 index 00000000000..f335f42326d --- /dev/null +++ b/tests/wpt/web-platform-tests/battery-status/battery-discharging-manual.html @@ -0,0 +1,53 @@ + + +Battery Test: battery neither empty or full, charger unplugged in + + + + +

                                                        Description

                                                        +

                                                        + This test validates that all of the BatteryManager attributes exist and are set to their correct values when battery is discharging. +

                                                        + +

                                                        Preconditions

                                                        +
                                                          +
                                                        1. + The device is unplugged from the charger before this test is run. +
                                                        2. +
                                                        3. + The battery must neither be empty or full, nor reach empty or full capacity during the test. +
                                                        4. +
                                                        5. + Waiting for battery level change to fire levelchange event, maybe need a long time +
                                                        6. +
                                                        + + diff --git a/tests/wpt/web-platform-tests/battery-status/battery-full-manual.html b/tests/wpt/web-platform-tests/battery-status/battery-full-manual.html new file mode 100644 index 00000000000..883d71f408d --- /dev/null +++ b/tests/wpt/web-platform-tests/battery-status/battery-full-manual.html @@ -0,0 +1,42 @@ + + +Battery Test: battery full, charger plugged in + + + + +

                                                        Description

                                                        +

                                                        + This test validates that all of the BatteryManager attributes exist and are set to their correct values when battery is full. +

                                                        + +

                                                        Preconditions

                                                        +
                                                          +
                                                        1. + The device is plugged in to the charger before this test is run. +
                                                        2. +
                                                        3. + The battery is full. +
                                                        4. +
                                                        + + diff --git a/tests/wpt/web-platform-tests/battery-status/battery-interface-idlharness.html b/tests/wpt/web-platform-tests/battery-status/battery-interface-idlharness.html new file mode 100644 index 00000000000..574d99ec7c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/battery-status/battery-interface-idlharness.html @@ -0,0 +1,61 @@ + + +Battery test: IDL + + + + + + + + +

                                                        Description

                                                        +

                                                        + This test validates the BatteryManager interface IDL. +

                                                        +

                                                        + This test uses idlharness.js, and + is complementary to the battery-interface.html + test. +

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/battery-status/battery-interface.html b/tests/wpt/web-platform-tests/battery-status/battery-interface.html new file mode 100644 index 00000000000..aec10ae9a09 --- /dev/null +++ b/tests/wpt/web-platform-tests/battery-status/battery-interface.html @@ -0,0 +1,13 @@ + + +Battery Test: Interface API + + + + +

                                                        Description

                                                        +

                                                        + This test validates the BatteryManager interface IDL. +

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/battery-status/battery-interface.js b/tests/wpt/web-platform-tests/battery-status/battery-interface.js new file mode 100644 index 00000000000..7542dc965fb --- /dev/null +++ b/tests/wpt/web-platform-tests/battery-status/battery-interface.js @@ -0,0 +1,368 @@ +(function() { + + setup("", {explicit_done: true}); + + /** + * + * partial interface Navigator { + * Promise getBattery (); + * }; + * + */ + + test(function() { + assert_idl_attribute(navigator, 'getBattery', 'navigator must have getBattery attribute'); + }, 'getBattery is present on navigator'); + + navigator.getBattery().then(function (battery) { + + /** + * + * interface BatteryManager : EventTarget { + * readonly attribute boolean charging; + * readonly attribute unrestricted double chargingTime; + * readonly attribute unrestricted double dischargingTime; + * readonly attribute double level; + * attribute EventHandler onchargingchange; + * attribute EventHandler onchargingtimechange; + * attribute EventHandler ondischargingtimechange; + * attribute EventHandler onlevelchange; + * }; + * + */ + + // interface BatteryManager : EventTarget { + + test(function() { + assert_own_property(window, 'BatteryManager'); + }, 'window has an own property BatteryManager'); + + test(function() { + assert_true(battery instanceof EventTarget); + }, 'battery inherits from EventTarget'); + + // readonly attribute boolean charging; + + test(function() { + assert_idl_attribute(battery, 'charging', 'battery must have charging attribute'); + }, 'charging attribute exists'); + + test(function() { + assert_readonly(battery, 'charging', 'charging must be readonly') + }, 'charging attribute is readonly'); + + // readonly attribute unrestricted double chargingTime; + + test(function() { + assert_idl_attribute(battery, 'chargingTime', 'battery must have chargingTime attribute'); + }, 'chargingTime attribute exists'); + + test(function() { + assert_readonly(battery, 'chargingTime', 'chargingTime must be readonly') + }, 'chargingTime attribute is readonly'); + + // readonly attribute unrestricted double dischargingTime; + + test(function() { + assert_idl_attribute(battery, 'dischargingTime', 'battery must have dischargingTime attribute'); + }, 'dischargingTime attribute exists'); + + test(function() { + assert_readonly(battery, 'dischargingTime', 'dischargingTime must be readonly') + }, 'dischargingTime attribute is readonly'); + + // readonly attribute double level; + + test(function() { + assert_idl_attribute(battery, 'level', 'battery must have level attribute'); + }, 'level attribute exists'); + + test(function() { + assert_readonly(battery, 'level', 'level must be readonly') + }, 'level attribute is readonly'); + + // attribute EventHandler onchargingchange; + + test(function() { + assert_idl_attribute(battery, 'onchargingchange', 'battery must have onchargingchange attribute'); + }, 'onchargingchange attribute exists'); + + test(function() { + assert_equals(battery.onchargingchange, null, 'onchargingchange must be null') + }, 'onchargingchange is null'); + + test(function() { + var desc = 'onchargingchange did not accept callable object', + func = function() {}, + desc = 'Expected to find onchargingchange attribute on battery object'; + assert_idl_attribute(battery, 'onchargingchange', desc); + window.onchargingchange = func; + assert_equals(window.onchargingchange, func, desc); + }, 'onchargingchange is set to function'); + + test(function() { + var desc = 'onchargingchange did not treat noncallable as null'; + battery.onchargingchange = function() {}; + battery.onchargingchange = {}; + assert_equals(battery.onchargingchange, null, desc); + }, 'onchargingchange: treat object as null'); + + test(function() { + var desc = 'onchargingchange did not treat noncallable as null'; + battery.onchargingchange = function() {}; + battery.onchargingchange = { + call: 'test' + }; + assert_equals(battery.onchargingchange, null, desc); + }, 'onchargingchange: treat object with non-callable call property as null'); + + test(function() { + var desc = 'onchargingchange did not treat noncallable (string) as null'; + battery.onchargingchange = function() {}; + battery.onchargingchange = 'string'; + assert_equals(battery.onchargingchange, null, desc); + }, 'onchargingchange: treat string as null'); + + test(function() { + var desc = 'onchargingchange did not treat noncallable (number) as null'; + battery.onchargingchange = function() {}; + battery.onchargingchange = 123; + assert_equals(battery.onchargingchange, null, desc); + }, 'onchargingchange: treat number as null'); + + test(function() { + var desc = 'onchargingchange did not treat noncallable (undefined) as null'; + battery.onchargingchange = function() {}; + battery.onchargingchange = undefined; + assert_equals(battery.onchargingchange, null, desc); + }, 'onchargingchange: treat undefined as null'); + + test(function() { + var desc = 'onchargingchange did not treat noncallable (array) as null'; + battery.onchargingchange = function() {}; + battery.onchargingchange = []; + assert_equals(battery.onchargingchange, null, desc); + }, 'onchargingchange: treat array as null'); + + test(function() { + var desc = 'onchargingchange did not treat noncallable host object as null'; + battery.onchargingchange = function() {}; + battery.onchargingchange = Node; + assert_equals(battery.onchargingchange, null, desc); + }, 'onchargingchange: treat non-callable host object as null'); + + // attribute EventHandler onchargingtimechange; + + test(function() { + assert_idl_attribute(battery, 'onchargingtimechange', 'battery must have onchargingtimechange attribute'); + }, 'onchargingtimechange attribute exists'); + + test(function() { + assert_equals(battery.onchargingtimechange, null, 'onchargingtimechange must be null') + }, 'onchargingtimechange is null'); + + test(function() { + var desc = 'onchargingtimechange did not accept callable object', + func = function() {}, + desc = 'Expected to find onchargingtimechange attribute on battery object'; + assert_idl_attribute(battery, 'onchargingtimechange', desc); + window.onchargingtimechange = func; + assert_equals(window.onchargingtimechange, func, desc); + }, 'onchargingtimechange is set to function'); + + test(function() { + var desc = 'onchargingtimechange did not treat noncallable as null'; + battery.onchargingtimechange = function() {}; + battery.onchargingtimechange = {}; + assert_equals(battery.onchargingtimechange, null, desc); + }, 'onchargingtimechange: treat object as null'); + + test(function() { + var desc = 'onchargingtimechange did not treat noncallable as null'; + battery.onchargingtimechange = function() {}; + battery.onchargingtimechange = { + call: 'test' + }; + assert_equals(battery.onchargingtimechange, null, desc); + }, 'onchargingtimechange: treat object with non-callable call property as null'); + + test(function() { + var desc = 'onchargingtimechange did not treat noncallable (string) as null'; + battery.onchargingtimechange = function() {}; + battery.onchargingtimechange = 'string'; + assert_equals(battery.onchargingtimechange, null, desc); + }, 'onchargingtimechange: treat string as null'); + + test(function() { + var desc = 'onchargingtimechange did not treat noncallable (number) as null'; + battery.onchargingtimechange = function() {}; + battery.onchargingtimechange = 123; + assert_equals(battery.onchargingtimechange, null, desc); + }, 'onchargingtimechange: treat number as null'); + + test(function() { + var desc = 'onchargingtimechange did not treat noncallable (undefined) as null'; + battery.onchargingtimechange = function() {}; + battery.onchargingtimechange = undefined; + assert_equals(battery.onchargingtimechange, null, desc); + }, 'onchargingtimechange: treat undefined as null'); + + test(function() { + var desc = 'onchargingtimechange did not treat noncallable (array) as null'; + battery.onchargingtimechange = function() {}; + battery.onchargingtimechange = []; + assert_equals(battery.onchargingtimechange, null, desc); + }, 'onchargingtimechange: treat array as null'); + + test(function() { + var desc = 'onchargingtimechange did not treat noncallable host object as null'; + battery.onchargingtimechange = function() {}; + battery.onchargingtimechange = Node; + assert_equals(battery.onchargingtimechange, null, desc); + }, 'onchargingtimechange: treat non-callable host object as null'); + + // attribute EventHandler ondischargingtimechange; + + test(function() { + assert_idl_attribute(battery, 'ondischargingtimechange', 'battery must have ondischargingtimechange attribute'); + }, 'ondischargingtimechange attribute exists'); + + test(function() { + assert_equals(battery.ondischargingtimechange, null, 'ondischargingtimechange must be null') + }, 'ondischargingtimechange is null'); + + test(function() { + var desc = 'ondischargingtimechange did not accept callable object', + func = function() {}, + desc = 'Expected to find ondischargingtimechange attribute on battery object'; + assert_idl_attribute(battery, 'ondischargingtimechange', desc); + window.ondischargingtimechange = func; + assert_equals(window.ondischargingtimechange, func, desc); + }, 'ondischargingtimechange is set to function'); + + test(function() { + var desc = 'ondischargingtimechange did not treat noncallable as null'; + battery.ondischargingtimechange = function() {}; + battery.ondischargingtimechange = {}; + assert_equals(battery.ondischargingtimechange, null, desc); + }, 'ondischargingtimechange: treat object as null'); + + test(function() { + var desc = 'ondischargingtimechange did not treat noncallable as null'; + battery.ondischargingtimechange = function() {}; + battery.ondischargingtimechange = { + call: 'test' + }; + assert_equals(battery.ondischargingtimechange, null, desc); + }, 'ondischargingtimechange: treat object with non-callable call property as null'); + + test(function() { + var desc = 'ondischargingtimechange did not treat noncallable (string) as null'; + battery.ondischargingtimechange = function() {}; + battery.ondischargingtimechange = 'string'; + assert_equals(battery.ondischargingtimechange, null, desc); + }, 'ondischargingtimechange: treat string as null'); + + test(function() { + var desc = 'ondischargingtimechange did not treat noncallable (number) as null'; + battery.ondischargingtimechange = function() {}; + battery.ondischargingtimechange = 123; + assert_equals(battery.ondischargingtimechange, null, desc); + }, 'ondischargingtimechange: treat number as null'); + + test(function() { + var desc = 'ondischargingtimechange did not treat noncallable (undefined) as null'; + battery.ondischargingtimechange = function() {}; + battery.ondischargingtimechange = undefined; + assert_equals(battery.ondischargingtimechange, null, desc); + }, 'ondischargingtimechange: treat undefined as null'); + + test(function() { + var desc = 'ondischargingtimechange did not treat noncallable (array) as null'; + battery.ondischargingtimechange = function() {}; + battery.ondischargingtimechange = []; + assert_equals(battery.ondischargingtimechange, null, desc); + }, 'ondischargingtimechange: treat array as null'); + + test(function() { + var desc = 'ondischargingtimechange did not treat noncallable host object as null'; + battery.ondischargingtimechange = function() {}; + battery.ondischargingtimechange = Node; + assert_equals(battery.ondischargingtimechange, null, desc); + }, 'ondischargingtimechange: treat non-callable host object as null'); + + // attribute EventHandler onlevelchange; + + test(function() { + assert_idl_attribute(battery, 'onlevelchange', 'battery must have onlevelchange attribute'); + }, 'onlevelchange attribute exists'); + + test(function() { + assert_equals(battery.onlevelchange, null, 'onlevelchange must be null') + }, 'onlevelchange is null'); + + test(function() { + var desc = 'onlevelchange did not accept callable object', + func = function() {}, + desc = 'Expected to find onlevelchange attribute on battery object'; + assert_idl_attribute(battery, 'onlevelchange', desc); + window.onlevelchange = func; + assert_equals(window.onlevelchange, func, desc); + }, 'onlevelchange is set to function'); + + test(function() { + var desc = 'onlevelchange did not treat noncallable as null'; + battery.onlevelchange = function() {}; + battery.onlevelchange = {}; + assert_equals(battery.onlevelchange, null, desc); + }, 'onlevelchange: treat object as null'); + + test(function() { + var desc = 'onlevelchange did not treat noncallable as null'; + battery.onlevelchange = function() {}; + battery.onlevelchange = { + call: 'test' + }; + assert_equals(battery.onlevelchange, null, desc); + }, 'onlevelchange: treat object with non-callable call property as null'); + + test(function() { + var desc = 'onlevelchange did not treat noncallable (string) as null'; + battery.onlevelchange = function() {}; + battery.onlevelchange = 'string'; + assert_equals(battery.onlevelchange, null, desc); + }, 'onlevelchange: treat string as null'); + + test(function() { + var desc = 'onlevelchange did not treat noncallable (number) as null'; + battery.onlevelchange = function() {}; + battery.onlevelchange = 123; + assert_equals(battery.onlevelchange, null, desc); + }, 'onlevelchange: treat number as null'); + + test(function() { + var desc = 'onlevelchange did not treat noncallable (undefined) as null'; + battery.onlevelchange = function() {}; + battery.onlevelchange = undefined; + assert_equals(battery.onlevelchange, null, desc); + }, 'onlevelchange: treat undefined as null'); + + test(function() { + var desc = 'onlevelchange did not treat noncallable (array) as null'; + battery.onlevelchange = function() {}; + battery.onlevelchange = []; + assert_equals(battery.onlevelchange, null, desc); + }, 'onlevelchange: treat array as null'); + + test(function() { + var desc = 'onlevelchange did not treat noncallable host object as null'; + battery.onlevelchange = function() {}; + battery.onlevelchange = Node; + assert_equals(battery.onlevelchange, null, desc); + }, 'onlevelchange: treat non-callable host object as null'); + + done(); + + }, function () {}); + +})(); diff --git a/tests/wpt/web-platform-tests/battery-status/battery-plugging-in-manual.html b/tests/wpt/web-platform-tests/battery-status/battery-plugging-in-manual.html new file mode 100644 index 00000000000..8b96217880c --- /dev/null +++ b/tests/wpt/web-platform-tests/battery-status/battery-plugging-in-manual.html @@ -0,0 +1,99 @@ + + +Battery Test: battery not full, charger plugging in + + + + + +

                                                        Description

                                                        +

                                                        + This test validates that all of the BatteryManager attributes exist and are set to correct values, with corresponding events fired, when the charger is plugged in. +

                                                        + +

                                                        Preconditions

                                                        +
                                                          +
                                                        1. + The device is unplugged from the charger before this test is run. +
                                                        2. +
                                                        3. + The battery must not be full or reach full capacity during the time the test is run. +
                                                        4. +
                                                        + +
                                                        + Plug in the charger and wait for all the tests to complete. +
                                                        + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/battery-status/battery-promise.html b/tests/wpt/web-platform-tests/battery-status/battery-promise.html new file mode 100644 index 00000000000..2e2910cda60 --- /dev/null +++ b/tests/wpt/web-platform-tests/battery-status/battery-promise.html @@ -0,0 +1,26 @@ + + +Battery Test: navigator.getBattery() returns BatteryManager as a promise + + + + + + +
                                                        + diff --git a/tests/wpt/web-platform-tests/battery-status/battery-unplugging-manual.html b/tests/wpt/web-platform-tests/battery-status/battery-unplugging-manual.html new file mode 100644 index 00000000000..1a6b5b8982e --- /dev/null +++ b/tests/wpt/web-platform-tests/battery-status/battery-unplugging-manual.html @@ -0,0 +1,113 @@ + + +Battery Test: battery not full, charger unplugging + + + + + +

                                                        Description

                                                        +

                                                        + This test validates that all of the BatteryManager attributes exist and are set to correct values, with corresponding events fired, when the charger is unplugged. +

                                                        + +

                                                        Preconditions

                                                        +
                                                          +
                                                        1. + The device is plugged in to the charger before this test is run. +
                                                        2. +
                                                        3. + The battery must not be full or reach full capacity during the time the test is run. +
                                                        4. +
                                                        +

                                                        + The highest prime number discovered so far is: +

                                                        + +
                                                        + Unplug the charger and wait for all the tests to complete. +
                                                        + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/battery-status/prime.js b/tests/wpt/web-platform-tests/battery-status/prime.js new file mode 100644 index 00000000000..d53208093bb --- /dev/null +++ b/tests/wpt/web-platform-tests/battery-status/prime.js @@ -0,0 +1,35 @@ +// adapted from http://html5demos.com/worker + +var running = false; + +onmessage = function (event) { + // doesn't matter what the message is, just toggle the worker + if (running == false) { + running = true; + run(1); + } else { + running = false; + } +}; + +function run(n) { + // split the task into 20k chunks + var limit = n + 20000; + search: while (running && n < limit) { + n += 1; + for (var i = 2; i <= Math.sqrt(n); i += 1) { + if (n % i == 0) { + continue search; + } + } + // found a prime! + postMessage(n); + } + if (n === limit) { + // wait for the UI thread to update itself + setTimeout(function(start_time) { + // resume prime computation at n + run(n); + }, 150); + } +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/common/blank.html b/tests/wpt/web-platform-tests/common/blank.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/common/canvas-frame.css b/tests/wpt/web-platform-tests/common/canvas-frame.css new file mode 100644 index 00000000000..0c97a680d18 --- /dev/null +++ b/tests/wpt/web-platform-tests/common/canvas-frame.css @@ -0,0 +1,21 @@ +body { + font-size: small; + font-family: sans-serif; +} + +p { + line-height: 0; +} + +p:first-child { + display: inline; +} + +h1 { + display: inline; +} + +iframe, object { + border: 1px black solid; + margin: 2px; +} diff --git a/tests/wpt/web-platform-tests/common/canvas-index.css b/tests/wpt/web-platform-tests/common/canvas-index.css new file mode 100644 index 00000000000..ef35864bc03 --- /dev/null +++ b/tests/wpt/web-platform-tests/common/canvas-index.css @@ -0,0 +1,31 @@ +body { + font-size: small; + font-family: sans-serif; +} + +a { + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +h3 { + display: inline; + font-size: medium; +} + +h3 + p { + display: inline; + margin-left: 0.5em; +} + +li { + list-style-type: none; +} + +ul { + padding-left: 2em; + margin-left: 0; +} diff --git a/tests/wpt/web-platform-tests/common/canvas-spec.css b/tests/wpt/web-platform-tests/common/canvas-spec.css new file mode 100644 index 00000000000..5882acb68ef --- /dev/null +++ b/tests/wpt/web-platform-tests/common/canvas-spec.css @@ -0,0 +1,50 @@ +.testrefs { + font-size: small; + margin-left: 0.2em; + margin-right: 0.2em; + border-bottom: none !important; + + font-weight: normal; + font-style: normal; + white-space: normal; + font-family: sans-serif; +} + +.kw-must, .kw-required { + background: #fda; +} + +.kw-should { + background: #ffa; +} + +.kw-none { + background: #dfa; +} + + +pre.idl .testrefs :link { + color: #00c; +} + +pre.idl .testrefs :visited { + color: #609; +} + +.testrefs a:hover { + background: transparent; + text-decoration: none; +} + +.testrefs:before { + content: '['; +} + +.testrefs:after { + content: ']'; +} + +.testrefs a:first-child { + font-weight: bold; + text-decoration: none; +} diff --git a/tests/wpt/web-platform-tests/common/canvas-tests.css b/tests/wpt/web-platform-tests/common/canvas-tests.css new file mode 100644 index 00000000000..e006e812de4 --- /dev/null +++ b/tests/wpt/web-platform-tests/common/canvas-tests.css @@ -0,0 +1,134 @@ +html.fail { + background: #f66; +} +html.pass { + background: #6f6; +} +html.needs_check { + background: #99f; +} + +body { + font-size: small; + font-family: sans-serif; + color: black; +} + +a:link { + color: #00c; +} +a:visited { + color: #808; +} + +body.framed { + font-size: x-small; +} + +h1 { + font-size: larger; + margin: 0; + padding-left: 0.5em; + text-indent: -0.5em; +} + +p { + margin: 0; +} + +p.notes { + margin-bottom: 0.5em; + font-style: italic; +} + +ul { + margin: 0; + margin-bottom: 0.5em; + padding: 0; + padding-left: 1em; +} + +.refs { + font-style: italic; + margin-bottom: 0.5em; +} + +.refs ul { + display: inline; + margin: 0; + padding: 0; +} + +.refs li { + display: inline; + list-style-type: none; + margin: 0; + padding: 0; +} + +canvas { + display: none; + visibility: hidden; + border: 2px #f0f solid; + background: url(../images/background.png); +} + +img.expected { + display: none; + border: 2px #f0f solid; + background: url(../images/background.png); +} + +iframe { + border: 2px #f0f solid; +} + +.output { + display: none; +} + +.show_output .output, .needs_check .output { + display: block !important; + visibility: visible !important; +} + +.show_output #show_output { + display: none; +} + +.resource { + visibility: hidden; + height: 0; +} + +.fallback { + font-size: 2em; + font-weight: bold; + color: #a00; +} + + +html.minimal body { + color: white; +} +html.fail.minimal { + background: #f00; +} +html.pass.minimal { + background: #080; +} +html.needs_check.minimal { + background: #008; +} +.minimal #d { + display: none !important; +} +.minimal .expectedtext { + visibility: hidden !important; +} +#passtext, #failtext { + display: none; +} +.minimal.pass #passtext, .minimal.fail #failtext { + display: block; +} diff --git a/tests/wpt/web-platform-tests/common/canvas-tests.js b/tests/wpt/web-platform-tests/common/canvas-tests.js new file mode 100644 index 00000000000..07b31703d08 --- /dev/null +++ b/tests/wpt/web-platform-tests/common/canvas-tests.js @@ -0,0 +1,86 @@ +function _valToString(val) +{ + if (val === undefined || val === null) + return '[' + typeof(val) + ']'; + return val.toString() + '[' + typeof(val) + ']'; +} + +function _assert(cond, text) +{ + assert_true(!!cond, text); +} + +function _assertSame(a, b, text_a, text_b) +{ + var msg = text_a + ' === ' + text_b + ' (got ' + _valToString(a) + + ', expected ' + _valToString(b) + ')'; + assert_equals(a, b, msg); +} + +function _assertDifferent(a, b, text_a, text_b) +{ + var msg = text_a + ' !== ' + text_b + ' (got ' + _valToString(a) + + ', expected not ' + _valToString(b) + ')'; + assert_not_equals(a, b, msg); +} + + +function _getPixel(canvas, x,y) +{ + var ctx = canvas.getContext('2d'); + var imgdata = ctx.getImageData(x, y, 1, 1); + return [ imgdata.data[0], imgdata.data[1], imgdata.data[2], imgdata.data[3] ]; +} + +function _assertPixel(canvas, x,y, r,g,b,a, pos, colour) +{ + var c = _getPixel(canvas, x,y); + assert_equals(c[0], r, 'Red channel of the pixel at (' + x + ', ' + y + ')'); + assert_equals(c[1], g, 'Green channel of the pixel at (' + x + ', ' + y + ')'); + assert_equals(c[2], b, 'Blue channel of the pixel at (' + x + ', ' + y + ')'); + assert_equals(c[3], a, 'Alpha channel of the pixel at (' + x + ', ' + y + ')'); +} + +function _assertPixelApprox(canvas, x,y, r,g,b,a, pos, colour, tolerance) +{ + var c = _getPixel(canvas, x,y); + assert_approx_equals(c[0], r, tolerance, 'Red channel of the pixel at (' + x + ', ' + y + ')'); + assert_approx_equals(c[1], g, tolerance, 'Green channel of the pixel at (' + x + ', ' + y + ')'); + assert_approx_equals(c[2], b, tolerance, 'Blue channel of the pixel at (' + x + ', ' + y + ')'); + assert_approx_equals(c[3], a, tolerance, 'Alpha channel of the pixel at (' + x + ', ' + y + ')'); +} + +function _addTest(testFn) +{ + var deferred = false; + window.deferTest = function () { deferred = true; }; + on_event(window, "load", function() + { + t.step(function() { + var canvas = document.getElementById('c'); + var ctx = canvas.getContext('2d'); + t.step(testFn, window, canvas, ctx); + }); + + if (!deferred) { + t.done(); + } + }); +} + +function _assertGreen(ctx, canvasWidth, canvasHeight) +{ + var testColor = function(d, idx, expected) { + assert_equals(d[idx], expected, "d[" + idx + "]", String(expected)); + }; + var imagedata = ctx.getImageData(0, 0, canvasWidth, canvasHeight); + var w = imagedata.width, h = imagedata.height, d = imagedata.data; + for (var i = 0; i < h; ++i) { + for (var j = 0; j < w; ++j) { + testColor(d, 4 * (w * i + j) + 0, 0); + testColor(d, 4 * (w * i + j) + 1, 255); + testColor(d, 4 * (w * i + j) + 2, 0); + testColor(d, 4 * (w * i + j) + 3, 255); + } + } +} diff --git a/tests/wpt/web-platform-tests/common/css-red.txt b/tests/wpt/web-platform-tests/common/css-red.txt new file mode 100644 index 00000000000..9ef04cbd12d --- /dev/null +++ b/tests/wpt/web-platform-tests/common/css-red.txt @@ -0,0 +1 @@ +html { color: red; } diff --git a/tests/wpt/web-platform-tests/common/large.py b/tests/wpt/web-platform-tests/common/large.py new file mode 100644 index 00000000000..0db4e4bbd1c --- /dev/null +++ b/tests/wpt/web-platform-tests/common/large.py @@ -0,0 +1,45 @@ +def main(request, response): + """Code for generating large responses where the actual response data + isn't very important. + + Two request parameters: + size (required): An integer number of bytes (no suffix) or kilobytes + ("kb" suffix) or megabytes ("Mb" suffix). + string (optional): The string to repeat in the response. Defaults to "a". + + Example: + /resources/large.py?size=32Mb&string=ab + """ + if not "size" in request.GET: + 400, "Need an integer bytes parameter" + + bytes_value = request.GET.first("size") + + chunk_size = 1024 + + multipliers = {"kb": 1024, + "Mb": 1024*1024} + + suffix = bytes_value[-2:] + if suffix in multipliers: + multiplier = multipliers[suffix] + bytes_value = bytes_value[:-2] * multiplier + + try: + num_bytes = int(bytes_value) + except ValueError: + return 400, "Bytes must be an integer possibly with a kb or Mb suffix" + + string = str(request.GET.first("string", "a")) + + chunk = string * chunk_size + + def content(): + bytes_sent = 0 + while bytes_sent < num_bytes: + if num_bytes - bytes_sent < len(chunk): + yield chunk[num_bytes - bytes_sent] + else: + yield chunk + bytes_sent += len(chunk) + return [("Content-Type", "text/plain")], content() diff --git a/tests/wpt/web-platform-tests/common/media.js b/tests/wpt/web-platform-tests/common/media.js new file mode 100644 index 00000000000..6bddea5fd92 --- /dev/null +++ b/tests/wpt/web-platform-tests/common/media.js @@ -0,0 +1,35 @@ +// +// Returns the URI of a supported video source based on the user agent +// +function getVideoURI(base) +{ + var extension = '.mp4'; + + var videotag = document.createElement("video"); + + if ( videotag.canPlayType && + videotag.canPlayType('video/ogg; codecs="theora, vorbis"') ) + { + extension = '.ogv'; + } + + return base + extension; +} + +// +// Returns the URI of a supported audio source based on the user agent +// +function getAudioURI(base) +{ + var extension = '.mp3'; + + var audiotag = document.createElement("audio"); + + if ( audiotag.canPlayType && + audiotag.canPlayType('audio/ogg') ) + { + extension = '.oga'; + } + + return base + extension; +} diff --git a/tests/wpt/web-platform-tests/common/redirect.py b/tests/wpt/web-platform-tests/common/redirect.py new file mode 100644 index 00000000000..3f15effc059 --- /dev/null +++ b/tests/wpt/web-platform-tests/common/redirect.py @@ -0,0 +1,19 @@ +def main(request, response): + """Simple handler that causes redirection. + + The request should typically have two query parameters: + status - The status to use for the redirection. Defaults to 302. + location - The resource to redirect to. + """ + status = 302 + if "status" in request.GET: + try: + status = int(request.GET.first("status")) + except ValueError: + pass + + response.status = status + + location = request.GET.first("location") + + response.headers.set("Location", location) diff --git a/tests/wpt/web-platform-tests/common/reftest-wait.js b/tests/wpt/web-platform-tests/common/reftest-wait.js new file mode 100644 index 00000000000..87816f83452 --- /dev/null +++ b/tests/wpt/web-platform-tests/common/reftest-wait.js @@ -0,0 +1,9 @@ +function takeScreenshot() { + document.documentElement.classList.remove("reftest-wait"); +} + +function takeScreenshotDelayed(timeout) { + setTimeout(function() { + takeScreenshot(); + }, timeout); +} diff --git a/tests/wpt/web-platform-tests/common/stringifiers.js b/tests/wpt/web-platform-tests/common/stringifiers.js new file mode 100644 index 00000000000..b59ca9c246f --- /dev/null +++ b/tests/wpt/web-platform-tests/common/stringifiers.js @@ -0,0 +1,52 @@ +// Tests . +function test_stringifier_attribute(aObject, aAttribute, aIsUnforgeable) { + // Step 1. + test(function() { + [null, undefined].forEach(function(v) { + assert_throws(new TypeError(), function() { + aObject.toString.call(v); + }); + }); + }); + + // TODO Step 2: security check. + + // Step 3. + test(function() { + assert_false("Window" in window && aObject instanceof window.Window); + [{}, window].forEach(function(v) { + assert_throws(new TypeError(), function() { + aObject.toString.call(v) + }); + }); + }); + + // Step 4-6. + var expected_value; + test(function() { + expected_value = aObject[aAttribute]; + assert_equals(aObject[aAttribute], expected_value, + "The attribute " + aAttribute + " should be pure."); + }); + + var test_error = { name: "test" }; + test(function() { + if (!aIsUnforgeable) { + Object.defineProperty(aObject, aAttribute, { + configurable: true, + get: function() { throw test_error; } + }); + } + assert_equals(aObject.toString(), expected_value); + }); + + test(function() { + if (!aIsUnforgeable) { + Object.defineProperty(aObject, aAttribute, { + configurable: true, + value: { toString: function() { throw test_error; } } + }); + } + assert_equals(aObject.toString(), expected_value); + }); +} diff --git a/tests/wpt/web-platform-tests/common/text-plain.txt b/tests/wpt/web-platform-tests/common/text-plain.txt new file mode 100644 index 00000000000..97ca870b6d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/common/text-plain.txt @@ -0,0 +1,4 @@ +This is a sample text/plain document. + +This is not an HTML document. + diff --git a/tests/wpt/web-platform-tests/common/utils.js b/tests/wpt/web-platform-tests/common/utils.js new file mode 100644 index 00000000000..bcdc256d917 --- /dev/null +++ b/tests/wpt/web-platform-tests/common/utils.js @@ -0,0 +1,80 @@ +function make_absolute_url(options) { + var loc = window.location; + var protocol = get(options, "protocol", loc.protocol); + if (protocol[protocol.length - 1] != ":") { + protocol += ":"; + } + + var hostname = get(options, "hostname", loc.hostname); + + var subdomain = get(options, "subdomain"); + if (subdomain) { + hostname = subdomain + "." + hostname; + } + + var port = get(options, "port", loc.port) + var path = get(options, "path", loc.pathname); + var query = get(options, "query", loc.search); + var hash = get(options, "hash", loc.hash) + + var url = protocol + "//" + hostname; + if (port) { + url += ":" + port; + } + + if (path[0] != "/") { + url += "/"; + } + url += path; + if (query) { + if (query[0] != "?") { + url += "?"; + } + url += query; + } + if (hash) { + if (hash[0] != "#") { + url += "#"; + } + url += hash; + } + return url; +} + +function get(obj, name, default_val) { + if (obj.hasOwnProperty(name)) { + return obj[name]; + } + return default_val; +} + +function token() { + var uuid = [to_hex(rand_int(32), 8), + to_hex(rand_int(16), 4), + to_hex(0x4000 | rand_int(12), 4), + to_hex(0x8000 | rand_int(14), 4), + to_hex(rand_int(48), 12)].join("-") + return uuid; +} + +function rand_int(bits) { + if (bits < 1 || bits > 53) { + throw new TypeError(); + } else { + if (bits >= 1 && bits <= 30) { + return 0 | ((1 << bits) * Math.random()); + } else { + var high = (0 | ((1 << (bits - 30)) * Math.random())) * (1 << 30); + var low = 0 | ((1 << 30) * Math.random()); + return high + low; + } + } +} + +function to_hex(x, length) { + var rv = x.toString(16); + while (rv.length < length) { + rv = "0" + rv; + } + return rv; +} diff --git a/tests/wpt/web-platform-tests/common/vendor-prefix.js b/tests/wpt/web-platform-tests/common/vendor-prefix.js new file mode 100644 index 00000000000..1a91632cec2 --- /dev/null +++ b/tests/wpt/web-platform-tests/common/vendor-prefix.js @@ -0,0 +1,115 @@ +/* Use this script when you want to test APIs that use vendor prefixes + and define which objects need to be checked for prefixed versions, à la + + data-prefixed-objects lets prefix objects in the global space + data-prefixed-prototypes adds prefixes to interfaces, for objects that + get created during the tests + + NB: vendor prefixes are expected to go away in favor of putting + new features behind flag, so hopefully there will be only limited + need to use this +*/ + +(function () { + var aliases = {}; + var documentingPrefixUsage = document.createElement('div'); + var vendorPrefixes = ["moz", "ms", "o", "webkit", "Moz", "MS", "O", "WebKit", "op"]; + + function getParentObject(ancestors) { + var parent = window; + var currentName = ""; + ancestors.forEach(function (p) { + currentName = currentName ? currentName + "." + p : p; + if (parent[p] === undefined) { + throw currentName + " is undefined, cannot set prefix alias on child object"; + } + parent = parent[p]; + }); + return parent; + } + + function prependPrefix(prefix, name) { + var newName = name[0].toUpperCase() + name.substr(1, name.length); + return prefix + newName; + } + + function setPrototypeAlias(obj) { + var parent = getParentObject(obj.ancestors); + if (!parent.prototype.hasOwnProperty(obj.name)) { + vendorPrefixes.forEach(function (prefix) { + if (parent.prototype.hasOwnProperty(prependPrefix(prefix, obj.name))) { + Object.defineProperty(parent.prototype, obj.name, + {get: function() {return this[prependPrefix(prefix, obj.name)];}, + set: function(v) {this[prependPrefix(prefix, obj.name)] = v;} + }); + aliases[obj.ancestors.join(".") + ".prototype." + obj.name] = obj.ancestors.join(".") + ".prototype." + prependPrefix(prefix, obj.name); + return; + } + }); + } + } + + function setAlias(obj) { + var parent = getParentObject(obj.ancestors); + if (parent[obj.name] === undefined) { + vendorPrefixes.forEach(function (prefix) { + if (parent[prependPrefix(prefix, obj.name)] !== undefined) { + parent[obj.name] = parent[prependPrefix(prefix, obj.name)]; + aliases[obj.ancestors.join(".") + "." + obj.name] = obj.ancestors.join(".") + "." + prependPrefix(prefix, obj.name); + return; + } + }); + } + } + + if (location.search.indexOf('usePrefixes=1') !== -1) { + if (document.querySelector("script[data-prefixed-objects]")) { + var prefixObjectsData = document.querySelector("script[data-prefixed-objects]").dataset["prefixedObjects"]; + try { + var prefixedObjects = JSON.parse(prefixObjectsData); + } catch (e) { + throw "couldn't parse data-prefixed-objects as JSON:" + e; + } + prefixedObjects.forEach(setAlias); + } + if (document.querySelector("script[data-prefixed-prototypes]")) { + var prefixProtoData = document.querySelector("script[data-prefixed-prototypes]").dataset["prefixedPrototypes"]; + try { + var prefixedPrototypes = JSON.parse(prefixProtoData); + } catch (e) { + throw "couldn't parse data-prefixed-prototypes as JSON:" + e; + } + prefixedPrototypes.forEach(setPrototypeAlias); + } + var ul = document.createElement("ul"); + Object.keys(aliases).forEach(function (alias) { + var li = document.createElement("li"); + li.appendChild(document.createTextNode(alias + " has been set to be an alias of vendor-prefixed " + aliases[alias])); + ul.appendChild(li); + }); + documentingPrefixUsage.appendChild(ul); + } else { + // Document that the test can be run with prefixes enabled + + var a = document.createElement('a'); + var link = ""; + if (location.search) { + link = location.search + "&usePrefixes=1"; + } else { + link = "?usePrefixes=1"; + } + a.setAttribute("href", link); + a.appendChild(document.createTextNode("with vendor prefixes enabled")); + documentingPrefixUsage.appendChild(document.createTextNode("The feature(s) tested here are known to have been made available via vendor prefixes; you can run this test ")); + documentingPrefixUsage.appendChild(a); + documentingPrefixUsage.appendChild(document.createTextNode(".")); + } + var log = document.getElementById('log'); + if (log) { + log.parentNode.insertBefore(documentingPrefixUsage, log); + } else { + document.body.appendChild(documentingPrefixUsage); + } +})(); diff --git a/tests/wpt/web-platform-tests/config.default.json b/tests/wpt/web-platform-tests/config.default.json new file mode 100644 index 00000000000..3efab6b3041 --- /dev/null +++ b/tests/wpt/web-platform-tests/config.default.json @@ -0,0 +1,22 @@ +{"host": "web-platform.test", + "external_host": null, + "ports":{"http":[8000, "auto"], + "https":[8443], + "ws":["auto"]}, + "check_subdomains": true, + "log_level":"debug", + "bind_hostname": true, + "ssl": {"type": "openssl", + "encrypt_after_connect": false, + "openssl": { + "openssl_binary": "openssl", + "base_path": "_certs", + "force_regenerate": false + }, + "pregenerated": { + "host_key_path": null, + "host_cert_path": null + }, + "none": {} + } +} diff --git a/tests/wpt/web-platform-tests/conformance-checkers/Makefile b/tests/wpt/web-platform-tests/conformance-checkers/Makefile new file mode 100644 index 00000000000..161c8db7d57 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/Makefile @@ -0,0 +1,43 @@ +HTML2MARKDOWN=html2text +PERL=perl +PERLFLAGS= +FMT=fmt +FMTFLAGS=-80 +EXPAND=expand +EXPANDFLAGS= +GIT=git +GITFLAGS= +PYTHON=python +PYTHONFLAGS= +VNU_TEST_REPO=git@github.com:validator/tests.git +ITS_REPO=git@github.com:w3c/its-2.0-testsuite-inputdata.git +.PHONY: .FORCE + +all: README.md messages.json + +README.md: index.html + $(HTML2MARKDOWN) $(HTML2MARKDOWNFLAGS) $< \ + | $(PERL) $(PERLFLAGS) -pe 'undef $$/; s/(\s+\n)+/\n\n/g' \ + | $(PERL) $(PERLFLAGS) -pe 'undef $$/; s/(\n\n\n)+/\n/g' \ + | $(FMT) $(FMTFLAGS) \ + | $(PERL) $(PERLFLAGS) -pe 'undef $$/; s/ +(\[[0-9]+\]:)\n +/\n $$1 /g' \ + | $(EXPAND) $(EXPANDFLAGS) > $@ + +messages.json: .FORCE + $(PYTHON) $(PYTHONFLAGS) -mjson.tool $@ > $@.tmp + mv $@.tmp $@ + +push: + cd .. \ + && git push $(VNU_TEST_REPO) `git subtree split -P conformance-checkers`:master --force \ + && cd - + +its-push: + cd ..\ + && $(GIT) subtree push -P conformance-checkers/html-its/ $(ITS_REPO) master \ + && cd - + +its-pull: + cd .. \ + && $(GIT) pull -s subtree $(ITS_REPO) master \ + && cd - diff --git a/tests/wpt/web-platform-tests/conformance-checkers/README.md b/tests/wpt/web-platform-tests/conformance-checkers/README.md new file mode 100644 index 00000000000..2c478afc600 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/README.md @@ -0,0 +1,11 @@ +# WPT conformance-checker tests + +The files in this part of the tree are not browser tests; they're documents +intended for testing the behavior of conformance checkers (e.g., validator.nu +and the W3C Nu Markup Validator). + +TK: We should have here some details about the contents of the existing +subdirectories in this tree... + +Curious committers should see the makefile. + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_/780.htm b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_/780.htm new file mode 100644 index 00000000000..7e37b720efe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_/780.htm @@ -0,0 +1,18 @@ + + + + + AT-SPI ONLY: option within listbox exposed as ROLE_MENU: option is exposed as ROLE_MENU_ITEM + + +

                                                        AT-SPI ONLY: option within listbox exposed as ROLE_MENU: option is exposed as ROLE_MENU_ITEM

                                                        +
                                                        + +
                                                        +

                                                        Test option

                                                        +

                                                        Another option

                                                        +

                                                        A third option

                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/ariatree.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/ariatree.html new file mode 100644 index 00000000000..d2d57e5082e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/ariatree.html @@ -0,0 +1,106 @@ + + + + ARIA Tree Example + + + + + + + + +

                                                        Directions

                                                        +
                                                          +
                                                        1. Tab into the tree control.
                                                        2. +
                                                        3. Use the up/down arrow keys to change the active descendant.
                                                        4. +
                                                        5. Use the right/left arrow keys to expand/collapse appropriate nodes.
                                                        6. +
                                                        + +

                                                        Some focusable content before the ARIA application.

                                                        + +
                                                        +

                                                        ARIA Tree Example

                                                        +
                                                          + +
                                                        • + + + Animals +
                                                            +
                                                          • Birds
                                                          • + +
                                                          • + + Dogs +
                                                              +
                                                            • + + Small Breeds +
                                                                +
                                                              • Chihuahua
                                                              • +
                                                              • Italian Greyhound
                                                              • +
                                                              • Japanese Chin
                                                              • +
                                                              +
                                                            • + + +
                                                            +
                                                          • +
                                                          +
                                                        • +
                                                        • + + Minerals +
                                                            +
                                                          • Zinc
                                                          • + +
                                                          • Silver
                                                          • +
                                                          +
                                                        • +
                                                        • + + Vegetables +
                                                            +
                                                          • Carrot
                                                          • +
                                                          • Tomato
                                                          • +
                                                          • Lettuce
                                                          • +
                                                          +
                                                        • +
                                                        +
                                                        + +

                                                        More focusable content after the ARIA application.

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/ariatree2.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/ariatree2.html new file mode 100644 index 00000000000..b6d809ce61f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/ariatree2.html @@ -0,0 +1,124 @@ + + + + ARIA Tree Example + + + + + + + + +

                                                        Directions

                                                        +
                                                          +
                                                        1. Tab into the tree control.
                                                        2. +
                                                        3. Use the up/down arrow keys to change the active descendant.
                                                        4. +
                                                        5. Use the right/left arrow keys to expand/collapse appropriate nodes.
                                                        6. +
                                                        + +

                                                        Some focusable content before the ARIA application.

                                                        + +
                                                        +

                                                        ARIA Tree Example

                                                        +
                                                          + +
                                                        • + + + + Animals + +
                                                            +
                                                          • Birds
                                                          • + +
                                                          • + + + Dogs + +
                                                              +
                                                            • + + + Small Breeds + +
                                                                +
                                                              • Chihuahua
                                                              • +
                                                              • Italian Greyhound
                                                              • +
                                                              • Japanese Chin
                                                              • +
                                                              +
                                                            • + + +
                                                            +
                                                          • +
                                                          +
                                                        • +
                                                        • + + + Minerals + +
                                                            +
                                                          • Zinc
                                                          • + +
                                                          • Silver
                                                          • +
                                                          +
                                                        • +
                                                        • + + + Vegetables + +
                                                            +
                                                          • Carrot
                                                          • +
                                                          • Tomato
                                                          • +
                                                          • Lettuce
                                                          • +
                                                          +
                                                        • +
                                                        +
                                                        + +

                                                        More focusable content after the ARIA application.

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/css/img/expander.gif b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/css/img/expander.gif new file mode 100644 index 00000000000..e305b9dd73a Binary files /dev/null and b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/css/img/expander.gif differ diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/css/treebox.css b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/css/treebox.css new file mode 100644 index 00000000000..5064fa308ab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/css/treebox.css @@ -0,0 +1,65 @@ + +/* variant of treesimple.css, that adds slightly more complex styling. */ + +html, body { + color:#333; + background-color:#fff; + font-family:"helvetica neue", arial, helvetica, sans-serif; + font-size:12px; + line-height:1.4em; +} +h1{ + font-size:14px; +} +[role="tree"]{ + border:solid 1px #000; + width:300px; /* hardcoded for example */ + cursor:default; +} +ul[role="tree"], [role="tree"] li, [role="tree"] ul { + display:block; + list-style:none; + margin:0; + padding:0; +} +li[role="treeitem"] { + position:relative; +} + +[role="treeitem"] > span{ display:block; } + +/* looks kinda redundant, but is necessary to get the full left bleed on sub-level items */ +[role="treeitem"] > span{ padding-left:15px; } +[role="treeitem"] [role="treeitem"] > span{ padding-left:30px; } +[role="treeitem"] [role="treeitem"] [role="treeitem"] > span{ padding-left:45px; } +[role="treeitem"] [role="treeitem"] [role="treeitem"] [role="treeitem"] > span{ padding-left:60px; } +[role="treeitem"] [role="treeitem"] [role="treeitem"] [role="treeitem"] [role="treeitem"] > span{ padding-left:75px; } + +.expander { + display:block; + position:absolute; + left:2px; + top:0.3em; + width:9px; + height:9px; + background:transparent url(./img/expander.gif) -9px 0 no-repeat; +} +[aria-expanded="false"] > * > .expander { + background-position:0 0; +} +[role="treeitem"] [role="treeitem"] .expander { left:17px; } +[role="treeitem"] [role="treeitem"] [role="treeitem"] .expander { left:32px; } +[role="treeitem"] [role="treeitem"] [role="treeitem"] [role="treeitem"] .expander { left:47px; } +[role="treeitem"] [role="treeitem"] [role="treeitem"] [role="treeitem"] [role="treeitem"] .expander { left:62px; } + + +[aria-expanded="false"] [role="group"] { + display:none; +} +[role="tree"] .activedescendant > span { + background-color:#ccc; +} +[role="tree"]:focus .activedescendant > span { + color:#fff; + background-color:#03c; +} diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/css/treesimple.css b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/css/treesimple.css new file mode 100644 index 00000000000..835d4e1c3bd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/css/treesimple.css @@ -0,0 +1,50 @@ + +html, body { + color:#333; + background-color:#fff; + font-family:"helvetica neue", arial, helvetica, sans-serif; + font-size:12px; + line-height:1.4em; +} +h1{ + font-size:14px; +} +[role="tree"]{ + cursor:default; +} +ul[role="tree"], [role="tree"] li, [role="tree"] ul { + display:block; + list-style:none; + margin:0; + padding:0; +} +li[role="treeitem"] { + position:relative; + padding-left:15px; +} +.expander { + display:block; + position:absolute; + left:2px; + top:0.3em; + width:9px; + height:9px; + background:transparent url(./img/expander.gif) -9px 0 no-repeat; +} +[aria-expanded="false"] > * > .expander { + background-position:0 0; +} +[aria-expanded="false"] [role="group"] { + display:none; +} +[role="tree"] .activedescendant { + font-weight:bold; + color:#000; +} +[role="tree"]:focus .activedescendant{ + color:#03c; +} +[role="tree"] .activedescendant [role="group"] { + font-weight:normal; + color:#000; +} diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/js/aria.js b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/js/aria.js new file mode 100644 index 00000000000..e853a3a95f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/js/aria.js @@ -0,0 +1,160 @@ + +/* Aria Singleton */ +var Aria = { + Trees: new Array(), // instances of Aria.Tree Class + isEnabled: function(inNode){ + // todo: this may need to check isEnabled on all parentNodes, inheritence of aria-enabled is ambiguous + if(inNode.getAttribute('aria-enabled') && inNode.getAttribute('aria-enabled').toLowerCase()=='false') return false; + else return true; + }, + isExpanded: function(inNode){ + if(inNode.getAttribute('aria-expanded') && inNode.getAttribute('aria-expanded').toLowerCase()=='false') return false; + else return true; + }, + isTreeItem: function(inNode){ + if(inNode.getAttribute('role') && inNode.getAttribute('role').toLowerCase()=='treeitem') return true; + else return false; + } +}; + +Aria.Tree = Class.create(); +Aria.Tree.prototype = { + initialize: function(inNode){ + if(!$(inNode) && console.error) console.error('Error from aria.js: Aria.Tree instance initialized with invalid element, '+ inNode); + this.el = $(inNode); + this.index = Aria.Trees.length; // each tree should know its index in the Aria singleton's list, in order to concatenate id strings + this.strActiveDescendant = this.el.getAttribute('aria-activedescendant'); + this.strDefaultActiveDescendant = 'tree'+this.index+'_item0'; // default first item + if(!$(this.strActiveDescendant)) this.strActiveDescendant = this.strDefaultActiveDescendant; // set to default if no existing activedescendant + this.setActiveDescendant($(this.strActiveDescendant)); + + // set up event delegation on the tree node + Event.observe(this.el, 'click', this.handleClick.bindAsEventListener(this)); + Event.observe(this.el, 'keydown', this.handleKeyPress.bindAsEventListener(this)); //webkit doesn't send keypress events for arrow keys, so use keydown instead + + }, + getActiveDescendant: function(inNode){ + if(inNode){ // if inNode (from event target), sets the activedescendant to nearest ancestor treeitem + var el = $(inNode); + while(el != this.el){ + if(Aria.isTreeItem(el)) break; // exit the loop; we have the treeitem + el = el.parentNode; + } + if(el == this.el) { + this.setActiveDescendant(); // set to default activedescendant + } else { + this.setActiveDescendant(el); + return el; + } + } else { + return $(this.el.getAttribute('aria-activedescendant')); + } + }, + getNextTreeItem: function(inNode){ + var el = $(inNode); + var originalElm = $(inNode); + while(!Aria.isTreeItem(el) || el == originalElm){ + if(Aria.isExpanded(el) && el.down()){ // should be el.down('[role="treeitem"]'); + var elements = el.getElementsByTagName('*'); + for(var i=0, c=elements.length; i-1){ // if it's an expander widget + this.toggleExpanded(el); // toggle the aria-expanded attribute on activedescendant + Event.stop(inEvent); // and stop the event + } + }, + handleKeyPress: function(inEvent){ + switch(inEvent.keyCode){ + // case Event.KEY_PAGEUP: break; + // case Event.KEY_PAGEDOWN: break; + // case Event.KEY_END: break; + // case Event.KEY_HOME: break; + case Event.KEY_LEFT: this.keyLeft(); break; + case Event.KEY_UP: this.keyUp(); break; + case Event.KEY_RIGHT: this.keyRight(); break; + case Event.KEY_DOWN: this.keyDown(); break; + default: + //console.log(inEvent.keyCode); + return; + } + Event.stop(inEvent); + }, + keyLeft: function(){ + var el = this.activeDescendant; + if(Aria.isExpanded(el)){ + el.setAttribute('aria-expanded','false'); + this.setActiveDescendant(this.activeDescendant); + } + }, + keyUp: function(){ + var el = this.activeDescendant; + this.setActiveDescendant(this.getPreviousTreeItem(el)); + }, + keyRight: function(){ + var el = this.activeDescendant; + if(!Aria.isExpanded(el)){ + el.setAttribute('aria-expanded','true'); + this.setActiveDescendant(this.activeDescendant); + } + }, + keyDown: function(){ + var el = this.activeDescendant; + this.setActiveDescendant(this.getNextTreeItem(el)); + }, + setActiveDescendant: function(inNode){ + Element.removeClassName(this.activeDescendant,'activedescendant') + if($(inNode)) this.activeDescendant = $(inNode); + else this.activeDescendant = $(this.strDefaultActiveDescendant); + Element.addClassName(this.activeDescendant,'activedescendant') + this.strActiveDescendant = this.activeDescendant.id; + this.el.setAttribute('aria-activedescendant', this.activeDescendant.id); + }, + toggleExpanded: function(inNode){ + var el = $(inNode); + if(Aria.isExpanded(el)){ + el.setAttribute('aria-expanded','false'); + } else { + el.setAttribute('aria-expanded','true'); + } + this.setActiveDescendant(el); + } +}; diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/js/init.js b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/js/init.js new file mode 100644 index 00000000000..c4e507f1f3e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/js/init.js @@ -0,0 +1,8 @@ +function myLoad(){ + $$('[role="tree"]').each(function(elm){ + // for each node where [role="tree"], create a new Aria.Tree instance and append it to array Aria.Trees + Aria.Trees.push(new Aria.Tree(elm)); + }); +} +Event.observe(window, 'load', myLoad); // will probably use onDOMContentLoaded instead of onLoad + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/js/prototype.js b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/js/prototype.js new file mode 100644 index 00000000000..b0e0675867a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/_functional/tree/js/prototype.js @@ -0,0 +1,4184 @@ +/* Prototype JavaScript framework, version 1.6.0 + * (c) 2005-2007 Sam Stephenson + * + * Prototype is freely distributable under the terms of an MIT-style license. + * For details, see the Prototype web site: http://www.prototypejs.org/ + * + *--------------------------------------------------------------------------*/ + +var Prototype = { + Version: '1.6.0', + + Browser: { + IE: !!(window.attachEvent && !window.opera), + Opera: !!window.opera, + WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1, + Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1, + MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) + }, + + BrowserFeatures: { + XPath: !!document.evaluate, + ElementExtensions: !!window.HTMLElement, + SpecificElementExtensions: + document.createElement('div').__proto__ && + document.createElement('div').__proto__ !== + document.createElement('form').__proto__ + }, + + ScriptFragment: ']*>([\\S\\s]*?)<\/script>', + JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/, + + emptyFunction: function() { }, + K: function(x) { return x } +}; + +if (Prototype.Browser.MobileSafari) + Prototype.BrowserFeatures.SpecificElementExtensions = false; + +if (Prototype.Browser.WebKit) + Prototype.BrowserFeatures.XPath = false; + +/* Based on Alex Arnell's inheritance implementation. */ +var Class = { + create: function() { + var parent = null, properties = $A(arguments); + if (Object.isFunction(properties[0])) + parent = properties.shift(); + + function klass() { + this.initialize.apply(this, arguments); + } + + Object.extend(klass, Class.Methods); + klass.superclass = parent; + klass.subclasses = []; + + if (parent) { + var subclass = function() { }; + subclass.prototype = parent.prototype; + klass.prototype = new subclass; + parent.subclasses.push(klass); + } + + for (var i = 0; i < properties.length; i++) + klass.addMethods(properties[i]); + + if (!klass.prototype.initialize) + klass.prototype.initialize = Prototype.emptyFunction; + + klass.prototype.constructor = klass; + + return klass; + } +}; + +Class.Methods = { + addMethods: function(source) { + var ancestor = this.superclass && this.superclass.prototype; + var properties = Object.keys(source); + + if (!Object.keys({ toString: true }).length) + properties.push("toString", "valueOf"); + + for (var i = 0, length = properties.length; i < length; i++) { + var property = properties[i], value = source[property]; + if (ancestor && Object.isFunction(value) && + value.argumentNames().first() == "$super") { + var method = value, value = Object.extend((function(m) { + return function() { return ancestor[m].apply(this, arguments) }; + })(property).wrap(method), { + valueOf: function() { return method }, + toString: function() { return method.toString() } + }); + } + this.prototype[property] = value; + } + + return this; + } +}; + +var Abstract = { }; + +Object.extend = function(destination, source) { + for (var property in source) + destination[property] = source[property]; + return destination; +}; + +Object.extend(Object, { + inspect: function(object) { + try { + if (object === undefined) return 'undefined'; + if (object === null) return 'null'; + return object.inspect ? object.inspect() : object.toString(); + } catch (e) { + if (e instanceof RangeError) return '...'; + throw e; + } + }, + + toJSON: function(object) { + var type = typeof object; + switch (type) { + case 'undefined': + case 'function': + case 'unknown': return; + case 'boolean': return object.toString(); + } + + if (object === null) return 'null'; + if (object.toJSON) return object.toJSON(); + if (Object.isElement(object)) return; + + var results = []; + for (var property in object) { + var value = Object.toJSON(object[property]); + if (value !== undefined) + results.push(property.toJSON() + ': ' + value); + } + + return '{' + results.join(', ') + '}'; + }, + + toQueryString: function(object) { + return $H(object).toQueryString(); + }, + + toHTML: function(object) { + return object && object.toHTML ? object.toHTML() : String.interpret(object); + }, + + keys: function(object) { + var keys = []; + for (var property in object) + keys.push(property); + return keys; + }, + + values: function(object) { + var values = []; + for (var property in object) + values.push(object[property]); + return values; + }, + + clone: function(object) { + return Object.extend({ }, object); + }, + + isElement: function(object) { + return object && object.nodeType == 1; + }, + + isArray: function(object) { + return object && object.constructor === Array; + }, + + isHash: function(object) { + return object instanceof Hash; + }, + + isFunction: function(object) { + return typeof object == "function"; + }, + + isString: function(object) { + return typeof object == "string"; + }, + + isNumber: function(object) { + return typeof object == "number"; + }, + + isUndefined: function(object) { + return typeof object == "undefined"; + } +}); + +Object.extend(Function.prototype, { + argumentNames: function() { + var names = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip"); + return names.length == 1 && !names[0] ? [] : names; + }, + + bind: function() { + if (arguments.length < 2 && arguments[0] === undefined) return this; + var __method = this, args = $A(arguments), object = args.shift(); + return function() { + return __method.apply(object, args.concat($A(arguments))); + } + }, + + bindAsEventListener: function() { + var __method = this, args = $A(arguments), object = args.shift(); + return function(event) { + return __method.apply(object, [event || window.event].concat(args)); + } + }, + + curry: function() { + if (!arguments.length) return this; + var __method = this, args = $A(arguments); + return function() { + return __method.apply(this, args.concat($A(arguments))); + } + }, + + delay: function() { + var __method = this, args = $A(arguments), timeout = args.shift() * 1000; + return window.setTimeout(function() { + return __method.apply(__method, args); + }, timeout); + }, + + wrap: function(wrapper) { + var __method = this; + return function() { + return wrapper.apply(this, [__method.bind(this)].concat($A(arguments))); + } + }, + + methodize: function() { + if (this._methodized) return this._methodized; + var __method = this; + return this._methodized = function() { + return __method.apply(null, [this].concat($A(arguments))); + }; + } +}); + +Function.prototype.defer = Function.prototype.delay.curry(0.01); + +Date.prototype.toJSON = function() { + return '"' + this.getUTCFullYear() + '-' + + (this.getUTCMonth() + 1).toPaddedString(2) + '-' + + this.getUTCDate().toPaddedString(2) + 'T' + + this.getUTCHours().toPaddedString(2) + ':' + + this.getUTCMinutes().toPaddedString(2) + ':' + + this.getUTCSeconds().toPaddedString(2) + 'Z"'; +}; + +var Try = { + these: function() { + var returnValue; + + for (var i = 0, length = arguments.length; i < length; i++) { + var lambda = arguments[i]; + try { + returnValue = lambda(); + break; + } catch (e) { } + } + + return returnValue; + } +}; + +RegExp.prototype.match = RegExp.prototype.test; + +RegExp.escape = function(str) { + return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); +}; + +/*--------------------------------------------------------------------------*/ + +var PeriodicalExecuter = Class.create({ + initialize: function(callback, frequency) { + this.callback = callback; + this.frequency = frequency; + this.currentlyExecuting = false; + + this.registerCallback(); + }, + + registerCallback: function() { + this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); + }, + + execute: function() { + this.callback(this); + }, + + stop: function() { + if (!this.timer) return; + clearInterval(this.timer); + this.timer = null; + }, + + onTimerEvent: function() { + if (!this.currentlyExecuting) { + try { + this.currentlyExecuting = true; + this.execute(); + } finally { + this.currentlyExecuting = false; + } + } + } +}); +Object.extend(String, { + interpret: function(value) { + return value == null ? '' : String(value); + }, + specialChar: { + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '\\': '\\\\' + } +}); + +Object.extend(String.prototype, { + gsub: function(pattern, replacement) { + var result = '', source = this, match; + replacement = arguments.callee.prepareReplacement(replacement); + + while (source.length > 0) { + if (match = source.match(pattern)) { + result += source.slice(0, match.index); + result += String.interpret(replacement(match)); + source = source.slice(match.index + match[0].length); + } else { + result += source, source = ''; + } + } + return result; + }, + + sub: function(pattern, replacement, count) { + replacement = this.gsub.prepareReplacement(replacement); + count = count === undefined ? 1 : count; + + return this.gsub(pattern, function(match) { + if (--count < 0) return match[0]; + return replacement(match); + }); + }, + + scan: function(pattern, iterator) { + this.gsub(pattern, iterator); + return String(this); + }, + + truncate: function(length, truncation) { + length = length || 30; + truncation = truncation === undefined ? '...' : truncation; + return this.length > length ? + this.slice(0, length - truncation.length) + truncation : String(this); + }, + + strip: function() { + return this.replace(/^\s+/, '').replace(/\s+$/, ''); + }, + + stripTags: function() { + return this.replace(/<\/?[^>]+>/gi, ''); + }, + + stripScripts: function() { + return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), ''); + }, + + extractScripts: function() { + var matchAll = new RegExp(Prototype.ScriptFragment, 'img'); + var matchOne = new RegExp(Prototype.ScriptFragment, 'im'); + return (this.match(matchAll) || []).map(function(scriptTag) { + return (scriptTag.match(matchOne) || ['', ''])[1]; + }); + }, + + evalScripts: function() { + return this.extractScripts().map(function(script) { return eval(script) }); + }, + + escapeHTML: function() { + var self = arguments.callee; + self.text.data = this; + return self.div.innerHTML; + }, + + unescapeHTML: function() { + var div = new Element('div'); + div.innerHTML = this.stripTags(); + return div.childNodes[0] ? (div.childNodes.length > 1 ? + $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) : + div.childNodes[0].nodeValue) : ''; + }, + + toQueryParams: function(separator) { + var match = this.strip().match(/([^?#]*)(#.*)?$/); + if (!match) return { }; + + return match[1].split(separator || '&').inject({ }, function(hash, pair) { + if ((pair = pair.split('='))[0]) { + var key = decodeURIComponent(pair.shift()); + var value = pair.length > 1 ? pair.join('=') : pair[0]; + if (value != undefined) value = decodeURIComponent(value); + + if (key in hash) { + if (!Object.isArray(hash[key])) hash[key] = [hash[key]]; + hash[key].push(value); + } + else hash[key] = value; + } + return hash; + }); + }, + + toArray: function() { + return this.split(''); + }, + + succ: function() { + return this.slice(0, this.length - 1) + + String.fromCharCode(this.charCodeAt(this.length - 1) + 1); + }, + + times: function(count) { + return count < 1 ? '' : new Array(count + 1).join(this); + }, + + camelize: function() { + var parts = this.split('-'), len = parts.length; + if (len == 1) return parts[0]; + + var camelized = this.charAt(0) == '-' + ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) + : parts[0]; + + for (var i = 1; i < len; i++) + camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1); + + return camelized; + }, + + capitalize: function() { + return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase(); + }, + + underscore: function() { + return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase(); + }, + + dasherize: function() { + return this.gsub(/_/,'-'); + }, + + inspect: function(useDoubleQuotes) { + var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) { + var character = String.specialChar[match[0]]; + return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16); + }); + if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"'; + return "'" + escapedString.replace(/'/g, '\\\'') + "'"; + }, + + toJSON: function() { + return this.inspect(true); + }, + + unfilterJSON: function(filter) { + return this.sub(filter || Prototype.JSONFilter, '#{1}'); + }, + + isJSON: function() { + var str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''); + return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str); + }, + + evalJSON: function(sanitize) { + var json = this.unfilterJSON(); + try { + if (!sanitize || json.isJSON()) return eval('(' + json + ')'); + } catch (e) { } + throw new SyntaxError('Badly formed JSON string: ' + this.inspect()); + }, + + include: function(pattern) { + return this.indexOf(pattern) > -1; + }, + + startsWith: function(pattern) { + return this.indexOf(pattern) === 0; + }, + + endsWith: function(pattern) { + var d = this.length - pattern.length; + return d >= 0 && this.lastIndexOf(pattern) === d; + }, + + empty: function() { + return this == ''; + }, + + blank: function() { + return /^\s*$/.test(this); + }, + + interpolate: function(object, pattern) { + return new Template(this, pattern).evaluate(object); + } +}); + +if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, { + escapeHTML: function() { + return this.replace(/&/g,'&').replace(//g,'>'); + }, + unescapeHTML: function() { + return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); + } +}); + +String.prototype.gsub.prepareReplacement = function(replacement) { + if (Object.isFunction(replacement)) return replacement; + var template = new Template(replacement); + return function(match) { return template.evaluate(match) }; +}; + +String.prototype.parseQuery = String.prototype.toQueryParams; + +Object.extend(String.prototype.escapeHTML, { + div: document.createElement('div'), + text: document.createTextNode('') +}); + +with (String.prototype.escapeHTML) div.appendChild(text); + +var Template = Class.create({ + initialize: function(template, pattern) { + this.template = template.toString(); + this.pattern = pattern || Template.Pattern; + }, + + evaluate: function(object) { + if (Object.isFunction(object.toTemplateReplacements)) + object = object.toTemplateReplacements(); + + return this.template.gsub(this.pattern, function(match) { + if (object == null) return ''; + + var before = match[1] || ''; + if (before == '\\') return match[2]; + + var ctx = object, expr = match[3]; + var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/, match = pattern.exec(expr); + if (match == null) return before; + + while (match != null) { + var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1]; + ctx = ctx[comp]; + if (null == ctx || '' == match[3]) break; + expr = expr.substring('[' == match[3] ? match[1].length : match[0].length); + match = pattern.exec(expr); + } + + return before + String.interpret(ctx); + }.bind(this)); + } +}); +Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/; + +var $break = { }; + +var Enumerable = { + each: function(iterator, context) { + var index = 0; + iterator = iterator.bind(context); + try { + this._each(function(value) { + iterator(value, index++); + }); + } catch (e) { + if (e != $break) throw e; + } + return this; + }, + + eachSlice: function(number, iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var index = -number, slices = [], array = this.toArray(); + while ((index += number) < array.length) + slices.push(array.slice(index, index+number)); + return slices.collect(iterator, context); + }, + + all: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result = true; + this.each(function(value, index) { + result = result && !!iterator(value, index); + if (!result) throw $break; + }); + return result; + }, + + any: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result = false; + this.each(function(value, index) { + if (result = !!iterator(value, index)) + throw $break; + }); + return result; + }, + + collect: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var results = []; + this.each(function(value, index) { + results.push(iterator(value, index)); + }); + return results; + }, + + detect: function(iterator, context) { + iterator = iterator.bind(context); + var result; + this.each(function(value, index) { + if (iterator(value, index)) { + result = value; + throw $break; + } + }); + return result; + }, + + findAll: function(iterator, context) { + iterator = iterator.bind(context); + var results = []; + this.each(function(value, index) { + if (iterator(value, index)) + results.push(value); + }); + return results; + }, + + grep: function(filter, iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var results = []; + + if (Object.isString(filter)) + filter = new RegExp(filter); + + this.each(function(value, index) { + if (filter.match(value)) + results.push(iterator(value, index)); + }); + return results; + }, + + include: function(object) { + if (Object.isFunction(this.indexOf)) + if (this.indexOf(object) != -1) return true; + + var found = false; + this.each(function(value) { + if (value == object) { + found = true; + throw $break; + } + }); + return found; + }, + + inGroupsOf: function(number, fillWith) { + fillWith = fillWith === undefined ? null : fillWith; + return this.eachSlice(number, function(slice) { + while(slice.length < number) slice.push(fillWith); + return slice; + }); + }, + + inject: function(memo, iterator, context) { + iterator = iterator.bind(context); + this.each(function(value, index) { + memo = iterator(memo, value, index); + }); + return memo; + }, + + invoke: function(method) { + var args = $A(arguments).slice(1); + return this.map(function(value) { + return value[method].apply(value, args); + }); + }, + + max: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result; + this.each(function(value, index) { + value = iterator(value, index); + if (result == undefined || value >= result) + result = value; + }); + return result; + }, + + min: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var result; + this.each(function(value, index) { + value = iterator(value, index); + if (result == undefined || value < result) + result = value; + }); + return result; + }, + + partition: function(iterator, context) { + iterator = iterator ? iterator.bind(context) : Prototype.K; + var trues = [], falses = []; + this.each(function(value, index) { + (iterator(value, index) ? + trues : falses).push(value); + }); + return [trues, falses]; + }, + + pluck: function(property) { + var results = []; + this.each(function(value) { + results.push(value[property]); + }); + return results; + }, + + reject: function(iterator, context) { + iterator = iterator.bind(context); + var results = []; + this.each(function(value, index) { + if (!iterator(value, index)) + results.push(value); + }); + return results; + }, + + sortBy: function(iterator, context) { + iterator = iterator.bind(context); + return this.map(function(value, index) { + return {value: value, criteria: iterator(value, index)}; + }).sort(function(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }).pluck('value'); + }, + + toArray: function() { + return this.map(); + }, + + zip: function() { + var iterator = Prototype.K, args = $A(arguments); + if (Object.isFunction(args.last())) + iterator = args.pop(); + + var collections = [this].concat(args).map($A); + return this.map(function(value, index) { + return iterator(collections.pluck(index)); + }); + }, + + size: function() { + return this.toArray().length; + }, + + inspect: function() { + return '#'; + } +}; + +Object.extend(Enumerable, { + map: Enumerable.collect, + find: Enumerable.detect, + select: Enumerable.findAll, + filter: Enumerable.findAll, + member: Enumerable.include, + entries: Enumerable.toArray, + every: Enumerable.all, + some: Enumerable.any +}); +function $A(iterable) { + if (!iterable) return []; + if (iterable.toArray) return iterable.toArray(); + var length = iterable.length, results = new Array(length); + while (length--) results[length] = iterable[length]; + return results; +} + +if (Prototype.Browser.WebKit) { + function $A(iterable) { + if (!iterable) return []; + if (!(Object.isFunction(iterable) && iterable == '[object NodeList]') && + iterable.toArray) return iterable.toArray(); + var length = iterable.length, results = new Array(length); + while (length--) results[length] = iterable[length]; + return results; + } +} + +Array.from = $A; + +Object.extend(Array.prototype, Enumerable); + +if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse; + +Object.extend(Array.prototype, { + _each: function(iterator) { + for (var i = 0, length = this.length; i < length; i++) + iterator(this[i]); + }, + + clear: function() { + this.length = 0; + return this; + }, + + first: function() { + return this[0]; + }, + + last: function() { + return this[this.length - 1]; + }, + + compact: function() { + return this.select(function(value) { + return value != null; + }); + }, + + flatten: function() { + return this.inject([], function(array, value) { + return array.concat(Object.isArray(value) ? + value.flatten() : [value]); + }); + }, + + without: function() { + var values = $A(arguments); + return this.select(function(value) { + return !values.include(value); + }); + }, + + reverse: function(inline) { + return (inline !== false ? this : this.toArray())._reverse(); + }, + + reduce: function() { + return this.length > 1 ? this : this[0]; + }, + + uniq: function(sorted) { + return this.inject([], function(array, value, index) { + if (0 == index || (sorted ? array.last() != value : !array.include(value))) + array.push(value); + return array; + }); + }, + + intersect: function(array) { + return this.uniq().findAll(function(item) { + return array.detect(function(value) { return item === value }); + }); + }, + + clone: function() { + return [].concat(this); + }, + + size: function() { + return this.length; + }, + + inspect: function() { + return '[' + this.map(Object.inspect).join(', ') + ']'; + }, + + toJSON: function() { + var results = []; + this.each(function(object) { + var value = Object.toJSON(object); + if (value !== undefined) results.push(value); + }); + return '[' + results.join(', ') + ']'; + } +}); + +// use native browser JS 1.6 implementation if available +if (Object.isFunction(Array.prototype.forEach)) + Array.prototype._each = Array.prototype.forEach; + +if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) { + i || (i = 0); + var length = this.length; + if (i < 0) i = length + i; + for (; i < length; i++) + if (this[i] === item) return i; + return -1; +}; + +if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf = function(item, i) { + i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1; + var n = this.slice(0, i).reverse().indexOf(item); + return (n < 0) ? n : i - n - 1; +}; + +Array.prototype.toArray = Array.prototype.clone; + +function $w(string) { + if (!Object.isString(string)) return []; + string = string.strip(); + return string ? string.split(/\s+/) : []; +} + +if (Prototype.Browser.Opera){ + Array.prototype.concat = function() { + var array = []; + for (var i = 0, length = this.length; i < length; i++) array.push(this[i]); + for (var i = 0, length = arguments.length; i < length; i++) { + if (Object.isArray(arguments[i])) { + for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++) + array.push(arguments[i][j]); + } else { + array.push(arguments[i]); + } + } + return array; + }; +} +Object.extend(Number.prototype, { + toColorPart: function() { + return this.toPaddedString(2, 16); + }, + + succ: function() { + return this + 1; + }, + + times: function(iterator) { + $R(0, this, true).each(iterator); + return this; + }, + + toPaddedString: function(length, radix) { + var string = this.toString(radix || 10); + return '0'.times(length - string.length) + string; + }, + + toJSON: function() { + return isFinite(this) ? this.toString() : 'null'; + } +}); + +$w('abs round ceil floor').each(function(method){ + Number.prototype[method] = Math[method].methodize(); +}); +function $H(object) { + return new Hash(object); +}; + +var Hash = Class.create(Enumerable, (function() { + if (function() { + var i = 0, Test = function(value) { this.key = value }; + Test.prototype.key = 'foo'; + for (var property in new Test('bar')) i++; + return i > 1; + }()) { + function each(iterator) { + var cache = []; + for (var key in this._object) { + var value = this._object[key]; + if (cache.include(key)) continue; + cache.push(key); + var pair = [key, value]; + pair.key = key; + pair.value = value; + iterator(pair); + } + } + } else { + function each(iterator) { + for (var key in this._object) { + var value = this._object[key], pair = [key, value]; + pair.key = key; + pair.value = value; + iterator(pair); + } + } + } + + function toQueryPair(key, value) { + if (Object.isUndefined(value)) return key; + return key + '=' + encodeURIComponent(String.interpret(value)); + } + + return { + initialize: function(object) { + this._object = Object.isHash(object) ? object.toObject() : Object.clone(object); + }, + + _each: each, + + set: function(key, value) { + return this._object[key] = value; + }, + + get: function(key) { + return this._object[key]; + }, + + unset: function(key) { + var value = this._object[key]; + delete this._object[key]; + return value; + }, + + toObject: function() { + return Object.clone(this._object); + }, + + keys: function() { + return this.pluck('key'); + }, + + values: function() { + return this.pluck('value'); + }, + + index: function(value) { + var match = this.detect(function(pair) { + return pair.value === value; + }); + return match && match.key; + }, + + merge: function(object) { + return this.clone().update(object); + }, + + update: function(object) { + return new Hash(object).inject(this, function(result, pair) { + result.set(pair.key, pair.value); + return result; + }); + }, + + toQueryString: function() { + return this.map(function(pair) { + var key = encodeURIComponent(pair.key), values = pair.value; + + if (values && typeof values == 'object') { + if (Object.isArray(values)) + return values.map(toQueryPair.curry(key)).join('&'); + } + return toQueryPair(key, values); + }).join('&'); + }, + + inspect: function() { + return '#'; + }, + + toJSON: function() { + return Object.toJSON(this.toObject()); + }, + + clone: function() { + return new Hash(this); + } + } +})()); + +Hash.prototype.toTemplateReplacements = Hash.prototype.toObject; +Hash.from = $H; +var ObjectRange = Class.create(Enumerable, { + initialize: function(start, end, exclusive) { + this.start = start; + this.end = end; + this.exclusive = exclusive; + }, + + _each: function(iterator) { + var value = this.start; + while (this.include(value)) { + iterator(value); + value = value.succ(); + } + }, + + include: function(value) { + if (value < this.start) + return false; + if (this.exclusive) + return value < this.end; + return value <= this.end; + } +}); + +var $R = function(start, end, exclusive) { + return new ObjectRange(start, end, exclusive); +}; + +var Ajax = { + getTransport: function() { + return Try.these( + function() {return new XMLHttpRequest()}, + function() {return new ActiveXObject('Msxml2.XMLHTTP')}, + function() {return new ActiveXObject('Microsoft.XMLHTTP')} + ) || false; + }, + + activeRequestCount: 0 +}; + +Ajax.Responders = { + responders: [], + + _each: function(iterator) { + this.responders._each(iterator); + }, + + register: function(responder) { + if (!this.include(responder)) + this.responders.push(responder); + }, + + unregister: function(responder) { + this.responders = this.responders.without(responder); + }, + + dispatch: function(callback, request, transport, json) { + this.each(function(responder) { + if (Object.isFunction(responder[callback])) { + try { + responder[callback].apply(responder, [request, transport, json]); + } catch (e) { } + } + }); + } +}; + +Object.extend(Ajax.Responders, Enumerable); + +Ajax.Responders.register({ + onCreate: function() { Ajax.activeRequestCount++ }, + onComplete: function() { Ajax.activeRequestCount-- } +}); + +Ajax.Base = Class.create({ + initialize: function(options) { + this.options = { + method: 'post', + asynchronous: true, + contentType: 'application/x-www-form-urlencoded', + encoding: 'UTF-8', + parameters: '', + evalJSON: true, + evalJS: true + }; + Object.extend(this.options, options || { }); + + this.options.method = this.options.method.toLowerCase(); + if (Object.isString(this.options.parameters)) + this.options.parameters = this.options.parameters.toQueryParams(); + } +}); + +Ajax.Request = Class.create(Ajax.Base, { + _complete: false, + + initialize: function($super, url, options) { + $super(options); + this.transport = Ajax.getTransport(); + this.request(url); + }, + + request: function(url) { + this.url = url; + this.method = this.options.method; + var params = Object.clone(this.options.parameters); + + if (!['get', 'post'].include(this.method)) { + // simulate other verbs over post + params['_method'] = this.method; + this.method = 'post'; + } + + this.parameters = params; + + if (params = Object.toQueryString(params)) { + // when GET, append parameters to URL + if (this.method == 'get') + this.url += (this.url.include('?') ? '&' : '?') + params; + else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) + params += '&_='; + } + + try { + var response = new Ajax.Response(this); + if (this.options.onCreate) this.options.onCreate(response); + Ajax.Responders.dispatch('onCreate', this, response); + + this.transport.open(this.method.toUpperCase(), this.url, + this.options.asynchronous); + + if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1); + + this.transport.onreadystatechange = this.onStateChange.bind(this); + this.setRequestHeaders(); + + this.body = this.method == 'post' ? (this.options.postBody || params) : null; + this.transport.send(this.body); + + /* Force Firefox to handle ready state 4 for synchronous requests */ + if (!this.options.asynchronous && this.transport.overrideMimeType) + this.onStateChange(); + + } + catch (e) { + this.dispatchException(e); + } + }, + + onStateChange: function() { + var readyState = this.transport.readyState; + if (readyState > 1 && !((readyState == 4) && this._complete)) + this.respondToReadyState(this.transport.readyState); + }, + + setRequestHeaders: function() { + var headers = { + 'X-Requested-With': 'XMLHttpRequest', + 'X-Prototype-Version': Prototype.Version, + 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*' + }; + + if (this.method == 'post') { + headers['Content-type'] = this.options.contentType + + (this.options.encoding ? '; charset=' + this.options.encoding : ''); + + /* Force "Connection: close" for older Mozilla browsers to work + * around a bug where XMLHttpRequest sends an incorrect + * Content-length header. See Mozilla Bugzilla #246651. + */ + if (this.transport.overrideMimeType && + (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005) + headers['Connection'] = 'close'; + } + + // user-defined headers + if (typeof this.options.requestHeaders == 'object') { + var extras = this.options.requestHeaders; + + if (Object.isFunction(extras.push)) + for (var i = 0, length = extras.length; i < length; i += 2) + headers[extras[i]] = extras[i+1]; + else + $H(extras).each(function(pair) { headers[pair.key] = pair.value }); + } + + for (var name in headers) + this.transport.setRequestHeader(name, headers[name]); + }, + + success: function() { + var status = this.getStatus(); + return !status || (status >= 200 && status < 300); + }, + + getStatus: function() { + try { + return this.transport.status || 0; + } catch (e) { return 0 } + }, + + respondToReadyState: function(readyState) { + var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this); + + if (state == 'Complete') { + try { + this._complete = true; + (this.options['on' + response.status] + || this.options['on' + (this.success() ? 'Success' : 'Failure')] + || Prototype.emptyFunction)(response, response.headerJSON); + } catch (e) { + this.dispatchException(e); + } + + var contentType = response.getHeader('Content-type'); + if (this.options.evalJS == 'force' + || (this.options.evalJS && contentType + && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))) + this.evalResponse(); + } + + try { + (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON); + Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON); + } catch (e) { + this.dispatchException(e); + } + + if (state == 'Complete') { + // avoid memory leak in MSIE: clean up + this.transport.onreadystatechange = Prototype.emptyFunction; + } + }, + + getHeader: function(name) { + try { + return this.transport.getResponseHeader(name); + } catch (e) { return null } + }, + + evalResponse: function() { + try { + return eval((this.transport.responseText || '').unfilterJSON()); + } catch (e) { + this.dispatchException(e); + } + }, + + dispatchException: function(exception) { + (this.options.onException || Prototype.emptyFunction)(this, exception); + Ajax.Responders.dispatch('onException', this, exception); + } +}); + +Ajax.Request.Events = + ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; + +Ajax.Response = Class.create({ + initialize: function(request){ + this.request = request; + var transport = this.transport = request.transport, + readyState = this.readyState = transport.readyState; + + if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) { + this.status = this.getStatus(); + this.statusText = this.getStatusText(); + this.responseText = String.interpret(transport.responseText); + this.headerJSON = this._getHeaderJSON(); + } + + if(readyState == 4) { + var xml = transport.responseXML; + this.responseXML = xml === undefined ? null : xml; + this.responseJSON = this._getResponseJSON(); + } + }, + + status: 0, + statusText: '', + + getStatus: Ajax.Request.prototype.getStatus, + + getStatusText: function() { + try { + return this.transport.statusText || ''; + } catch (e) { return '' } + }, + + getHeader: Ajax.Request.prototype.getHeader, + + getAllHeaders: function() { + try { + return this.getAllResponseHeaders(); + } catch (e) { return null } + }, + + getResponseHeader: function(name) { + return this.transport.getResponseHeader(name); + }, + + getAllResponseHeaders: function() { + return this.transport.getAllResponseHeaders(); + }, + + _getHeaderJSON: function() { + var json = this.getHeader('X-JSON'); + if (!json) return null; + json = decodeURIComponent(escape(json)); + try { + return json.evalJSON(this.request.options.sanitizeJSON); + } catch (e) { + this.request.dispatchException(e); + } + }, + + _getResponseJSON: function() { + var options = this.request.options; + if (!options.evalJSON || (options.evalJSON != 'force' && + !(this.getHeader('Content-type') || '').include('application/json'))) + return null; + try { + return this.transport.responseText.evalJSON(options.sanitizeJSON); + } catch (e) { + this.request.dispatchException(e); + } + } +}); + +Ajax.Updater = Class.create(Ajax.Request, { + initialize: function($super, container, url, options) { + this.container = { + success: (container.success || container), + failure: (container.failure || (container.success ? null : container)) + }; + + options = options || { }; + var onComplete = options.onComplete; + options.onComplete = (function(response, param) { + this.updateContent(response.responseText); + if (Object.isFunction(onComplete)) onComplete(response, param); + }).bind(this); + + $super(url, options); + }, + + updateContent: function(responseText) { + var receiver = this.container[this.success() ? 'success' : 'failure'], + options = this.options; + + if (!options.evalScripts) responseText = responseText.stripScripts(); + + if (receiver = $(receiver)) { + if (options.insertion) { + if (Object.isString(options.insertion)) { + var insertion = { }; insertion[options.insertion] = responseText; + receiver.insert(insertion); + } + else options.insertion(receiver, responseText); + } + else receiver.update(responseText); + } + + if (this.success()) { + if (this.onComplete) this.onComplete.bind(this).defer(); + } + } +}); + +Ajax.PeriodicalUpdater = Class.create(Ajax.Base, { + initialize: function($super, container, url, options) { + $super(options); + this.onComplete = this.options.onComplete; + + this.frequency = (this.options.frequency || 2); + this.decay = (this.options.decay || 1); + + this.updater = { }; + this.container = container; + this.url = url; + + this.start(); + }, + + start: function() { + this.options.onComplete = this.updateComplete.bind(this); + this.onTimerEvent(); + }, + + stop: function() { + this.updater.options.onComplete = undefined; + clearTimeout(this.timer); + (this.onComplete || Prototype.emptyFunction).apply(this, arguments); + }, + + updateComplete: function(response) { + if (this.options.decay) { + this.decay = (response.responseText == this.lastText ? + this.decay * this.options.decay : 1); + + this.lastText = response.responseText; + } + this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency); + }, + + onTimerEvent: function() { + this.updater = new Ajax.Updater(this.container, this.url, this.options); + } +}); +function $(element) { + if (arguments.length > 1) { + for (var i = 0, elements = [], length = arguments.length; i < length; i++) + elements.push($(arguments[i])); + return elements; + } + if (Object.isString(element)) + element = document.getElementById(element); + return Element.extend(element); +} + +if (Prototype.BrowserFeatures.XPath) { + document._getElementsByXPath = function(expression, parentElement) { + var results = []; + var query = document.evaluate(expression, $(parentElement) || document, + null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); + for (var i = 0, length = query.snapshotLength; i < length; i++) + results.push(Element.extend(query.snapshotItem(i))); + return results; + }; +} + +/*--------------------------------------------------------------------------*/ + +if (!window.Node) var Node = { }; + +if (!Node.ELEMENT_NODE) { + // DOM level 2 ECMAScript Language Binding + Object.extend(Node, { + ELEMENT_NODE: 1, + ATTRIBUTE_NODE: 2, + TEXT_NODE: 3, + CDATA_SECTION_NODE: 4, + ENTITY_REFERENCE_NODE: 5, + ENTITY_NODE: 6, + PROCESSING_INSTRUCTION_NODE: 7, + COMMENT_NODE: 8, + DOCUMENT_NODE: 9, + DOCUMENT_TYPE_NODE: 10, + DOCUMENT_FRAGMENT_NODE: 11, + NOTATION_NODE: 12 + }); +} + +(function() { + var element = this.Element; + this.Element = function(tagName, attributes) { + attributes = attributes || { }; + tagName = tagName.toLowerCase(); + var cache = Element.cache; + if (Prototype.Browser.IE && attributes.name) { + tagName = '<' + tagName + ' name="' + attributes.name + '">'; + delete attributes.name; + return Element.writeAttribute(document.createElement(tagName), attributes); + } + if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName)); + return Element.writeAttribute(cache[tagName].cloneNode(false), attributes); + }; + Object.extend(this.Element, element || { }); +}).call(window); + +Element.cache = { }; + +Element.Methods = { + visible: function(element) { + return $(element).style.display != 'none'; + }, + + toggle: function(element) { + element = $(element); + Element[Element.visible(element) ? 'hide' : 'show'](element); + return element; + }, + + hide: function(element) { + $(element).style.display = 'none'; + return element; + }, + + show: function(element) { + $(element).style.display = ''; + return element; + }, + + remove: function(element) { + element = $(element); + element.parentNode.removeChild(element); + return element; + }, + + update: function(element, content) { + element = $(element); + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) return element.update().insert(content); + content = Object.toHTML(content); + element.innerHTML = content.stripScripts(); + content.evalScripts.bind(content).defer(); + return element; + }, + + replace: function(element, content) { + element = $(element); + if (content && content.toElement) content = content.toElement(); + else if (!Object.isElement(content)) { + content = Object.toHTML(content); + var range = element.ownerDocument.createRange(); + range.selectNode(element); + content.evalScripts.bind(content).defer(); + content = range.createContextualFragment(content.stripScripts()); + } + element.parentNode.replaceChild(content, element); + return element; + }, + + insert: function(element, insertions) { + element = $(element); + + if (Object.isString(insertions) || Object.isNumber(insertions) || + Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML))) + insertions = {bottom:insertions}; + + var content, t, range; + + for (position in insertions) { + content = insertions[position]; + position = position.toLowerCase(); + t = Element._insertionTranslations[position]; + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + t.insert(element, content); + continue; + } + + content = Object.toHTML(content); + + range = element.ownerDocument.createRange(); + t.initializeRange(element, range); + t.insert(element, range.createContextualFragment(content.stripScripts())); + + content.evalScripts.bind(content).defer(); + } + + return element; + }, + + wrap: function(element, wrapper, attributes) { + element = $(element); + if (Object.isElement(wrapper)) + $(wrapper).writeAttribute(attributes || { }); + else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes); + else wrapper = new Element('div', wrapper); + if (element.parentNode) + element.parentNode.replaceChild(wrapper, element); + wrapper.appendChild(element); + return wrapper; + }, + + inspect: function(element) { + element = $(element); + var result = '<' + element.tagName.toLowerCase(); + $H({'id': 'id', 'className': 'class'}).each(function(pair) { + var property = pair.first(), attribute = pair.last(); + var value = (element[property] || '').toString(); + if (value) result += ' ' + attribute + '=' + value.inspect(true); + }); + return result + '>'; + }, + + recursivelyCollect: function(element, property) { + element = $(element); + var elements = []; + while (element = element[property]) + if (element.nodeType == 1) + elements.push(Element.extend(element)); + return elements; + }, + + ancestors: function(element) { + return $(element).recursivelyCollect('parentNode'); + }, + + descendants: function(element) { + return $A($(element).getElementsByTagName('*')).each(Element.extend); + }, + + firstDescendant: function(element) { + element = $(element).firstChild; + while (element && element.nodeType != 1) element = element.nextSibling; + return $(element); + }, + + immediateDescendants: function(element) { + if (!(element = $(element).firstChild)) return []; + while (element && element.nodeType != 1) element = element.nextSibling; + if (element) return [element].concat($(element).nextSiblings()); + return []; + }, + + previousSiblings: function(element) { + return $(element).recursivelyCollect('previousSibling'); + }, + + nextSiblings: function(element) { + return $(element).recursivelyCollect('nextSibling'); + }, + + siblings: function(element) { + element = $(element); + return element.previousSiblings().reverse().concat(element.nextSiblings()); + }, + + match: function(element, selector) { + if (Object.isString(selector)) + selector = new Selector(selector); + return selector.match($(element)); + }, + + up: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return $(element.parentNode); + var ancestors = element.ancestors(); + return expression ? Selector.findElement(ancestors, expression, index) : + ancestors[index || 0]; + }, + + down: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return element.firstDescendant(); + var descendants = element.descendants(); + return expression ? Selector.findElement(descendants, expression, index) : + descendants[index || 0]; + }, + + previous: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element)); + var previousSiblings = element.previousSiblings(); + return expression ? Selector.findElement(previousSiblings, expression, index) : + previousSiblings[index || 0]; + }, + + next: function(element, expression, index) { + element = $(element); + if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element)); + var nextSiblings = element.nextSiblings(); + return expression ? Selector.findElement(nextSiblings, expression, index) : + nextSiblings[index || 0]; + }, + + select: function() { + var args = $A(arguments), element = $(args.shift()); + return Selector.findChildElements(element, args); + }, + + adjacent: function() { + var args = $A(arguments), element = $(args.shift()); + return Selector.findChildElements(element.parentNode, args).without(element); + }, + + identify: function(element) { + element = $(element); + var id = element.readAttribute('id'), self = arguments.callee; + if (id) return id; + do { id = 'anonymous_element_' + self.counter++ } while ($(id)); + element.writeAttribute('id', id); + return id; + }, + + readAttribute: function(element, name) { + element = $(element); + if (Prototype.Browser.IE) { + var t = Element._attributeTranslations.read; + if (t.values[name]) return t.values[name](element, name); + if (t.names[name]) name = t.names[name]; + if (name.include(':')) { + return (!element.attributes || !element.attributes[name]) ? null : + element.attributes[name].value; + } + } + return element.getAttribute(name); + }, + + writeAttribute: function(element, name, value) { + element = $(element); + var attributes = { }, t = Element._attributeTranslations.write; + + if (typeof name == 'object') attributes = name; + else attributes[name] = value === undefined ? true : value; + + for (var attr in attributes) { + var name = t.names[attr] || attr, value = attributes[attr]; + if (t.values[attr]) name = t.values[attr](element, value); + if (value === false || value === null) + element.removeAttribute(name); + else if (value === true) + element.setAttribute(name, name); + else element.setAttribute(name, value); + } + return element; + }, + + getHeight: function(element) { + return $(element).getDimensions().height; + }, + + getWidth: function(element) { + return $(element).getDimensions().width; + }, + + classNames: function(element) { + return new Element.ClassNames(element); + }, + + hasClassName: function(element, className) { + if (!(element = $(element))) return; + var elementClassName = element.className; + return (elementClassName.length > 0 && (elementClassName == className || + new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName))); + }, + + addClassName: function(element, className) { + if (!(element = $(element))) return; + if (!element.hasClassName(className)) + element.className += (element.className ? ' ' : '') + className; + return element; + }, + + removeClassName: function(element, className) { + if (!(element = $(element))) return; + element.className = element.className.replace( + new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip(); + return element; + }, + + toggleClassName: function(element, className) { + if (!(element = $(element))) return; + return element[element.hasClassName(className) ? + 'removeClassName' : 'addClassName'](className); + }, + + // removes whitespace-only text node children + cleanWhitespace: function(element) { + element = $(element); + var node = element.firstChild; + while (node) { + var nextNode = node.nextSibling; + if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) + element.removeChild(node); + node = nextNode; + } + return element; + }, + + empty: function(element) { + return $(element).innerHTML.blank(); + }, + + descendantOf: function(element, ancestor) { + element = $(element), ancestor = $(ancestor); + + if (element.compareDocumentPosition) + return (element.compareDocumentPosition(ancestor) & 8) === 8; + + if (element.sourceIndex && !Prototype.Browser.Opera) { + var e = element.sourceIndex, a = ancestor.sourceIndex, + nextAncestor = ancestor.nextSibling; + if (!nextAncestor) { + do { ancestor = ancestor.parentNode; } + while (!(nextAncestor = ancestor.nextSibling) && ancestor.parentNode); + } + if (nextAncestor) return (e > a && e < nextAncestor.sourceIndex); + } + + while (element = element.parentNode) + if (element == ancestor) return true; + return false; + }, + + scrollTo: function(element) { + element = $(element); + var pos = element.cumulativeOffset(); + window.scrollTo(pos[0], pos[1]); + return element; + }, + + getStyle: function(element, style) { + element = $(element); + style = style == 'float' ? 'cssFloat' : style.camelize(); + var value = element.style[style]; + if (!value) { + var css = document.defaultView.getComputedStyle(element, null); + value = css ? css[style] : null; + } + if (style == 'opacity') return value ? parseFloat(value) : 1.0; + return value == 'auto' ? null : value; + }, + + getOpacity: function(element) { + return $(element).getStyle('opacity'); + }, + + setStyle: function(element, styles) { + element = $(element); + var elementStyle = element.style, match; + if (Object.isString(styles)) { + element.style.cssText += ';' + styles; + return styles.include('opacity') ? + element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element; + } + for (var property in styles) + if (property == 'opacity') element.setOpacity(styles[property]); + else + elementStyle[(property == 'float' || property == 'cssFloat') ? + (elementStyle.styleFloat === undefined ? 'cssFloat' : 'styleFloat') : + property] = styles[property]; + + return element; + }, + + setOpacity: function(element, value) { + element = $(element); + element.style.opacity = (value == 1 || value === '') ? '' : + (value < 0.00001) ? 0 : value; + return element; + }, + + getDimensions: function(element) { + element = $(element); + var display = $(element).getStyle('display'); + if (display != 'none' && display != null) // Safari bug + return {width: element.offsetWidth, height: element.offsetHeight}; + + // All *Width and *Height properties give 0 on elements with display none, + // so enable the element temporarily + var els = element.style; + var originalVisibility = els.visibility; + var originalPosition = els.position; + var originalDisplay = els.display; + els.visibility = 'hidden'; + els.position = 'absolute'; + els.display = 'block'; + var originalWidth = element.clientWidth; + var originalHeight = element.clientHeight; + els.display = originalDisplay; + els.position = originalPosition; + els.visibility = originalVisibility; + return {width: originalWidth, height: originalHeight}; + }, + + makePositioned: function(element) { + element = $(element); + var pos = Element.getStyle(element, 'position'); + if (pos == 'static' || !pos) { + element._madePositioned = true; + element.style.position = 'relative'; + // Opera returns the offset relative to the positioning context, when an + // element is position relative but top and left have not been defined + if (window.opera) { + element.style.top = 0; + element.style.left = 0; + } + } + return element; + }, + + undoPositioned: function(element) { + element = $(element); + if (element._madePositioned) { + element._madePositioned = undefined; + element.style.position = + element.style.top = + element.style.left = + element.style.bottom = + element.style.right = ''; + } + return element; + }, + + makeClipping: function(element) { + element = $(element); + if (element._overflow) return element; + element._overflow = Element.getStyle(element, 'overflow') || 'auto'; + if (element._overflow !== 'hidden') + element.style.overflow = 'hidden'; + return element; + }, + + undoClipping: function(element) { + element = $(element); + if (!element._overflow) return element; + element.style.overflow = element._overflow == 'auto' ? '' : element._overflow; + element._overflow = null; + return element; + }, + + cumulativeOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + positionedOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + if (element) { + if (element.tagName == 'BODY') break; + var p = Element.getStyle(element, 'position'); + if (p == 'relative' || p == 'absolute') break; + } + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + absolutize: function(element) { + element = $(element); + if (element.getStyle('position') == 'absolute') return; + // Position.prepare(); // To be done manually by Scripty when it needs it. + + var offsets = element.positionedOffset(); + var top = offsets[1]; + var left = offsets[0]; + var width = element.clientWidth; + var height = element.clientHeight; + + element._originalLeft = left - parseFloat(element.style.left || 0); + element._originalTop = top - parseFloat(element.style.top || 0); + element._originalWidth = element.style.width; + element._originalHeight = element.style.height; + + element.style.position = 'absolute'; + element.style.top = top + 'px'; + element.style.left = left + 'px'; + element.style.width = width + 'px'; + element.style.height = height + 'px'; + return element; + }, + + relativize: function(element) { + element = $(element); + if (element.getStyle('position') == 'relative') return; + // Position.prepare(); // To be done manually by Scripty when it needs it. + + element.style.position = 'relative'; + var top = parseFloat(element.style.top || 0) - (element._originalTop || 0); + var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0); + + element.style.top = top + 'px'; + element.style.left = left + 'px'; + element.style.height = element._originalHeight; + element.style.width = element._originalWidth; + return element; + }, + + cumulativeScrollOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.scrollTop || 0; + valueL += element.scrollLeft || 0; + element = element.parentNode; + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + getOffsetParent: function(element) { + if (element.offsetParent) return $(element.offsetParent); + if (element == document.body) return $(element); + + while ((element = element.parentNode) && element != document.body) + if (Element.getStyle(element, 'position') != 'static') + return $(element); + + return $(document.body); + }, + + viewportOffset: function(forElement) { + var valueT = 0, valueL = 0; + + var element = forElement; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + + // Safari fix + if (element.offsetParent == document.body && + Element.getStyle(element, 'position') == 'absolute') break; + + } while (element = element.offsetParent); + + element = forElement; + do { + if (!Prototype.Browser.Opera || element.tagName == 'BODY') { + valueT -= element.scrollTop || 0; + valueL -= element.scrollLeft || 0; + } + } while (element = element.parentNode); + + return Element._returnOffset(valueL, valueT); + }, + + clonePosition: function(element, source) { + var options = Object.extend({ + setLeft: true, + setTop: true, + setWidth: true, + setHeight: true, + offsetTop: 0, + offsetLeft: 0 + }, arguments[2] || { }); + + // find page position of source + source = $(source); + var p = source.viewportOffset(); + + // find coordinate system to use + element = $(element); + var delta = [0, 0]; + var parent = null; + // delta [0,0] will do fine with position: fixed elements, + // position:absolute needs offsetParent deltas + if (Element.getStyle(element, 'position') == 'absolute') { + parent = element.getOffsetParent(); + delta = parent.viewportOffset(); + } + + // correct by body offsets (fixes Safari) + if (parent == document.body) { + delta[0] -= document.body.offsetLeft; + delta[1] -= document.body.offsetTop; + } + + // set position + if (options.setLeft) element.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px'; + if (options.setTop) element.style.top = (p[1] - delta[1] + options.offsetTop) + 'px'; + if (options.setWidth) element.style.width = source.offsetWidth + 'px'; + if (options.setHeight) element.style.height = source.offsetHeight + 'px'; + return element; + } +}; + +Element.Methods.identify.counter = 1; + +Object.extend(Element.Methods, { + getElementsBySelector: Element.Methods.select, + childElements: Element.Methods.immediateDescendants +}); + +Element._attributeTranslations = { + write: { + names: { + className: 'class', + htmlFor: 'for' + }, + values: { } + } +}; + + +if (!document.createRange || Prototype.Browser.Opera) { + Element.Methods.insert = function(element, insertions) { + element = $(element); + + if (Object.isString(insertions) || Object.isNumber(insertions) || + Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML))) + insertions = { bottom: insertions }; + + var t = Element._insertionTranslations, content, position, pos, tagName; + + for (position in insertions) { + content = insertions[position]; + position = position.toLowerCase(); + pos = t[position]; + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + pos.insert(element, content); + continue; + } + + content = Object.toHTML(content); + tagName = ((position == 'before' || position == 'after') + ? element.parentNode : element).tagName.toUpperCase(); + + if (t.tags[tagName]) { + var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); + if (position == 'top' || position == 'after') fragments.reverse(); + fragments.each(pos.insert.curry(element)); + } + else element.insertAdjacentHTML(pos.adjacency, content.stripScripts()); + + content.evalScripts.bind(content).defer(); + } + + return element; + }; +} + +if (Prototype.Browser.Opera) { + Element.Methods._getStyle = Element.Methods.getStyle; + Element.Methods.getStyle = function(element, style) { + switch(style) { + case 'left': + case 'top': + case 'right': + case 'bottom': + if (Element._getStyle(element, 'position') == 'static') return null; + default: return Element._getStyle(element, style); + } + }; + Element.Methods._readAttribute = Element.Methods.readAttribute; + Element.Methods.readAttribute = function(element, attribute) { + if (attribute == 'title') return element.title; + return Element._readAttribute(element, attribute); + }; +} + +else if (Prototype.Browser.IE) { + $w('positionedOffset getOffsetParent viewportOffset').each(function(method) { + Element.Methods[method] = Element.Methods[method].wrap( + function(proceed, element) { + element = $(element); + var position = element.getStyle('position'); + if (position != 'static') return proceed(element); + element.setStyle({ position: 'relative' }); + var value = proceed(element); + element.setStyle({ position: position }); + return value; + } + ); + }); + + Element.Methods.getStyle = function(element, style) { + element = $(element); + style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize(); + var value = element.style[style]; + if (!value && element.currentStyle) value = element.currentStyle[style]; + + if (style == 'opacity') { + if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/)) + if (value[1]) return parseFloat(value[1]) / 100; + return 1.0; + } + + if (value == 'auto') { + if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none')) + return element['offset' + style.capitalize()] + 'px'; + return null; + } + return value; + }; + + Element.Methods.setOpacity = function(element, value) { + function stripAlpha(filter){ + return filter.replace(/alpha\([^\)]*\)/gi,''); + } + element = $(element); + var currentStyle = element.currentStyle; + if ((currentStyle && !currentStyle.hasLayout) || + (!currentStyle && element.style.zoom == 'normal')) + element.style.zoom = 1; + + var filter = element.getStyle('filter'), style = element.style; + if (value == 1 || value === '') { + (filter = stripAlpha(filter)) ? + style.filter = filter : style.removeAttribute('filter'); + return element; + } else if (value < 0.00001) value = 0; + style.filter = stripAlpha(filter) + + 'alpha(opacity=' + (value * 100) + ')'; + return element; + }; + + Element._attributeTranslations = { + read: { + names: { + 'class': 'className', + 'for': 'htmlFor' + }, + values: { + _getAttr: function(element, attribute) { + return element.getAttribute(attribute, 2); + }, + _getAttrNode: function(element, attribute) { + var node = element.getAttributeNode(attribute); + return node ? node.value : ""; + }, + _getEv: function(element, attribute) { + var attribute = element.getAttribute(attribute); + return attribute ? attribute.toString().slice(23, -2) : null; + }, + _flag: function(element, attribute) { + return $(element).hasAttribute(attribute) ? attribute : null; + }, + style: function(element) { + return element.style.cssText.toLowerCase(); + }, + title: function(element) { + return element.title; + } + } + } + }; + + Element._attributeTranslations.write = { + names: Object.clone(Element._attributeTranslations.read.names), + values: { + checked: function(element, value) { + element.checked = !!value; + }, + + style: function(element, value) { + element.style.cssText = value ? value : ''; + } + } + }; + + Element._attributeTranslations.has = {}; + + $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' + + 'encType maxLength readOnly longDesc').each(function(attr) { + Element._attributeTranslations.write.names[attr.toLowerCase()] = attr; + Element._attributeTranslations.has[attr.toLowerCase()] = attr; + }); + + (function(v) { + Object.extend(v, { + href: v._getAttr, + src: v._getAttr, + type: v._getAttr, + action: v._getAttrNode, + disabled: v._flag, + checked: v._flag, + readonly: v._flag, + multiple: v._flag, + onload: v._getEv, + onunload: v._getEv, + onclick: v._getEv, + ondblclick: v._getEv, + onmousedown: v._getEv, + onmouseup: v._getEv, + onmouseover: v._getEv, + onmousemove: v._getEv, + onmouseout: v._getEv, + onfocus: v._getEv, + onblur: v._getEv, + onkeypress: v._getEv, + onkeydown: v._getEv, + onkeyup: v._getEv, + onsubmit: v._getEv, + onreset: v._getEv, + onselect: v._getEv, + onchange: v._getEv + }); + })(Element._attributeTranslations.read.values); +} + +else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) { + Element.Methods.setOpacity = function(element, value) { + element = $(element); + element.style.opacity = (value == 1) ? 0.999999 : + (value === '') ? '' : (value < 0.00001) ? 0 : value; + return element; + }; +} + +else if (Prototype.Browser.WebKit) { + Element.Methods.setOpacity = function(element, value) { + element = $(element); + element.style.opacity = (value == 1 || value === '') ? '' : + (value < 0.00001) ? 0 : value; + + if (value == 1) + if(element.tagName == 'IMG' && element.width) { + element.width++; element.width--; + } else try { + var n = document.createTextNode(' '); + element.appendChild(n); + element.removeChild(n); + } catch (e) { } + + return element; + }; + + // Safari returns margins on body which is incorrect if the child is absolutely + // positioned. For performance reasons, redefine Position.cumulativeOffset for + // KHTML/WebKit only. + Element.Methods.cumulativeOffset = function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + if (element.offsetParent == document.body) + if (Element.getStyle(element, 'position') == 'absolute') break; + + element = element.offsetParent; + } while (element); + + return Element._returnOffset(valueL, valueT); + }; +} + +if (Prototype.Browser.IE || Prototype.Browser.Opera) { + // IE and Opera are missing .innerHTML support for TABLE-related and SELECT elements + Element.Methods.update = function(element, content) { + element = $(element); + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) return element.update().insert(content); + + content = Object.toHTML(content); + var tagName = element.tagName.toUpperCase(); + + if (tagName in Element._insertionTranslations.tags) { + $A(element.childNodes).each(function(node) { element.removeChild(node) }); + Element._getContentFromAnonymousElement(tagName, content.stripScripts()) + .each(function(node) { element.appendChild(node) }); + } + else element.innerHTML = content.stripScripts(); + + content.evalScripts.bind(content).defer(); + return element; + }; +} + +if (document.createElement('div').outerHTML) { + Element.Methods.replace = function(element, content) { + element = $(element); + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + element.parentNode.replaceChild(content, element); + return element; + } + + content = Object.toHTML(content); + var parent = element.parentNode, tagName = parent.tagName.toUpperCase(); + + if (Element._insertionTranslations.tags[tagName]) { + var nextSibling = element.next(); + var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); + parent.removeChild(element); + if (nextSibling) + fragments.each(function(node) { parent.insertBefore(node, nextSibling) }); + else + fragments.each(function(node) { parent.appendChild(node) }); + } + else element.outerHTML = content.stripScripts(); + + content.evalScripts.bind(content).defer(); + return element; + }; +} + +Element._returnOffset = function(l, t) { + var result = [l, t]; + result.left = l; + result.top = t; + return result; +}; + +Element._getContentFromAnonymousElement = function(tagName, html) { + var div = new Element('div'), t = Element._insertionTranslations.tags[tagName]; + div.innerHTML = t[0] + html + t[1]; + t[2].times(function() { div = div.firstChild }); + return $A(div.childNodes); +}; + +Element._insertionTranslations = { + before: { + adjacency: 'beforeBegin', + insert: function(element, node) { + element.parentNode.insertBefore(node, element); + }, + initializeRange: function(element, range) { + range.setStartBefore(element); + } + }, + top: { + adjacency: 'afterBegin', + insert: function(element, node) { + element.insertBefore(node, element.firstChild); + }, + initializeRange: function(element, range) { + range.selectNodeContents(element); + range.collapse(true); + } + }, + bottom: { + adjacency: 'beforeEnd', + insert: function(element, node) { + element.appendChild(node); + } + }, + after: { + adjacency: 'afterEnd', + insert: function(element, node) { + element.parentNode.insertBefore(node, element.nextSibling); + }, + initializeRange: function(element, range) { + range.setStartAfter(element); + } + }, + tags: { + TABLE: ['', '
                                                        ', 1], + TBODY: ['', '
                                                        ', 2], + TR: ['', '
                                                        ', 3], + TD: ['
                                                        ', '
                                                        ', 4], + SELECT: ['', 1] + } +}; + +(function() { + this.bottom.initializeRange = this.top.initializeRange; + Object.extend(this.tags, { + THEAD: this.tags.TBODY, + TFOOT: this.tags.TBODY, + TH: this.tags.TD + }); +}).call(Element._insertionTranslations); + +Element.Methods.Simulated = { + hasAttribute: function(element, attribute) { + attribute = Element._attributeTranslations.has[attribute] || attribute; + var node = $(element).getAttributeNode(attribute); + return node && node.specified; + } +}; + +Element.Methods.ByTag = { }; + +Object.extend(Element, Element.Methods); + +if (!Prototype.BrowserFeatures.ElementExtensions && + document.createElement('div').__proto__) { + window.HTMLElement = { }; + window.HTMLElement.prototype = document.createElement('div').__proto__; + Prototype.BrowserFeatures.ElementExtensions = true; +} + +Element.extend = (function() { + if (Prototype.BrowserFeatures.SpecificElementExtensions) + return Prototype.K; + + var Methods = { }, ByTag = Element.Methods.ByTag; + + var extend = Object.extend(function(element) { + if (!element || element._extendedByPrototype || + element.nodeType != 1 || element == window) return element; + + var methods = Object.clone(Methods), + tagName = element.tagName, property, value; + + // extend methods for specific tags + if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]); + + for (property in methods) { + value = methods[property]; + if (Object.isFunction(value) && !(property in element)) + element[property] = value.methodize(); + } + + element._extendedByPrototype = Prototype.emptyFunction; + return element; + + }, { + refresh: function() { + // extend methods for all tags (Safari doesn't need this) + if (!Prototype.BrowserFeatures.ElementExtensions) { + Object.extend(Methods, Element.Methods); + Object.extend(Methods, Element.Methods.Simulated); + } + } + }); + + extend.refresh(); + return extend; +})(); + +Element.hasAttribute = function(element, attribute) { + if (element.hasAttribute) return element.hasAttribute(attribute); + return Element.Methods.Simulated.hasAttribute(element, attribute); +}; + +Element.addMethods = function(methods) { + var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag; + + if (!methods) { + Object.extend(Form, Form.Methods); + Object.extend(Form.Element, Form.Element.Methods); + Object.extend(Element.Methods.ByTag, { + "FORM": Object.clone(Form.Methods), + "INPUT": Object.clone(Form.Element.Methods), + "SELECT": Object.clone(Form.Element.Methods), + "TEXTAREA": Object.clone(Form.Element.Methods) + }); + } + + if (arguments.length == 2) { + var tagName = methods; + methods = arguments[1]; + } + + if (!tagName) Object.extend(Element.Methods, methods || { }); + else { + if (Object.isArray(tagName)) tagName.each(extend); + else extend(tagName); + } + + function extend(tagName) { + tagName = tagName.toUpperCase(); + if (!Element.Methods.ByTag[tagName]) + Element.Methods.ByTag[tagName] = { }; + Object.extend(Element.Methods.ByTag[tagName], methods); + } + + function copy(methods, destination, onlyIfAbsent) { + onlyIfAbsent = onlyIfAbsent || false; + for (var property in methods) { + var value = methods[property]; + if (!Object.isFunction(value)) continue; + if (!onlyIfAbsent || !(property in destination)) + destination[property] = value.methodize(); + } + } + + function findDOMClass(tagName) { + var klass; + var trans = { + "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph", + "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList", + "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading", + "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote", + "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION": + "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD": + "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR": + "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET": + "FrameSet", "IFRAME": "IFrame" + }; + if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element'; + if (window[klass]) return window[klass]; + klass = 'HTML' + tagName + 'Element'; + if (window[klass]) return window[klass]; + klass = 'HTML' + tagName.capitalize() + 'Element'; + if (window[klass]) return window[klass]; + + window[klass] = { }; + window[klass].prototype = document.createElement(tagName).__proto__; + return window[klass]; + } + + if (F.ElementExtensions) { + copy(Element.Methods, HTMLElement.prototype); + copy(Element.Methods.Simulated, HTMLElement.prototype, true); + } + + if (F.SpecificElementExtensions) { + for (var tag in Element.Methods.ByTag) { + var klass = findDOMClass(tag); + if (Object.isUndefined(klass)) continue; + copy(T[tag], klass.prototype); + } + } + + Object.extend(Element, Element.Methods); + delete Element.ByTag; + + if (Element.extend.refresh) Element.extend.refresh(); + Element.cache = { }; +}; + +document.viewport = { + getDimensions: function() { + var dimensions = { }; + $w('width height').each(function(d) { + var D = d.capitalize(); + dimensions[d] = self['inner' + D] || + (document.documentElement['client' + D] || document.body['client' + D]); + }); + return dimensions; + }, + + getWidth: function() { + return this.getDimensions().width; + }, + + getHeight: function() { + return this.getDimensions().height; + }, + + getScrollOffsets: function() { + return Element._returnOffset( + window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft, + window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop); + } +}; +/* Portions of the Selector class are derived from Jack Slocum’s DomQuery, + * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style + * license. Please see http://www.yui-ext.com/ for more information. */ + +var Selector = Class.create({ + initialize: function(expression) { + this.expression = expression.strip(); + this.compileMatcher(); + }, + + compileMatcher: function() { + // Selectors with namespaced attributes can't use the XPath version + if (Prototype.BrowserFeatures.XPath && !(/(\[[\w-]*?:|:checked)/).test(this.expression)) + return this.compileXPathMatcher(); + + var e = this.expression, ps = Selector.patterns, h = Selector.handlers, + c = Selector.criteria, le, p, m; + + if (Selector._cache[e]) { + this.matcher = Selector._cache[e]; + return; + } + + this.matcher = ["this.matcher = function(root) {", + "var r = root, h = Selector.handlers, c = false, n;"]; + + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i in ps) { + p = ps[i]; + if (m = e.match(p)) { + this.matcher.push(Object.isFunction(c[i]) ? c[i](m) : + new Template(c[i]).evaluate(m)); + e = e.replace(m[0], ''); + break; + } + } + } + + this.matcher.push("return h.unique(n);\n}"); + eval(this.matcher.join('\n')); + Selector._cache[this.expression] = this.matcher; + }, + + compileXPathMatcher: function() { + var e = this.expression, ps = Selector.patterns, + x = Selector.xpath, le, m; + + if (Selector._cache[e]) { + this.xpath = Selector._cache[e]; return; + } + + this.matcher = ['.//*']; + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i in ps) { + if (m = e.match(ps[i])) { + this.matcher.push(Object.isFunction(x[i]) ? x[i](m) : + new Template(x[i]).evaluate(m)); + e = e.replace(m[0], ''); + break; + } + } + } + + this.xpath = this.matcher.join(''); + Selector._cache[this.expression] = this.xpath; + }, + + findElements: function(root) { + root = root || document; + if (this.xpath) return document._getElementsByXPath(this.xpath, root); + return this.matcher(root); + }, + + match: function(element) { + this.tokens = []; + + var e = this.expression, ps = Selector.patterns, as = Selector.assertions; + var le, p, m; + + while (e && le !== e && (/\S/).test(e)) { + le = e; + for (var i in ps) { + p = ps[i]; + if (m = e.match(p)) { + // use the Selector.assertions methods unless the selector + // is too complex. + if (as[i]) { + this.tokens.push([i, Object.clone(m)]); + e = e.replace(m[0], ''); + } else { + // reluctantly do a document-wide search + // and look for a match in the array + return this.findElements(document).include(element); + } + } + } + } + + var match = true, name, matches; + for (var i = 0, token; token = this.tokens[i]; i++) { + name = token[0], matches = token[1]; + if (!Selector.assertions[name](element, matches)) { + match = false; break; + } + } + + return match; + }, + + toString: function() { + return this.expression; + }, + + inspect: function() { + return "#"; + } +}); + +Object.extend(Selector, { + _cache: { }, + + xpath: { + descendant: "//*", + child: "/*", + adjacent: "/following-sibling::*[1]", + laterSibling: '/following-sibling::*', + tagName: function(m) { + if (m[1] == '*') return ''; + return "[local-name()='" + m[1].toLowerCase() + + "' or local-name()='" + m[1].toUpperCase() + "']"; + }, + className: "[contains(concat(' ', @class, ' '), ' #{1} ')]", + id: "[@id='#{1}']", + attrPresence: "[@#{1}]", + attr: function(m) { + m[3] = m[5] || m[6]; + return new Template(Selector.xpath.operators[m[2]]).evaluate(m); + }, + pseudo: function(m) { + var h = Selector.xpath.pseudos[m[1]]; + if (!h) return ''; + if (Object.isFunction(h)) return h(m); + return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m); + }, + operators: { + '=': "[@#{1}='#{3}']", + '!=': "[@#{1}!='#{3}']", + '^=': "[starts-with(@#{1}, '#{3}')]", + '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']", + '*=': "[contains(@#{1}, '#{3}')]", + '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]", + '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]" + }, + pseudos: { + 'first-child': '[not(preceding-sibling::*)]', + 'last-child': '[not(following-sibling::*)]', + 'only-child': '[not(preceding-sibling::* or following-sibling::*)]', + 'empty': "[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]", + 'checked': "[@checked]", + 'disabled': "[@disabled]", + 'enabled': "[not(@disabled)]", + 'not': function(m) { + var e = m[6], p = Selector.patterns, + x = Selector.xpath, le, m, v; + + var exclusion = []; + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i in p) { + if (m = e.match(p[i])) { + v = Object.isFunction(x[i]) ? x[i](m) : new Template(x[i]).evaluate(m); + exclusion.push("(" + v.substring(1, v.length - 1) + ")"); + e = e.replace(m[0], ''); + break; + } + } + } + return "[not(" + exclusion.join(" and ") + ")]"; + }, + 'nth-child': function(m) { + return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m); + }, + 'nth-last-child': function(m) { + return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m); + }, + 'nth-of-type': function(m) { + return Selector.xpath.pseudos.nth("position() ", m); + }, + 'nth-last-of-type': function(m) { + return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", m); + }, + 'first-of-type': function(m) { + m[6] = "1"; return Selector.xpath.pseudos['nth-of-type'](m); + }, + 'last-of-type': function(m) { + m[6] = "1"; return Selector.xpath.pseudos['nth-last-of-type'](m); + }, + 'only-of-type': function(m) { + var p = Selector.xpath.pseudos; return p['first-of-type'](m) + p['last-of-type'](m); + }, + nth: function(fragment, m) { + var mm, formula = m[6], predicate; + if (formula == 'even') formula = '2n+0'; + if (formula == 'odd') formula = '2n+1'; + if (mm = formula.match(/^(\d+)$/)) // digit only + return '[' + fragment + "= " + mm[1] + ']'; + if (mm = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b + if (mm[1] == "-") mm[1] = -1; + var a = mm[1] ? Number(mm[1]) : 1; + var b = mm[2] ? Number(mm[2]) : 0; + predicate = "[((#{fragment} - #{b}) mod #{a} = 0) and " + + "((#{fragment} - #{b}) div #{a} >= 0)]"; + return new Template(predicate).evaluate({ + fragment: fragment, a: a, b: b }); + } + } + } + }, + + criteria: { + tagName: 'n = h.tagName(n, r, "#{1}", c); c = false;', + className: 'n = h.className(n, r, "#{1}", c); c = false;', + id: 'n = h.id(n, r, "#{1}", c); c = false;', + attrPresence: 'n = h.attrPresence(n, r, "#{1}"); c = false;', + attr: function(m) { + m[3] = (m[5] || m[6]); + return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); c = false;').evaluate(m); + }, + pseudo: function(m) { + if (m[6]) m[6] = m[6].replace(/"/g, '\\"'); + return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m); + }, + descendant: 'c = "descendant";', + child: 'c = "child";', + adjacent: 'c = "adjacent";', + laterSibling: 'c = "laterSibling";' + }, + + patterns: { + // combinators must be listed first + // (and descendant needs to be last combinator) + laterSibling: /^\s*~\s*/, + child: /^\s*>\s*/, + adjacent: /^\s*\+\s*/, + descendant: /^\s/, + + // selectors follow + tagName: /^\s*(\*|[\w\-]+)(\b|$)?/, + id: /^#([\w\-\*]+)(\b|$)/, + className: /^\.([\w\-\*]+)(\b|$)/, + pseudo: /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s)|(?=:))/, + attrPresence: /^\[([\w]+)\]/, + attr: /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/ + }, + + // for Selector.match and Element#match + assertions: { + tagName: function(element, matches) { + return matches[1].toUpperCase() == element.tagName.toUpperCase(); + }, + + className: function(element, matches) { + return Element.hasClassName(element, matches[1]); + }, + + id: function(element, matches) { + return element.id === matches[1]; + }, + + attrPresence: function(element, matches) { + return Element.hasAttribute(element, matches[1]); + }, + + attr: function(element, matches) { + var nodeValue = Element.readAttribute(element, matches[1]); + return Selector.operators[matches[2]](nodeValue, matches[3]); + } + }, + + handlers: { + // UTILITY FUNCTIONS + // joins two collections + concat: function(a, b) { + for (var i = 0, node; node = b[i]; i++) + a.push(node); + return a; + }, + + // marks an array of nodes for counting + mark: function(nodes) { + for (var i = 0, node; node = nodes[i]; i++) + node._counted = true; + return nodes; + }, + + unmark: function(nodes) { + for (var i = 0, node; node = nodes[i]; i++) + node._counted = undefined; + return nodes; + }, + + // mark each child node with its position (for nth calls) + // "ofType" flag indicates whether we're indexing for nth-of-type + // rather than nth-child + index: function(parentNode, reverse, ofType) { + parentNode._counted = true; + if (reverse) { + for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) { + var node = nodes[i]; + if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++; + } + } else { + for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++) + if (node.nodeType == 1 && (!ofType || node._counted)) node.nodeIndex = j++; + } + }, + + // filters out duplicates and extends all nodes + unique: function(nodes) { + if (nodes.length == 0) return nodes; + var results = [], n; + for (var i = 0, l = nodes.length; i < l; i++) + if (!(n = nodes[i])._counted) { + n._counted = true; + results.push(Element.extend(n)); + } + return Selector.handlers.unmark(results); + }, + + // COMBINATOR FUNCTIONS + descendant: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + h.concat(results, node.getElementsByTagName('*')); + return results; + }, + + child: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) { + for (var j = 0, children = [], child; child = node.childNodes[j]; j++) + if (child.nodeType == 1 && child.tagName != '!') results.push(child); + } + return results; + }, + + adjacent: function(nodes) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + var next = this.nextElementSibling(node); + if (next) results.push(next); + } + return results; + }, + + laterSibling: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + h.concat(results, Element.nextSiblings(node)); + return results; + }, + + nextElementSibling: function(node) { + while (node = node.nextSibling) + if (node.nodeType == 1) return node; + return null; + }, + + previousElementSibling: function(node) { + while (node = node.previousSibling) + if (node.nodeType == 1) return node; + return null; + }, + + // TOKEN FUNCTIONS + tagName: function(nodes, root, tagName, combinator) { + tagName = tagName.toUpperCase(); + var results = [], h = Selector.handlers; + if (nodes) { + if (combinator) { + // fastlane for ordinary descendant combinators + if (combinator == "descendant") { + for (var i = 0, node; node = nodes[i]; i++) + h.concat(results, node.getElementsByTagName(tagName)); + return results; + } else nodes = this[combinator](nodes); + if (tagName == "*") return nodes; + } + for (var i = 0, node; node = nodes[i]; i++) + if (node.tagName.toUpperCase() == tagName) results.push(node); + return results; + } else return root.getElementsByTagName(tagName); + }, + + id: function(nodes, root, id, combinator) { + var targetNode = $(id), h = Selector.handlers; + if (!targetNode) return []; + if (!nodes && root == document) return [targetNode]; + if (nodes) { + if (combinator) { + if (combinator == 'child') { + for (var i = 0, node; node = nodes[i]; i++) + if (targetNode.parentNode == node) return [targetNode]; + } else if (combinator == 'descendant') { + for (var i = 0, node; node = nodes[i]; i++) + if (Element.descendantOf(targetNode, node)) return [targetNode]; + } else if (combinator == 'adjacent') { + for (var i = 0, node; node = nodes[i]; i++) + if (Selector.handlers.previousElementSibling(targetNode) == node) + return [targetNode]; + } else nodes = h[combinator](nodes); + } + for (var i = 0, node; node = nodes[i]; i++) + if (node == targetNode) return [targetNode]; + return []; + } + return (targetNode && Element.descendantOf(targetNode, root)) ? [targetNode] : []; + }, + + className: function(nodes, root, className, combinator) { + if (nodes && combinator) nodes = this[combinator](nodes); + return Selector.handlers.byClassName(nodes, root, className); + }, + + byClassName: function(nodes, root, className) { + if (!nodes) nodes = Selector.handlers.descendant([root]); + var needle = ' ' + className + ' '; + for (var i = 0, results = [], node, nodeClassName; node = nodes[i]; i++) { + nodeClassName = node.className; + if (nodeClassName.length == 0) continue; + if (nodeClassName == className || (' ' + nodeClassName + ' ').include(needle)) + results.push(node); + } + return results; + }, + + attrPresence: function(nodes, root, attr) { + if (!nodes) nodes = root.getElementsByTagName("*"); + var results = []; + for (var i = 0, node; node = nodes[i]; i++) + if (Element.hasAttribute(node, attr)) results.push(node); + return results; + }, + + attr: function(nodes, root, attr, value, operator) { + if (!nodes) nodes = root.getElementsByTagName("*"); + var handler = Selector.operators[operator], results = []; + for (var i = 0, node; node = nodes[i]; i++) { + var nodeValue = Element.readAttribute(node, attr); + if (nodeValue === null) continue; + if (handler(nodeValue, value)) results.push(node); + } + return results; + }, + + pseudo: function(nodes, name, value, root, combinator) { + if (nodes && combinator) nodes = this[combinator](nodes); + if (!nodes) nodes = root.getElementsByTagName("*"); + return Selector.pseudos[name](nodes, value, root); + } + }, + + pseudos: { + 'first-child': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + if (Selector.handlers.previousElementSibling(node)) continue; + results.push(node); + } + return results; + }, + 'last-child': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + if (Selector.handlers.nextElementSibling(node)) continue; + results.push(node); + } + return results; + }, + 'only-child': function(nodes, value, root) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!h.previousElementSibling(node) && !h.nextElementSibling(node)) + results.push(node); + return results; + }, + 'nth-child': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root); + }, + 'nth-last-child': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, true); + }, + 'nth-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, false, true); + }, + 'nth-last-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, true, true); + }, + 'first-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, "1", root, false, true); + }, + 'last-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, "1", root, true, true); + }, + 'only-of-type': function(nodes, formula, root) { + var p = Selector.pseudos; + return p['last-of-type'](p['first-of-type'](nodes, formula, root), formula, root); + }, + + // handles the an+b logic + getIndices: function(a, b, total) { + if (a == 0) return b > 0 ? [b] : []; + return $R(1, total).inject([], function(memo, i) { + if (0 == (i - b) % a && (i - b) / a >= 0) memo.push(i); + return memo; + }); + }, + + // handles nth(-last)-child, nth(-last)-of-type, and (first|last)-of-type + nth: function(nodes, formula, root, reverse, ofType) { + if (nodes.length == 0) return []; + if (formula == 'even') formula = '2n+0'; + if (formula == 'odd') formula = '2n+1'; + var h = Selector.handlers, results = [], indexed = [], m; + h.mark(nodes); + for (var i = 0, node; node = nodes[i]; i++) { + if (!node.parentNode._counted) { + h.index(node.parentNode, reverse, ofType); + indexed.push(node.parentNode); + } + } + if (formula.match(/^\d+$/)) { // just a number + formula = Number(formula); + for (var i = 0, node; node = nodes[i]; i++) + if (node.nodeIndex == formula) results.push(node); + } else if (m = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b + if (m[1] == "-") m[1] = -1; + var a = m[1] ? Number(m[1]) : 1; + var b = m[2] ? Number(m[2]) : 0; + var indices = Selector.pseudos.getIndices(a, b, nodes.length); + for (var i = 0, node, l = indices.length; node = nodes[i]; i++) { + for (var j = 0; j < l; j++) + if (node.nodeIndex == indices[j]) results.push(node); + } + } + h.unmark(nodes); + h.unmark(indexed); + return results; + }, + + 'empty': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + // IE treats comments as element nodes + if (node.tagName == '!' || (node.firstChild && !node.innerHTML.match(/^\s*$/))) continue; + results.push(node); + } + return results; + }, + + 'not': function(nodes, selector, root) { + var h = Selector.handlers, selectorType, m; + var exclusions = new Selector(selector).findElements(root); + h.mark(exclusions); + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!node._counted) results.push(node); + h.unmark(exclusions); + return results; + }, + + 'enabled': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!node.disabled) results.push(node); + return results; + }, + + 'disabled': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (node.disabled) results.push(node); + return results; + }, + + 'checked': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (node.checked) results.push(node); + return results; + } + }, + + operators: { + '=': function(nv, v) { return nv == v; }, + '!=': function(nv, v) { return nv != v; }, + '^=': function(nv, v) { return nv.startsWith(v); }, + '$=': function(nv, v) { return nv.endsWith(v); }, + '*=': function(nv, v) { return nv.include(v); }, + '~=': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + ' '); }, + '|=': function(nv, v) { return ('-' + nv.toUpperCase() + '-').include('-' + v.toUpperCase() + '-'); } + }, + + matchElements: function(elements, expression) { + var matches = new Selector(expression).findElements(), h = Selector.handlers; + h.mark(matches); + for (var i = 0, results = [], element; element = elements[i]; i++) + if (element._counted) results.push(element); + h.unmark(matches); + return results; + }, + + findElement: function(elements, expression, index) { + if (Object.isNumber(expression)) { + index = expression; expression = false; + } + return Selector.matchElements(elements, expression || '*')[index || 0]; + }, + + findChildElements: function(element, expressions) { + var exprs = expressions.join(','), expressions = []; + exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) { + expressions.push(m[1].strip()); + }); + var results = [], h = Selector.handlers; + for (var i = 0, l = expressions.length, selector; i < l; i++) { + selector = new Selector(expressions[i].strip()); + h.concat(results, selector.findElements(element)); + } + return (l > 1) ? h.unique(results) : results; + } +}); + +function $$() { + return Selector.findChildElements(document, $A(arguments)); +} +var Form = { + reset: function(form) { + $(form).reset(); + return form; + }, + + serializeElements: function(elements, options) { + if (typeof options != 'object') options = { hash: !!options }; + else if (options.hash === undefined) options.hash = true; + var key, value, submitted = false, submit = options.submit; + + var data = elements.inject({ }, function(result, element) { + if (!element.disabled && element.name) { + key = element.name; value = $(element).getValue(); + if (value != null && (element.type != 'submit' || (!submitted && + submit !== false && (!submit || key == submit) && (submitted = true)))) { + if (key in result) { + // a key is already present; construct an array of values + if (!Object.isArray(result[key])) result[key] = [result[key]]; + result[key].push(value); + } + else result[key] = value; + } + } + return result; + }); + + return options.hash ? data : Object.toQueryString(data); + } +}; + +Form.Methods = { + serialize: function(form, options) { + return Form.serializeElements(Form.getElements(form), options); + }, + + getElements: function(form) { + return $A($(form).getElementsByTagName('*')).inject([], + function(elements, child) { + if (Form.Element.Serializers[child.tagName.toLowerCase()]) + elements.push(Element.extend(child)); + return elements; + } + ); + }, + + getInputs: function(form, typeName, name) { + form = $(form); + var inputs = form.getElementsByTagName('input'); + + if (!typeName && !name) return $A(inputs).map(Element.extend); + + for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) { + var input = inputs[i]; + if ((typeName && input.type != typeName) || (name && input.name != name)) + continue; + matchingInputs.push(Element.extend(input)); + } + + return matchingInputs; + }, + + disable: function(form) { + form = $(form); + Form.getElements(form).invoke('disable'); + return form; + }, + + enable: function(form) { + form = $(form); + Form.getElements(form).invoke('enable'); + return form; + }, + + findFirstElement: function(form) { + var elements = $(form).getElements().findAll(function(element) { + return 'hidden' != element.type && !element.disabled; + }); + var firstByIndex = elements.findAll(function(element) { + return element.hasAttribute('tabIndex') && element.tabIndex >= 0; + }).sortBy(function(element) { return element.tabIndex }).first(); + + return firstByIndex ? firstByIndex : elements.find(function(element) { + return ['input', 'select', 'textarea'].include(element.tagName.toLowerCase()); + }); + }, + + focusFirstElement: function(form) { + form = $(form); + form.findFirstElement().activate(); + return form; + }, + + request: function(form, options) { + form = $(form), options = Object.clone(options || { }); + + var params = options.parameters, action = form.readAttribute('action') || ''; + if (action.blank()) action = window.location.href; + options.parameters = form.serialize(true); + + if (params) { + if (Object.isString(params)) params = params.toQueryParams(); + Object.extend(options.parameters, params); + } + + if (form.hasAttribute('method') && !options.method) + options.method = form.method; + + return new Ajax.Request(action, options); + } +}; + +/*--------------------------------------------------------------------------*/ + +Form.Element = { + focus: function(element) { + $(element).focus(); + return element; + }, + + select: function(element) { + $(element).select(); + return element; + } +}; + +Form.Element.Methods = { + serialize: function(element) { + element = $(element); + if (!element.disabled && element.name) { + var value = element.getValue(); + if (value != undefined) { + var pair = { }; + pair[element.name] = value; + return Object.toQueryString(pair); + } + } + return ''; + }, + + getValue: function(element) { + element = $(element); + var method = element.tagName.toLowerCase(); + return Form.Element.Serializers[method](element); + }, + + setValue: function(element, value) { + element = $(element); + var method = element.tagName.toLowerCase(); + Form.Element.Serializers[method](element, value); + return element; + }, + + clear: function(element) { + $(element).value = ''; + return element; + }, + + present: function(element) { + return $(element).value != ''; + }, + + activate: function(element) { + element = $(element); + try { + element.focus(); + if (element.select && (element.tagName.toLowerCase() != 'input' || + !['button', 'reset', 'submit'].include(element.type))) + element.select(); + } catch (e) { } + return element; + }, + + disable: function(element) { + element = $(element); + element.blur(); + element.disabled = true; + return element; + }, + + enable: function(element) { + element = $(element); + element.disabled = false; + return element; + } +}; + +/*--------------------------------------------------------------------------*/ + +var Field = Form.Element; +var $F = Form.Element.Methods.getValue; + +/*--------------------------------------------------------------------------*/ + +Form.Element.Serializers = { + input: function(element, value) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + return Form.Element.Serializers.inputSelector(element, value); + default: + return Form.Element.Serializers.textarea(element, value); + } + }, + + inputSelector: function(element, value) { + if (value === undefined) return element.checked ? element.value : null; + else element.checked = !!value; + }, + + textarea: function(element, value) { + if (value === undefined) return element.value; + else element.value = value; + }, + + select: function(element, index) { + if (index === undefined) + return this[element.type == 'select-one' ? + 'selectOne' : 'selectMany'](element); + else { + var opt, value, single = !Object.isArray(index); + for (var i = 0, length = element.length; i < length; i++) { + opt = element.options[i]; + value = this.optionValue(opt); + if (single) { + if (value == index) { + opt.selected = true; + return; + } + } + else opt.selected = index.include(value); + } + } + }, + + selectOne: function(element) { + var index = element.selectedIndex; + return index >= 0 ? this.optionValue(element.options[index]) : null; + }, + + selectMany: function(element) { + var values, length = element.length; + if (!length) return null; + + for (var i = 0, values = []; i < length; i++) { + var opt = element.options[i]; + if (opt.selected) values.push(this.optionValue(opt)); + } + return values; + }, + + optionValue: function(opt) { + // extend element because hasAttribute may not be native + return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text; + } +}; + +/*--------------------------------------------------------------------------*/ + +Abstract.TimedObserver = Class.create(PeriodicalExecuter, { + initialize: function($super, element, frequency, callback) { + $super(callback, frequency); + this.element = $(element); + this.lastValue = this.getValue(); + }, + + execute: function() { + var value = this.getValue(); + if (Object.isString(this.lastValue) && Object.isString(value) ? + this.lastValue != value : String(this.lastValue) != String(value)) { + this.callback(this.element, value); + this.lastValue = value; + } + } +}); + +Form.Element.Observer = Class.create(Abstract.TimedObserver, { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.Observer = Class.create(Abstract.TimedObserver, { + getValue: function() { + return Form.serialize(this.element); + } +}); + +/*--------------------------------------------------------------------------*/ + +Abstract.EventObserver = Class.create({ + initialize: function(element, callback) { + this.element = $(element); + this.callback = callback; + + this.lastValue = this.getValue(); + if (this.element.tagName.toLowerCase() == 'form') + this.registerFormCallbacks(); + else + this.registerCallback(this.element); + }, + + onElementEvent: function() { + var value = this.getValue(); + if (this.lastValue != value) { + this.callback(this.element, value); + this.lastValue = value; + } + }, + + registerFormCallbacks: function() { + Form.getElements(this.element).each(this.registerCallback, this); + }, + + registerCallback: function(element) { + if (element.type) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + Event.observe(element, 'click', this.onElementEvent.bind(this)); + break; + default: + Event.observe(element, 'change', this.onElementEvent.bind(this)); + break; + } + } + } +}); + +Form.Element.EventObserver = Class.create(Abstract.EventObserver, { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.EventObserver = Class.create(Abstract.EventObserver, { + getValue: function() { + return Form.serialize(this.element); + } +}); +if (!window.Event) var Event = { }; + +Object.extend(Event, { + KEY_BACKSPACE: 8, + KEY_TAB: 9, + KEY_RETURN: 13, + KEY_ESC: 27, + KEY_LEFT: 37, + KEY_UP: 38, + KEY_RIGHT: 39, + KEY_DOWN: 40, + KEY_DELETE: 46, + KEY_HOME: 36, + KEY_END: 35, + KEY_PAGEUP: 33, + KEY_PAGEDOWN: 34, + KEY_INSERT: 45, + + cache: { }, + + relatedTarget: function(event) { + var element; + switch(event.type) { + case 'mouseover': element = event.fromElement; break; + case 'mouseout': element = event.toElement; break; + default: return null; + } + return Element.extend(element); + } +}); + +Event.Methods = (function() { + var isButton; + + if (Prototype.Browser.IE) { + var buttonMap = { 0: 1, 1: 4, 2: 2 }; + isButton = function(event, code) { + return event.button == buttonMap[code]; + }; + + } else if (Prototype.Browser.WebKit) { + isButton = function(event, code) { + switch (code) { + case 0: return event.which == 1 && !event.metaKey; + case 1: return event.which == 1 && event.metaKey; + default: return false; + } + }; + + } else { + isButton = function(event, code) { + return event.which ? (event.which === code + 1) : (event.button === code); + }; + } + + return { + isLeftClick: function(event) { return isButton(event, 0) }, + isMiddleClick: function(event) { return isButton(event, 1) }, + isRightClick: function(event) { return isButton(event, 2) }, + + element: function(event) { + var node = Event.extend(event).target; + return Element.extend(node.nodeType == Node.TEXT_NODE ? node.parentNode : node); + }, + + findElement: function(event, expression) { + var element = Event.element(event); + return element.match(expression) ? element : element.up(expression); + }, + + pointer: function(event) { + return { + x: event.pageX || (event.clientX + + (document.documentElement.scrollLeft || document.body.scrollLeft)), + y: event.pageY || (event.clientY + + (document.documentElement.scrollTop || document.body.scrollTop)) + }; + }, + + pointerX: function(event) { return Event.pointer(event).x }, + pointerY: function(event) { return Event.pointer(event).y }, + + stop: function(event) { + Event.extend(event); + event.preventDefault(); + event.stopPropagation(); + event.stopped = true; + } + }; +})(); + +Event.extend = (function() { + var methods = Object.keys(Event.Methods).inject({ }, function(m, name) { + m[name] = Event.Methods[name].methodize(); + return m; + }); + + if (Prototype.Browser.IE) { + Object.extend(methods, { + stopPropagation: function() { this.cancelBubble = true }, + preventDefault: function() { this.returnValue = false }, + inspect: function() { return "[object Event]" } + }); + + return function(event) { + if (!event) return false; + if (event._extendedByPrototype) return event; + + event._extendedByPrototype = Prototype.emptyFunction; + var pointer = Event.pointer(event); + Object.extend(event, { + target: event.srcElement, + relatedTarget: Event.relatedTarget(event), + pageX: pointer.x, + pageY: pointer.y + }); + return Object.extend(event, methods); + }; + + } else { + Event.prototype = Event.prototype || document.createEvent("HTMLEvents").__proto__; + Object.extend(Event.prototype, methods); + return Prototype.K; + } +})(); + +Object.extend(Event, (function() { + var cache = Event.cache; + + function getEventID(element) { + if (element._eventID) return element._eventID; + arguments.callee.id = arguments.callee.id || 1; + return element._eventID = ++arguments.callee.id; + } + + function getDOMEventName(eventName) { + if (eventName && eventName.include(':')) return "dataavailable"; + return eventName; + } + + function getCacheForID(id) { + return cache[id] = cache[id] || { }; + } + + function getWrappersForEventName(id, eventName) { + var c = getCacheForID(id); + return c[eventName] = c[eventName] || []; + } + + function createWrapper(element, eventName, handler) { + var id = getEventID(element); + var c = getWrappersForEventName(id, eventName); + if (c.pluck("handler").include(handler)) return false; + + var wrapper = function(event) { + if (!Event || !Event.extend || + (event.eventName && event.eventName != eventName)) + return false; + + Event.extend(event); + handler.call(element, event) + }; + + wrapper.handler = handler; + c.push(wrapper); + return wrapper; + } + + function findWrapper(id, eventName, handler) { + var c = getWrappersForEventName(id, eventName); + return c.find(function(wrapper) { return wrapper.handler == handler }); + } + + function destroyWrapper(id, eventName, handler) { + var c = getCacheForID(id); + if (!c[eventName]) return false; + c[eventName] = c[eventName].without(findWrapper(id, eventName, handler)); + } + + function destroyCache() { + for (var id in cache) + for (var eventName in cache[id]) + cache[id][eventName] = null; + } + + if (window.attachEvent) { + window.attachEvent("onunload", destroyCache); + } + + return { + observe: function(element, eventName, handler) { + element = $(element); + var name = getDOMEventName(eventName); + + var wrapper = createWrapper(element, eventName, handler); + if (!wrapper) return element; + + if (element.addEventListener) { + element.addEventListener(name, wrapper, false); + } else { + element.attachEvent("on" + name, wrapper); + } + + return element; + }, + + stopObserving: function(element, eventName, handler) { + element = $(element); + var id = getEventID(element), name = getDOMEventName(eventName); + + if (!handler && eventName) { + getWrappersForEventName(id, eventName).each(function(wrapper) { + element.stopObserving(eventName, wrapper.handler); + }); + return element; + + } else if (!eventName) { + Object.keys(getCacheForID(id)).each(function(eventName) { + element.stopObserving(eventName); + }); + return element; + } + + var wrapper = findWrapper(id, eventName, handler); + if (!wrapper) return element; + + if (element.removeEventListener) { + element.removeEventListener(name, wrapper, false); + } else { + element.detachEvent("on" + name, wrapper); + } + + destroyWrapper(id, eventName, handler); + + return element; + }, + + fire: function(element, eventName, memo) { + element = $(element); + if (element == document && document.createEvent && !element.dispatchEvent) + element = document.documentElement; + + if (document.createEvent) { + var event = document.createEvent("HTMLEvents"); + event.initEvent("dataavailable", true, true); + } else { + var event = document.createEventObject(); + event.eventType = "ondataavailable"; + } + + event.eventName = eventName; + event.memo = memo || { }; + + if (document.createEvent) { + element.dispatchEvent(event); + } else { + element.fireEvent(event.eventType, event); + } + + return event; + } + }; +})()); + +Object.extend(Event, Event.Methods); + +Element.addMethods({ + fire: Event.fire, + observe: Event.observe, + stopObserving: Event.stopObserving +}); + +Object.extend(document, { + fire: Element.Methods.fire.methodize(), + observe: Element.Methods.observe.methodize(), + stopObserving: Element.Methods.stopObserving.methodize() +}); + +(function() { + /* Support for the DOMContentLoaded event is based on work by Dan Webb, + Matthias Miller, Dean Edwards and John Resig. */ + + var timer, fired = false; + + function fireContentLoadedEvent() { + if (fired) return; + if (timer) window.clearInterval(timer); + document.fire("dom:loaded"); + fired = true; + } + + if (document.addEventListener) { + if (Prototype.Browser.WebKit) { + timer = window.setInterval(function() { + if (/loaded|complete/.test(document.readyState)) + fireContentLoadedEvent(); + }, 0); + + Event.observe(window, "load", fireContentLoadedEvent); + + } else { + document.addEventListener("DOMContentLoaded", + fireContentLoadedEvent, false); + } + + } else { + document.write(" + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/674.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/674.html new file mode 100644 index 00000000000..c031ec954f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/674.html @@ -0,0 +1,34 @@ + + + + ARIA 1.0 Test Case 674 + + + +

                                                        ARIA 1.0 Test Case 674

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is defined in markup with the value="polite". + After the onload event completes a child DOM text node is added to the element + with the aria-live attribute.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/675.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/675.html new file mode 100644 index 00000000000..c762fcfb03b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/675.html @@ -0,0 +1,36 @@ + + + + ARIA 1.0 Test Case 675 + + + +

                                                        ARIA 1.0 Test Case 675

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element without an aria-live attribute is defined in markup. + After the onload event completes an aria-live attribute with the + value 'assertive' is added to the element and a child DOM text + node is added to the element.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/676.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/676.html new file mode 100644 index 00000000000..0e193cbe33d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/676.html @@ -0,0 +1,38 @@ + + + + ARIA 1.0 Test Case 676 + + + +

                                                        ARIA 1.0 Test Case 676

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element without an aria-live attribute is defined in markup. + After the onload event completes a new element with an aria-live attribute with the + value 'assertive' is added to the document and a child element and text + node is added to the element with the aria-live attribute.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/677.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/677.html new file mode 100644 index 00000000000..e93361c5838 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/677.html @@ -0,0 +1,35 @@ + + + + ARIA 1.0 Test Case 677 + + + +

                                                        ARIA 1.0 Test Case 677

                                                        + +
                                                        + +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is defined in markup with the value="polite" + which has a child DOM element node with text content that is hidden using CSS display="none". + After the onload event completes a child DOM element node with text content has the + CSS dsiplay property changed to display="block".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/678.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/678.html new file mode 100644 index 00000000000..68699e38c73 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/678.html @@ -0,0 +1,36 @@ + + + + ARIA 1.0 Test Case 678 + + + +

                                                        ARIA 1.0 Test Case 678

                                                        + +
                                                        + +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is defined in markup with the + value="assertive" which has a child DOM element node with text content + that is hidden using CSS display="none". After the onload event completes + a child DOM element node with text content has the CSS dsiplay property + changed to display="block".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/679.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/679.html new file mode 100644 index 00000000000..6bb8b2da9ac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/679.html @@ -0,0 +1,38 @@ + + + + ARIA 1.0 Test Case 679 + + + +

                                                        ARIA 1.0 Test Case 679

                                                        + +
                                                        + Text before test : + + : Text after test +
                                                        + +

                                                        Description

                                                        + +

                                                        An element with an aria-live attribute is defined in markup with the value="polite" which has a child + DOM element node with text content that is hidden using CSS visibility="hidden". + After the onload event completes a child DOM element node with text content has the + CSS dsiplay property changed to visibility="visible".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/680.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/680.html new file mode 100644 index 00000000000..ef774fd3c2d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/680.html @@ -0,0 +1,37 @@ + + + + ARIA 1.0 Test Case 680 + + + +

                                                        ARIA 1.0 Test Case 680

                                                        + +
                                                        + Text before test : + + : Text after test +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is defined in markup with the value="assertive" + which has a child DOM element node with text content that is hidden using CSS visibility="hidden". + After the onload event completes a child DOM element node with text content has the CSS dsiplay + property changed to visibility="visible".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/681.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/681.html new file mode 100644 index 00000000000..fd8befe760c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/681.html @@ -0,0 +1,34 @@ + + + + ARIA 1.0 Test Case 681 + + + +

                                                        ARIA 1.0 Test Case 681

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script during the onload + event with the value="polite". After the onload event completes a child DOM text node is added + to the element with the aria-live attribute.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/682.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/682.html new file mode 100644 index 00000000000..b8d90ce19d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/682.html @@ -0,0 +1,43 @@ + + + + ARIA 1.0 Test Case 682 + + + +

                                                        ARIA 1.0 Test Case 682

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script during the onload + event with the value="assertive". After the onload event completes a child DOM text node is + added to the element with the aria-live attribute.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/683.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/683.html new file mode 100644 index 00000000000..ca45f2b55c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/683.html @@ -0,0 +1,45 @@ + + + + ARIA 1.0 Test Case 683 + + + +

                                                        ARIA 1.0 Test Case 683

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script during the onload + event with the value="polite". After the onload event completes a child DOM element node is + added to the element with the aria-live attribute.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/684.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/684.html new file mode 100644 index 00000000000..2abea5c468d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/684.html @@ -0,0 +1,44 @@ + + + + ARIA 1.0 Test Case 684 + + + +

                                                        ARIA 1.0 Test Case 684

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script during + the onload event with the value="assertive". After the onload event completes a + child DOM element node is added to the element with the aria-live attribute.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/685.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/685.html new file mode 100644 index 00000000000..90cb71f025d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/685.html @@ -0,0 +1,54 @@ + + + + ARIA 1.0 Test Case 685 + + + +

                                                        ARIA 1.0 Test Case 685

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script during the onload + event with the value="polite" and the element has a child DOM element node with text content + that is hidden using CSS display="none". After the onload event completes a child DOM element + node with text content has the CSS display property changed to display="block".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/686.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/686.html new file mode 100644 index 00000000000..9cf141d69cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/686.html @@ -0,0 +1,54 @@ + + + + ARIA 1.0 Test Case 686 + + + +

                                                        ARIA 1.0 Test Case 686

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script during the onload + event with the value="assertive" and the element has a child DOM element node with text content + that is hidden using CSS display="none". After the onload event completes a child DOM element + node with text content has the CSS display property changed to display="block".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/687.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/687.html new file mode 100644 index 00000000000..2294b4c866a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/687.html @@ -0,0 +1,55 @@ + + + + ARIA 1.0 Test Case 687 + + + +

                                                        ARIA 1.0 Test Case 687

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script during + the onload event with the value="polite" and the element has a child DOM element node + with text content that is hidden using CSS visibility="hidden". After the onload + event completes a child DOM element node with text content has the CSS display property + changed to visibility="visible".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/688.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/688.html new file mode 100644 index 00000000000..cc488b8a239 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/688.html @@ -0,0 +1,55 @@ + + + + ARIA 1.0 Test Case 688 + + + +

                                                        ARIA 1.0 Test Case 688

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script + during the onload event with the value="assertive" and the element has a child + DOM element node with text content that is hidden using CSS visibility="hidden". + After the onload event completes a child DOM element node with text content + has the CSS display property changed to visibility="visible".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/689.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/689.html new file mode 100644 index 00000000000..714b34b0918 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/689.html @@ -0,0 +1,43 @@ + + + + ARIA 1.0 Test Case 689 + + + +

                                                        ARIA 1.0 Test Case 689

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a script after the + onload event completes with the value="polite". After the aria-live attribute is added, + a child DOM text node is added to the element with the aria-live attribute.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/690.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/690.html new file mode 100644 index 00000000000..3f189e59add --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/690.html @@ -0,0 +1,43 @@ + + + + ARIA 1.0 Test Case 690 + + + +

                                                        ARIA 1.0 Test Case 690

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a script after + the onload event completes with the value="assertive". After the aria-live attribute + is added, a child DOM text node is added to the element with the aria-live attribute.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/691.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/691.html new file mode 100644 index 00000000000..85bd8c9402f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/691.html @@ -0,0 +1,46 @@ + + + + ARIA 1.0 Test Case 691 + + + +

                                                        ARIA 1.0 Test Case 691

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a script + after the onload event completes with the value="polite". After the aria-live + attribute is added, a child DOM element node is added to the element with + the aria-live attribute.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/692.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/692.html new file mode 100644 index 00000000000..13c16d62fec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/692.html @@ -0,0 +1,44 @@ + + + + ARIA 1.0 Test Case 692 + + + +

                                                        ARIA 1.0 Test Case 692

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a script after + the onload event completes with the value="assertive". After the aria-live attribute + is added, a child DOM element node is added to the element with the aria-live attribute.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/693.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/693.html new file mode 100644 index 00000000000..8914d7e86ae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/693.html @@ -0,0 +1,52 @@ + + + + ARIA 1.0 Test Case 693 + + + +

                                                        ARIA 1.0 Test Case 693

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a script after + the onload event completes with the value="polite" and the element has a child DOM + element node with text content that is hidden using CSS display="none". After the + aria-live attribute is added, the child DOM element node with text content has the + CSS display property changed to display="block".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/694.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/694.html new file mode 100644 index 00000000000..49ee64c75e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/694.html @@ -0,0 +1,55 @@ + + + + ARIA 1.0 Test Case 694 + + + +

                                                        ARIA 1.0 Test Case 694

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a script after + the onload event completes with the value="assertive" and the element has a child + DOM element node with text content that is hidden using CSS display="none". After + the aria-live attribute is added, the child DOM element node with text content has + the CSS display property changed to display="block".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/695.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/695.html new file mode 100644 index 00000000000..b2550c6982f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/695.html @@ -0,0 +1,55 @@ + + + + ARIA 1.0 Test Case 695 + + + +

                                                        ARIA 1.0 Test Case 695

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a script + after the onload event completes with the value="polite" and the element has + a child DOM element node with text content that is hidden using CSS + visibility="hidden". After the aria-live attribute is added, the child DOM + element node with text content has the CSS display property changed to visibility="visible".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/696.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/696.html new file mode 100644 index 00000000000..a577b1d5aac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/696.html @@ -0,0 +1,42 @@ + + + + ARIA 1.0 Test Case 696 + + + +

                                                        ARIA 1.0 Test Case 696

                                                        + +
                                                        + +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a script after the + onload event completes with the value="assertive" and the element has a child DOM + element node with text content that is hidden using CSS visibility="hidden". After + the aria-live attribute is added, the child DOM element node with text content has + the CSS display property changed to visibility="visible".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/697.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/697.html new file mode 100644 index 00000000000..eed947c4417 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/697.html @@ -0,0 +1,34 @@ + + + + ARIA 1.0 Test Case 697 + + + +

                                                        ARIA 1.0 Test Case 697

                                                        + +
                                                        + TEST TEXT +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is defined in markup with the value="polite" + has a child DOM text node with content. After the onload event completes the child + DOM text node is deleted.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/698.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/698.html new file mode 100644 index 00000000000..3e90818997c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/698.html @@ -0,0 +1,34 @@ + + + + ARIA 1.0 Test Case 698 + + + +

                                                        ARIA 1.0 Test Case 698

                                                        + +
                                                        + TEST TEXT +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is defined in markup with the value="assertive" + has a child DOM text node with content. After the onload event completes the child DOM + text node is deleted.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/699.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/699.html new file mode 100644 index 00000000000..f306cb1c45b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/699.html @@ -0,0 +1,34 @@ + + + + ARIA 1.0 Test Case 699 + + + +

                                                        ARIA 1.0 Test Case 699

                                                        + +
                                                        +
                                                        TEST TEXT
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is defined in markup with the value="polite" + has a child DOM element node that contains text content. After the onload event completes + the child DOM element node is deleted.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/700.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/700.html new file mode 100644 index 00000000000..de12aff296f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/700.html @@ -0,0 +1,34 @@ + + + + ARIA 1.0 Test Case 700 + + + +

                                                        ARIA 1.0 Test Case 700

                                                        + +
                                                        +
                                                        TEST TEXT
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is defined in markup with the + value="assertive" has a child DOM element node that contains text content. + After the onload event completes the child DOM element node is deleted.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/701.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/701.html new file mode 100644 index 00000000000..942cab36957 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/701.html @@ -0,0 +1,35 @@ + + + + ARIA 1.0 Test Case 701 + + + +

                                                        ARIA 1.0 Test Case 701

                                                        + +
                                                        + Text before: TEST TEXT :text after +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is defined in markup with + the value="polite" has a child DOM element node that contains text + content. After the onload event completes the CSS 'display' property + of the child DOM element node is changed to display="none".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/702.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/702.html new file mode 100644 index 00000000000..f46eb1d022f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/702.html @@ -0,0 +1,34 @@ + + + + ARIA 1.0 Test Case 702 + + + +

                                                        ARIA 1.0 Test Case 702

                                                        + +
                                                        + Text before: TEST TEXT :text after +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is defined in markup with the value="assertive" + has a child DOM element node that contains text content. After the onload event completes + the CSS 'display' property of the child DOM element node is changed to display="none".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/703.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/703.html new file mode 100644 index 00000000000..661eed254f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/703.html @@ -0,0 +1,35 @@ + + + + ARIA 1.0 Test Case 703 + + + +

                                                        ARIA 1.0 Test Case 703

                                                        + +
                                                        + Text before: TEST TEXT :text after +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is defined in markup with the value="polite" + has a child DOM element node that contains text content. After the onload event + completes the CSS 'visibility' property of the child DOM element node is changed + to visibility="hidden".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/704.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/704.html new file mode 100644 index 00000000000..bb68b58ac3e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/704.html @@ -0,0 +1,34 @@ + + + + ARIA 1.0 Test Case 704 + + + +

                                                        ARIA 1.0 Test Case 704

                                                        + +
                                                        + Text before: TEST TEXT :text after +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is defined in markup with the value="assertive" + has a child DOM element node that contains text content. After the onload event completes + the CSS 'visibility' property of the child DOM element node is changed to visibility="hidden".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/705.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/705.html new file mode 100644 index 00000000000..d1f8cb84af1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/705.html @@ -0,0 +1,45 @@ + + + + ARIA 1.0 Test Case 705 + + + +

                                                        ARIA 1.0 Test Case 705

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script + during the onload event with the value="polite" and the element has a child DOM + text node with content. After the onload event completes the child DOM text + node is deleted.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/706.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/706.html new file mode 100644 index 00000000000..80f605d0ca1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/706.html @@ -0,0 +1,47 @@ + + + + ARIA 1.0 Test Case 706 + + + +

                                                        ARIA 1.0 Test Case 706

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script during the onload + event with the value="assertive" and the element has a child DOM text node with content. After + the onload event completes the child DOM text node is deleted.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/707.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/707.html new file mode 100644 index 00000000000..8490112b287 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/707.html @@ -0,0 +1,50 @@ + + + + ARIA 1.0 Test Case 707 + + + +

                                                        ARIA 1.0 Test Case 707

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script + during the onload event with the value="polite" and the element has a child + DOM element node that contains text content. After the onload event completes + the child DOM element node is deleted.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/708.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/708.html new file mode 100644 index 00000000000..e1bfcd10ec6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/708.html @@ -0,0 +1,53 @@ + + + + ARIA 1.0 Test Case 708 + + + +

                                                        ARIA 1.0 Test Case 708

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script during + the onload event with the value="assertive" and the element has a child DOM element + node that contains text content. After the onload event completes the child DOM + element node is deleted.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/709.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/709.html new file mode 100644 index 00000000000..321b85273fd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/709.html @@ -0,0 +1,54 @@ + + + + ARIA 1.0 Test Case 709 + + + +

                                                        ARIA 1.0 Test Case 709

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script during + the onload event with the value="polite" and the element has a child DOM element node + that contains text content. After the onload event completes the CSS 'display' + property of the child DOM element node is changed to display="none".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/710.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/710.html new file mode 100644 index 00000000000..872643f66eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/710.html @@ -0,0 +1,54 @@ + + + + ARIA 1.0 Test Case 710 + + + +

                                                        ARIA 1.0 Test Case 710

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script during + the onload event with the value="assertive" and the element has a child DOM element + node that contains text content. After the onload event completes the CSS 'display' + property of the child DOM element node is changed to display="none".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/711.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/711.html new file mode 100644 index 00000000000..7b4375c74d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/711.html @@ -0,0 +1,55 @@ + + + + ARIA 1.0 Test Case 711 + + + +

                                                        ARIA 1.0 Test Case 711

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a script + during the onload event with the value="polite" and the element has a child + DOM element node that contains text content. After the onload event completes + the CSS 'visibility' property of the child DOM element node is changed + to visibility="hidden".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/712.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/712.html new file mode 100644 index 00000000000..3c6d69d3377 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/712.html @@ -0,0 +1,55 @@ + + + + ARIA 1.0 Test Case 712 + + + +

                                                        ARIA 1.0 Test Case 712

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute is added to the document by a + script during the onload event with the value="assertive" and the element + has a child DOM element node that contains text content. After the onload + event completes the CSS 'visibility' property of the child DOM element + node is changed to visibility="hidden".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/713.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/713.html new file mode 100644 index 00000000000..08f8a5b287b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/713.html @@ -0,0 +1,54 @@ + + + + ARIA 1.0 Test Case 713 + + + +

                                                        ARIA 1.0 Test Case 713

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a + script after the onload event completes with the value="polite" and + the element has a child DOM text node with content. After the + aria-live attribute is added, the child DOM text node is deleted.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/714.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/714.html new file mode 100644 index 00000000000..56a63f82f20 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/714.html @@ -0,0 +1,53 @@ + + + + ARIA 1.0 Test Case 714 + + + +

                                                        ARIA 1.0 Test Case 714

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a + script after the onload event completes with the value="assertive" + and the element has a child DOM text node with content. After the + aria-live attribute is added, the child DOM text node is deleted.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/715.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/715.html new file mode 100644 index 00000000000..82f82b05693 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/715.html @@ -0,0 +1,46 @@ + + + + ARIA 1.0 Test Case 715 + + + +

                                                        ARIA 1.0 Test Case 715

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a script + after the onload event completes with the value="polite" and the element has + a child DOM element node that contains text content. After the aria-live + attribute is added, the child DOM element node is deleted.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/716.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/716.html new file mode 100644 index 00000000000..3a98fad05c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/716.html @@ -0,0 +1,47 @@ + + + + ARIA 1.0 Test Case 716 + + + +

                                                        ARIA 1.0 Test Case 716

                                                        + + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a script + after the onload event completes with the value="polite" and the element has + a child DOM element node that contains text content. After the aria-live + attribute is added, the child DOM element node is deleted.

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/717.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/717.html new file mode 100644 index 00000000000..e4e65c3868a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/717.html @@ -0,0 +1,53 @@ + + + + ARIA 1.0 Test Case 717 + + + +

                                                        ARIA 1.0 Test Case 717

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a script + after the onload event completes with the value="polite" and the element has + a child DOM element node that contains text content. After the aria-live + attribute is added, the CSS 'display' property of the child DOM element + node is changed to display="none".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/718.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/718.html new file mode 100644 index 00000000000..e662390cb05 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/718.html @@ -0,0 +1,53 @@ + + + + ARIA 1.0 Test Case 718 + + + +

                                                        ARIA 1.0 Test Case 718

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a script + after the onload event completes with the value="assertive" and the element has + a child DOM element node that contains text content. After the aria-live + attribute is added, the CSS 'display' property of the child DOM element + node is changed to display="none".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/719.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/719.html new file mode 100644 index 00000000000..4fd10b746b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/719.html @@ -0,0 +1,53 @@ + + + + ARIA 1.0 Test Case 719 + + + +

                                                        ARIA 1.0 Test Case 719

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a + script after the onload event completes with the value="polite" and + the element has a child DOM element node that contains text content. + After the aria-live attribute is added, the CSS 'visibility' property + of the child DOM element node is changed to visibility="hidden".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/720.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/720.html new file mode 100644 index 00000000000..22ab76a5349 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/accessible-name-updates/720.html @@ -0,0 +1,53 @@ + + + + ARIA 1.0 Test Case 720 + + + +

                                                        ARIA 1.0 Test Case 720

                                                        + +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        The aria-live attribute is added to an element in the document by a + script after the onload event completes with the value="assertive" and + the element has a child DOM element node that contains text content. + After the aria-live attribute is added, the CSS 'visibility' property + of the child DOM element node is changed to visibility="hidden".

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/aria-describedby/772.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/aria-describedby/772.html new file mode 100644 index 00000000000..4684774cc29 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/aria-describedby/772.html @@ -0,0 +1,13 @@ + + + + + test 772 + + + + test +
                                                        foo
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/aria-describedby/773.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/aria-describedby/773.html new file mode 100644 index 00000000000..cb1bd17ad5a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/aria-describedby/773.html @@ -0,0 +1,13 @@ + + + + + test 773 + + + + test + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/aria-describedby/774.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/aria-describedby/774.html new file mode 100644 index 00000000000..0fac481545f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/aria-describedby/774.html @@ -0,0 +1,12 @@ + + + + + test 774 + + + test + foo + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/aria-describedby/838.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/aria-describedby/838.html new file mode 100644 index 00000000000..3a765b685dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/aria-describedby/838.html @@ -0,0 +1,12 @@ + + + + + test 773 + + + + test + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/567.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/567.html new file mode 100644 index 00000000000..ce4c8d4c45b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/567.html @@ -0,0 +1,20 @@ + + + + + A <div> with role "button" followed by a modification to the value of "checkbox". + + + +
                                                        This <div> has role 'button'
                                                        +

                                                        + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/568.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/568.html new file mode 100644 index 00000000000..d9f06dc27d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/568.html @@ -0,0 +1,32 @@ + + + + + A <div> with role "button" followed by removal of the element and its children and an insertion of a new div having role="checkbox" + + + +
                                                        +
                                                        This <div> has role 'button'
                                                        +
                                                        +

                                                        + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/569.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/569.html new file mode 100644 index 00000000000..eca4e1f3e8b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/569.html @@ -0,0 +1,11 @@ + + + + + A <div> with role role="listbox" aria-busy="true", but no "option" descendants. + + +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/571.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/571.html new file mode 100644 index 00000000000..41b8867616a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/571.html @@ -0,0 +1,84 @@ + + + + In a <div> element with role="combobox" and aria-autocomplete="none", change values of the combobox by typing. + + + + +
                                                        + +
                                                          +
                                                        • Zebra
                                                        • +
                                                        • Zoom
                                                        • +
                                                        • Zeta
                                                        • +
                                                        • Zaphod
                                                        • +
                                                        • Alpha
                                                        • +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/572.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/572.html new file mode 100644 index 00000000000..a317a1c2648 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/572.html @@ -0,0 +1,73 @@ + + + + + In a <div> element with role="combobox" and aria-autocomplete="inline", change values of the combobox by adjusting the up and down arrow keys with focus on the textfield in the combobox. + + + + +
                                                        + +
                                                          +
                                                        • Zebra
                                                        • +
                                                        • Zoom
                                                        • +
                                                        • Zeta
                                                        • +
                                                        • Zaphod
                                                        • +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/573.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/573.html new file mode 100644 index 00000000000..388282c382d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/573.html @@ -0,0 +1,73 @@ + + + + + In a <div> element with role="combobox" and aria-autocomplete="both", change values of the combobox by adjusting the up and down arrow keys with focus on the textfield in the combobox. + + + + +
                                                        + +
                                                          +
                                                        • Zebra
                                                        • +
                                                        • Zoom
                                                        • +
                                                        • Zeta
                                                        • +
                                                        • Zaphod
                                                        • +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/574.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/574.html new file mode 100644 index 00000000000..0edd82e91de --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/574.html @@ -0,0 +1,14 @@ + + + + + A <div> with role="list" and a child div with role="group" who has a child of role="button". + + +
                                                        +
                                                        + List → group → button +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/575.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/575.html new file mode 100644 index 00000000000..2672741683e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/575.html @@ -0,0 +1,14 @@ + + + + + A <div>with role="menu" and a child div with role="group" who has a child of role="button".. + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/576.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/576.html new file mode 100644 index 00000000000..25ac37ce262 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/576.html @@ -0,0 +1,14 @@ + + + + + A <div> with role="tree" and a child div with role="group" who has a child of role="button" + + +
                                                        +
                                                        + Tree → group → button +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/577.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/577.html new file mode 100644 index 00000000000..f08915bed22 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/577.html @@ -0,0 +1,14 @@ + + + + + A <div> with role="grid" and a child div with role="rowgroup" who has a child of role="button". + + +
                                                        +
                                                        + Grid → rowgroup → button +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/578.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/578.html new file mode 100644 index 00000000000..2e781e3d04a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/578.html @@ -0,0 +1,11 @@ + + + + + A page with two div elements that have role="toolbar" but not aria-label property. + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/579.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/579.html new file mode 100644 index 00000000000..fd2441ea6a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/579.html @@ -0,0 +1,10 @@ + + + + + A page with one div element that has role="toolbar" but not aria-label property. + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/580.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/580.html new file mode 100644 index 00000000000..5445050641a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/580.html @@ -0,0 +1,24 @@ + + + + + A div element with style="display:none" has aria-hidden="true", and then script sets style to "display: block". + + + + +

                                                        + + + +

                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/581.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/581.html new file mode 100644 index 00000000000..bbe7143c509 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/581.html @@ -0,0 +1,12 @@ + + + + + A page with a div element with id="owned1" is referenced by two div elements that each have aria-owns="owned1". + + +
                                                        First owner of owned1
                                                        +
                                                        Second owner of owned1
                                                        +
                                                        I am owned1
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/582.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/582.html new file mode 100644 index 00000000000..82a1f199815 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/582.html @@ -0,0 +1,17 @@ + + + + + An element with aria-setsize=5 has aria-posinset=6. + + +

                                                        Available Fruit

                                                        +
                                                          +
                                                        • apples
                                                        • +
                                                        • bananas
                                                        • +
                                                        • cantaloupes
                                                        • +
                                                        • dates
                                                        • +
                                                        • kumquat
                                                        • +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/584.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/584.html new file mode 100644 index 00000000000..e784d5be04a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/author-requirements/584.html @@ -0,0 +1,17 @@ + + + + + An element with aria-setsize=1 has aria-posinset=5 + + +

                                                        Available Fruit

                                                        +
                                                          +
                                                        • apples
                                                        • +
                                                        • bananas
                                                        • +
                                                        • cantaloupes
                                                        • +
                                                        • dates
                                                        • +
                                                        • kumquat
                                                        • +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/button-pressed/589.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/button-pressed/589.html new file mode 100644 index 00000000000..25171dfd05d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/button-pressed/589.html @@ -0,0 +1,10 @@ + + + + + An element with role button without the aria-pressed state. + + +
                                                        This div has role button
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/button-pressed/590.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/button-pressed/590.html new file mode 100644 index 00000000000..a5fc030cba1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/button-pressed/590.html @@ -0,0 +1,10 @@ + + + + + An element with role button with an aria-pressed state of "true". + + +
                                                        This div has role button, with aria-pressed='true'
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/combobox-autocomplete-list/div.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/combobox-autocomplete-list/div.html new file mode 100644 index 00000000000..94dccb663d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/combobox-autocomplete-list/div.html @@ -0,0 +1,17 @@ + + + + + Div with role="combobox" and aria-autocomplete="list" + + +
                                                        + +
                                                          +
                                                        • Zebra
                                                        • +
                                                        • Zoom
                                                        • +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/combobox-autocomplete-list/input.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/combobox-autocomplete-list/input.html new file mode 100644 index 00000000000..2dc006d995b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/combobox-autocomplete-list/input.html @@ -0,0 +1,15 @@ + + + + + Input with role="combobox" and aria-autocomplete="list" + + + +
                                                          +
                                                        • Zebra
                                                        • +
                                                        • Zoom
                                                        • +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/default.png b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/default.png new file mode 100644 index 00000000000..556809f15f9 Binary files /dev/null and b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/default.png differ diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/state-1.png b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/state-1.png new file mode 100644 index 00000000000..7d2bbefe800 Binary files /dev/null and b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/state-1.png differ diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/state-2.png b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/state-2.png new file mode 100644 index 00000000000..51ce95ec28f Binary files /dev/null and b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/state-2.png differ diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/state-3.png b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/state-3.png new file mode 100644 index 00000000000..2e22838edc0 Binary files /dev/null and b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/state-3.png differ diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/state-4.png b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/state-4.png new file mode 100644 index 00000000000..1bb82609970 Binary files /dev/null and b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/css-attr-sel/state-4.png differ diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-disparity.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-disparity.html new file mode 100644 index 00000000000..d5a8b099aab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-disparity.html @@ -0,0 +1,12 @@ + + + + + Native checkbox with aria-checked that conflicts with native checked + + +
                                                        + +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-norole.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-norole.html new file mode 100644 index 00000000000..717d8ac1e8a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-norole.html @@ -0,0 +1,12 @@ + + + + + Native checkbox with aria-checked but no role + + +
                                                        + +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-role.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-role.html new file mode 100644 index 00000000000..286e14b1b8f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/host-language/implicit-semantics-checkbox-role.html @@ -0,0 +1,12 @@ + + + + + Native checkbox with aria-checked with role + + +
                                                        + +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/host-language/input-range-valuetext.htm b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/host-language/input-range-valuetext.htm new file mode 100644 index 00000000000..2e6d0797335 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/host-language/input-range-valuetext.htm @@ -0,0 +1,10 @@ + + + + valuetext + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-1.html new file mode 100644 index 00000000000..a04c24aa8fb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-1.html @@ -0,0 +1,74 @@ + + + + ARIA 1.0 Live Region Event Test Case: Add text content + + + + +

                                                        ARIA 1.0 Live Region Event Test Case: Add text content

                                                        + +
                                                        +
                                                        + + + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute with the value "assertive" has a text content added + 1.5 seconds after the document is loaded.

                                                        + +

                                                        Expected Results

                                                        + +
                                                        +
                                                        ATK/AT-SPI
                                                        +
                                                        ATK/AT-SPIevent: text_changed::insert event
                                                        + +
                                                        AXAPI
                                                        +
                                                        AXLiveRegionChanged notification
                                                        + +
                                                        MSAA + IAccessible2
                                                        +
                                                        IAccessible2: IA2_EVENT_TEXT_INSERTED event
                                                        + +
                                                        MSAA + UIA Express
                                                        +
                                                        TextPattern..::.TextChangedEvent event
                                                        + +
                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-2.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-2.html new file mode 100644 index 00000000000..39cf43d79f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-2.html @@ -0,0 +1,80 @@ + + + + ARIA 1.0 Live Region Event Test Case: Delete text content + + + + +

                                                        ARIA 1.0 Live Region Event Test Case: Delete text content

                                                        + +
                                                        + TEST TEXT +
                                                        + + + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute with the value "polite" has a text content deleted + 1.5 seconds after the document is loaded.

                                                        + +

                                                        Expected Results

                                                        + +
                                                        +
                                                        ATK/AT-SPI
                                                        +
                                                        ATK/AT-SPIevent: text_changed::delete event
                                                        + +
                                                        AXAPI
                                                        +
                                                        +
                                                        AXLiveRegionChanged notification
                                                        + +
                                                        MSAA + IAccessible2
                                                        +
                                                        IAccessible2: IA2_EVENT_TEXT_REMOVED event
                                                        + +
                                                        MSAA + UIA Express
                                                        +
                                                        TextPattern..::.TextChangedEvent event
                                                        + +
                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-3.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-3.html new file mode 100644 index 00000000000..8e49ee38e2c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-3.html @@ -0,0 +1,76 @@ + + + + ARIA 1.0 Live Region Event Test Case: Change text content + + + + +

                                                        ARIA 1.0 Live Region Event Test Case: Change text content

                                                        + +
                                                        + TEST TEXT 1 +
                                                        + + + +

                                                        Description

                                                        +

                                                        An element with an aria-live attribute with the value "assertive" has a text content changed + 1.5 seconds after the document is loaded.

                                                        + +

                                                        Expected Results

                                                        + +
                                                        +
                                                        ATK/AT-SPI
                                                        +
                                                        ATK/AT-SPIevent: text_changed::delete event followed by text_changed::insert event
                                                        + +
                                                        AXAPI
                                                        +
                                                        +
                                                        AXLiveRegionChanged notification
                                                        + +
                                                        MSAA + IAccessible2
                                                        +
                                                        IAccessible2: IA2_EVENT_TEXT_REMOVED event followed by IA2_EVENT_TEXT_INSERTED event
                                                        + +
                                                        MSAA + UIA Express
                                                        +
                                                        TextPattern..::.TextChangedEvent event followed by another TextPattern..::.TextChangedEvent event
                                                        + +
                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-4.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-4.html new file mode 100644 index 00000000000..a5233f3af2e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-4.html @@ -0,0 +1,74 @@ + + + + ARIA 1.0 Live Region Event Test Case: Add text content (ALERT role) + + + + +

                                                        ARIA 1.0 Live Region Event Test Case: Add text content (ALERT role)

                                                        + + + + + +

                                                        Description

                                                        +

                                                        An element with an role attribute with the value "alert" has a text content added + 1.5 seconds after the document is loaded.

                                                        + +

                                                        Expected Results

                                                        + +
                                                        +
                                                        ATK/AT-SPI
                                                        +
                                                        ATK/AT-SPIevent: text_changed::insert event
                                                        + +
                                                        AXAPI
                                                        +
                                                        AXLiveRegionChanged notification
                                                        + +
                                                        MSAA + IAccessible2
                                                        +
                                                        IAccessible2: IA2_EVENT_TEXT_INSERTED event
                                                        + +
                                                        MSAA + UIA Express
                                                        +
                                                        TextPattern..::.TextChangedEvent event
                                                        + +
                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-5.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-5.html new file mode 100644 index 00000000000..914b28222c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-5.html @@ -0,0 +1,76 @@ + + + + ARIA 1.0 Live Region Event Test Case: Change text content (LOG role) + + + + +

                                                        ARIA 1.0 Live Region Event Test Case: Change text content (LOG role)

                                                        + +
                                                        + LOG ROLE TEST TEXT 1 +
                                                        + + + +

                                                        Description

                                                        +

                                                        An element with an role attribute with the value "log" has a text content changed + 1.5 seconds after the document is loaded.

                                                        + +

                                                        Expected Results

                                                        + +
                                                        +
                                                        ATK/AT-SPI
                                                        +
                                                        ATK/AT-SPIevent: text_changed::delete event followed by text_changed::insert event
                                                        + +
                                                        AXAPI
                                                        +
                                                        +
                                                        AXLiveRegionChanged notification
                                                        + +
                                                        MSAA + IAccessible2
                                                        +
                                                        IAccessible2: IA2_EVENT_TEXT_REMOVED event followed by IA2_EVENT_TEXT_INSERTED event
                                                        + +
                                                        MSAA + UIA Express
                                                        +
                                                        TextPattern..::.TextChangedEvent event followed by another TextPattern..::.TextChangedEvent event
                                                        + +
                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-6.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-6.html new file mode 100644 index 00000000000..8be8f43e633 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/live-events/test-case-live-event-6.html @@ -0,0 +1,80 @@ + + + + ARIA 1.0 Live Region Event Test Case: Delete text content (STATUS role) + + + + +

                                                        ARIA 1.0 Live Region Event Test Case: Delete text content (STATUS role)

                                                        + +
                                                        + STATUS ROLE TEST TEXT +
                                                        + + + +

                                                        Description

                                                        +

                                                        An element with an role attribute with the value "status" has a text content deleted + 1.5 seconds after the document is loaded.

                                                        + +

                                                        Expected Results

                                                        + +
                                                        +
                                                        ATK/AT-SPI
                                                        +
                                                        ATK/AT-SPIevent: text_changed::delete event
                                                        + +
                                                        AXAPI
                                                        +
                                                        +
                                                        AXLiveRegionChanged notification
                                                        + +
                                                        MSAA + IAccessible2
                                                        +
                                                        IAccessible2: IA2_EVENT_TEXT_REMOVED event
                                                        + +
                                                        MSAA + UIA Express
                                                        +
                                                        TextPattern..::.TextChangedEvent event
                                                        + +
                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/mixed-value/585.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/mixed-value/585.html new file mode 100644 index 00000000000..5b7c024dd57 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/mixed-value/585.html @@ -0,0 +1,12 @@ + + + + + Element with role menuitemradio having inherited state or property aria-checked with value "mixed". + + +
                                                        +
                                                        Radio menu item with aria-checked='mixed'
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/mixed-value/586.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/mixed-value/586.html new file mode 100644 index 00000000000..cc5d35362c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/mixed-value/586.html @@ -0,0 +1,10 @@ + + + + + Element with role radio having inherited state or property aria-checked with value "mixed". + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/596.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/596.html new file mode 100644 index 00000000000..d2f4a9d8a27 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/596.html @@ -0,0 +1,11 @@ + + + + + DIV with aria-labelledby="ID1" and aria-label is not specified and title is not specified. + + +
                                                        aria-labelledby='ID1'
                                                        + Label for 'test' element + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/597.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/597.html new file mode 100644 index 00000000000..9a2901cefa2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/597.html @@ -0,0 +1,10 @@ + + + + + DIV with aria-label="Tag" and aria-labelledby is not specified and title is not specified.. + + +
                                                        aria-label='Tag'
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/598.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/598.html new file mode 100644 index 00000000000..7d9404d8232 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/598.html @@ -0,0 +1,11 @@ + + + + + DIV with aria-labelledby="ID1" aria-label="Tag" and title is not specified. + + +
                                                        aria-labelledby="ID1" aria-label='Tag'
                                                        + Element with id='ID1' + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/599.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/599.html new file mode 100644 index 00000000000..e08b6664754 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/599.html @@ -0,0 +1,12 @@ + + + + + DIV with id="ID0" and aria-labelledby="ID0 ID1" and aria-label="Tag" and title is not specified. + + +
                                                        aria-labelledby="ID0 ID1" aria-label='Tag'
                                                        + Element with id='ID0' + Element with id='ID1' + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/600.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/600.html new file mode 100644 index 00000000000..407e35009d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/600.html @@ -0,0 +1,10 @@ + + + + + DIV with text and aria-label is not specified and aria-labelledby is not specified and title is not specified and role is not specified. + + +
                                                        Div with text
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/601.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/601.html new file mode 100644 index 00000000000..696f900b993 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/601.html @@ -0,0 +1,10 @@ + + + + + DIV with text and role="button" and aria-label is not specified and aria-labelledby is not specified and title is not specified. + + +
                                                        Div with role of button, with text.
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/602.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/602.html new file mode 100644 index 00000000000..cd896fc11fc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/602.html @@ -0,0 +1,10 @@ + + + + + DIV with text and role="button" and title="Tag" and aria-label is not specified and aria-labelledby is not specified. + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/603.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/603.html new file mode 100644 index 00000000000..d43057cb7ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/603.html @@ -0,0 +1,2 @@ + < href="test.html" aria-labelledby="ID1"> ABC </A> and aria-label is not specified and title is not specified. +
                                                        Nifty
                                                        ABC diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/604.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/604.html new file mode 100644 index 00000000000..d1303089354 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/604.html @@ -0,0 +1,10 @@ + + + + + aria-label on anchor (without aria-labelledby or title attribute) + + + ABC + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/605.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/605.html new file mode 100644 index 00000000000..a9a47476bb1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/605.html @@ -0,0 +1,11 @@ + + + + + Aria-label on anchor with aria-labelledby (no title attribute) + + + ABC +

                                                        Here is some labelledby text

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/606.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/606.html new file mode 100644 index 00000000000..31a65d6b8ac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/606.html @@ -0,0 +1,11 @@ + + + + + aria-label on anchor with two aria-labelledby ids (no title attribute) + + + +

                                                        Also labelledby text ID1

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/607.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/607.html new file mode 100644 index 00000000000..8e71e7d6e8e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/607.html @@ -0,0 +1,10 @@ + + + + + Anchor with no aria-label, no aria-labelledby, no title attribute + + + ABC + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/608.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/608.html new file mode 100644 index 00000000000..e73fc0f25a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/608.html @@ -0,0 +1,10 @@ + + + + + Title attribute, no aria-label, aria-labelledby + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/837.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/837.html new file mode 100644 index 00000000000..eab418c842e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-general/837.html @@ -0,0 +1,18 @@ + + + + + Tree item with text value "Animals" with two descendant tree items with text value "Cats" and "Dogs". + + +
                                                          +
                                                        • + Animals +
                                                            +
                                                          • Cats
                                                          • +
                                                          • Dogs
                                                          • +
                                                          +
                                                        • +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/557.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/557.html new file mode 100644 index 00000000000..127258aca64 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/557.html @@ -0,0 +1,11 @@ + + + + +Test 557 IMG with aria-label="l" and alt="a" and title="t" and aria-labelledby not specified. + + +a + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/565.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/565.html new file mode 100644 index 00000000000..a7aeab8a135 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/565.html @@ -0,0 +1,14 @@ + + + + +Test 565 IMG with id="ID0" and aria-label="l" and aria-labelledby="ID0 ID1 ID2 ID3" and alt="a" and title="t". + + + + + +a + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/566.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/566.html new file mode 100644 index 00000000000..656ad893bf5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/566.html @@ -0,0 +1,14 @@ + + + + +Test 566 IMG with id="ID0" and aria-label="" and aria-labelledby="ID0 ID1 ID2 ID3" and alt="a" and title="t". + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/foo.jpg b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/foo.jpg new file mode 100644 index 00000000000..7d11a4f7cf1 Binary files /dev/null and b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/foo.jpg differ diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/test.png b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/test.png new file mode 100644 index 00000000000..85cfa35fd13 Binary files /dev/null and b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-img/test.png differ diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/538.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/538.html new file mode 100644 index 00000000000..d8d9225c1fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/538.html @@ -0,0 +1,11 @@ + + + + +Test 538 UT type="hidden" with no aria-labelledby and with id="test". + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/542.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/542.html new file mode 100644 index 00000000000..1674b495c3e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/542.html @@ -0,0 +1,11 @@ + + + + +Test 542 An INPUT type=submit, with id="test", with no aria-labelledby and no aria-label and does not have a role=presentation. + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/543.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/543.html new file mode 100644 index 00000000000..cd140c9164c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/543.html @@ -0,0 +1,11 @@ + + + + +Test 543 An INPUT type="reset", with id="test", with no aria-labelledby and no aria-label and does not have a role=presentation. + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/544.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/544.html new file mode 100644 index 00000000000..754fe031ca2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/544.html @@ -0,0 +1,11 @@ + + + + +Test 544 An INPUT type=button, with id="test", value="foo", with no aria-labelledby and no aria-label and does not have a role=presentation. + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/545.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/545.html new file mode 100644 index 00000000000..7e0bf9504de --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/545.html @@ -0,0 +1,11 @@ + + + + +Test 545 An INPUT type=img, with id="test", with no aria-labelledby, and no aria-label, does not have a role=presentation, and has an alt attribute. + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/546.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/546.html new file mode 100644 index 00000000000..782682bf84d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/546.html @@ -0,0 +1,12 @@ + + + + +Test 546 An INPUT type=text, password, checkbox, radio, file, or img, with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, and is referenced by a LABEL element. + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/551.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/551.html new file mode 100644 index 00000000000..12c54367416 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/551.html @@ -0,0 +1,11 @@ + + + + +Test 551 An INPUT type=text, password, checkbox, radio, file, or image , with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, is not referenced by a LABEL element, and has a title. + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/552.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/552.html new file mode 100644 index 00000000000..005773b9464 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/552.html @@ -0,0 +1,19 @@ + + + + +Test 552 An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :before content rule. + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/553.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/553.html new file mode 100644 index 00000000000..27ca6471317 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/553.html @@ -0,0 +1,19 @@ + + + + +Test 553 An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :after content rule. + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/609.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/609.html new file mode 100644 index 00000000000..b3b07abff77 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/609.html @@ -0,0 +1,13 @@ + + + + + Title attribute, no aria-label, aria-labelledby + + + +

                                                        Here is some labelledby text for ID1

                                                        +

                                                        Also labelledby text ID2

                                                        +

                                                        Additional labelledby text ID3

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/610.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/610.html new file mode 100644 index 00000000000..bd234fbc498 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/610.html @@ -0,0 +1,11 @@ + + + + + Input element, no wai-aria + + + +
                                                        foo
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/611.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/611.html new file mode 100644 index 00000000000..c41595fe476 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/611.html @@ -0,0 +1,11 @@ + + + + + Input element with type="text" referenced by a label, no wai aria + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/612.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/612.html new file mode 100644 index 00000000000..5037cbd7855 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/612.html @@ -0,0 +1,10 @@ + + + + + Input with type="password" label/for without wai-aria + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/613.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/613.html new file mode 100644 index 00000000000..0f16f922029 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/613.html @@ -0,0 +1,10 @@ + + + + + Input with type="checkbox" label/for without wai-aria + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/614.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/614.html new file mode 100644 index 00000000000..29d3d59cd2f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/614.html @@ -0,0 +1,10 @@ + + + + + Input with type="radio" label/for without wai-aria + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/615.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/615.html new file mode 100644 index 00000000000..1790e6aa8e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/615.html @@ -0,0 +1,10 @@ + + + + + Input with type="file" label/for without wai-aria + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/659.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/659.html new file mode 100644 index 00000000000..5e9b439b089 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/659.html @@ -0,0 +1,16 @@ + + + + + Text input with @title and :before and :after content rule + + + +
                                                        + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/660.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/660.html new file mode 100644 index 00000000000..e1d5f9416ff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/660.html @@ -0,0 +1,16 @@ + + + + + Text input with @title and :before and :after content rule + + + +
                                                        + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/661.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/661.html new file mode 100644 index 00000000000..95a3d46f243 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/661.html @@ -0,0 +1,16 @@ + + + + + Text input with @title and :before and :after content rule + + + +
                                                        + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/662.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/662.html new file mode 100644 index 00000000000..3bca08804f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/662.html @@ -0,0 +1,16 @@ + + + + + Text input with @title and :before and :after content rule + + + +
                                                        + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/663.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/663.html new file mode 100644 index 00000000000..ae70b8532ab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/663.html @@ -0,0 +1,16 @@ + + + + + Text input with @title and :before and :after content rule + + + +
                                                        + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/721.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/721.html new file mode 100644 index 00000000000..1173d1ee5fa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/721.html @@ -0,0 +1,12 @@ + + + + +Test 546a An INPUT type=text, password, checkbox, radio, file, or img, with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, and is referenced by a LABEL element. + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/723.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/723.html new file mode 100644 index 00000000000..849e516b20e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/723.html @@ -0,0 +1,12 @@ + + + + +Test 546b An INPUT type=text, password, checkbox, radio, file, or img, with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, and is referenced by a LABEL element. + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/724.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/724.html new file mode 100644 index 00000000000..f16bb480acb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/724.html @@ -0,0 +1,12 @@ + + + + +Test 546c An INPUT type=text, password, checkbox, radio, file, or img, with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, and is referenced by a LABEL element. + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/725.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/725.html new file mode 100644 index 00000000000..3c72a299626 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/725.html @@ -0,0 +1,12 @@ + + + + +Test 546d An INPUT type=text, password, checkbox, radio, file, or img, with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, and is referenced by a LABEL element. + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/748.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/748.html new file mode 100644 index 00000000000..f55510170cb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/748.html @@ -0,0 +1,11 @@ + + + + +An INPUT type=text, password, checkbox, radio, file, or image , with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, is not referenced by a LABEL element, and has a title. + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/749.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/749.html new file mode 100644 index 00000000000..e87964ceba7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/749.html @@ -0,0 +1,11 @@ + + + + +An INPUT type=text, password, checkbox, radio, file, or image , with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, is not referenced by a LABEL element, and has a title. + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/750.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/750.html new file mode 100644 index 00000000000..58a40ae2cea --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/750.html @@ -0,0 +1,11 @@ + + + + +An INPUT type=text, password, checkbox, radio, file, or image , with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, is not referenced by a LABEL element, and has a title. + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/751.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/751.html new file mode 100644 index 00000000000..b8a5e7c908a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/751.html @@ -0,0 +1,11 @@ + + + + +An INPUT type=text, password, checkbox, radio, file, or image , with id="test", with no aria-labelledby and no aria-label, does not have a role=presentation, is not referenced by a LABEL element, and has a title. + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/753.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/753.html new file mode 100644 index 00000000000..4cb25a46adb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/753.html @@ -0,0 +1,19 @@ + + + + +An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :before content rule. + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/754.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/754.html new file mode 100644 index 00000000000..db8916d125a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/754.html @@ -0,0 +1,19 @@ + + + + +An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :before content rule. + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/755.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/755.html new file mode 100644 index 00000000000..eb2dda3ff8f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/755.html @@ -0,0 +1,19 @@ + + + + +An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :before content rule. + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/756.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/756.html new file mode 100644 index 00000000000..944f3cde745 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/756.html @@ -0,0 +1,19 @@ + + + + +An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :before content rule. + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/758.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/758.html new file mode 100644 index 00000000000..0657f8c6a7f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/758.html @@ -0,0 +1,19 @@ + + + + +An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :after content rule. + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/759.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/759.html new file mode 100644 index 00000000000..a8505f492b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/759.html @@ -0,0 +1,19 @@ + + + + +An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :after content rule. + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/760.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/760.html new file mode 100644 index 00000000000..d8809bd9439 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/760.html @@ -0,0 +1,19 @@ + + + + +An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :after content rule. + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/761.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/761.html new file mode 100644 index 00000000000..6c8a1de52fd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/761.html @@ -0,0 +1,19 @@ + + + + +An INPUT type=text, password, checkbox, radio, file, or image, with id="test", with no aria-labelledby and no aria-label, but is referenced by a LABEL element that has an associated CSS :after content rule. + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/foo.jpg b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/foo.jpg new file mode 100644 index 00000000000..7d11a4f7cf1 Binary files /dev/null and b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/name-computation-input/foo.jpg differ diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/859.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/859.html new file mode 100644 index 00000000000..ad383353b07 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/859.html @@ -0,0 +1,10 @@ + + + + + test 859 + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/860.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/860.html new file mode 100644 index 00000000000..3079ef86c77 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/860.html @@ -0,0 +1,10 @@ + + + + test 860 + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/861.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/861.html new file mode 100644 index 00000000000..86284e08d99 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/861.html @@ -0,0 +1,10 @@ + + + + test 861 + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/863.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/863.html new file mode 100644 index 00000000000..8ae98c7f1e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/863.html @@ -0,0 +1,14 @@ + + + + test 863 + + +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/864.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/864.html new file mode 100644 index 00000000000..0b706e5c874 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/864.html @@ -0,0 +1,17 @@ + + + + + test case 864 + + + + +
                                                          +
                                                        • Zebra
                                                        • +
                                                        • Zoom
                                                        • +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/865.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/865.html new file mode 100644 index 00000000000..d706f80a25a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/865.html @@ -0,0 +1,10 @@ + + + + test 865 + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/866.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/866.html new file mode 100644 index 00000000000..8d4d5e42f1a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/866.html @@ -0,0 +1,10 @@ + + + + test 866 + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/867.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/867.html new file mode 100644 index 00000000000..a60653fd7ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/867.html @@ -0,0 +1,18 @@ + + + + + test 867 + + +
                                                        +
                                                        +
                                                        obj1
                                                        +
                                                        +
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/868.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/868.html new file mode 100644 index 00000000000..d43c86f2962 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/868.html @@ -0,0 +1,18 @@ + + + + + test 868 + + +
                                                        +
                                                        +
                                                        obj1
                                                        +
                                                        +
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/869.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/869.html new file mode 100644 index 00000000000..cba68be90ac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/869.html @@ -0,0 +1,10 @@ + + + + test 869 + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/871.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/871.html new file mode 100644 index 00000000000..4595a7cf998 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/871.html @@ -0,0 +1,14 @@ + + + + ARIA 1.0 Test Case 871 + + + +
                                                        +
                                                        Option 1
                                                        +
                                                        Option 2
                                                        +
                                                        Option 3
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/872.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/872.html new file mode 100644 index 00000000000..0469d7c1691 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/872.html @@ -0,0 +1,13 @@ + + + + + test case 872 + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/873.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/873.html new file mode 100644 index 00000000000..7ae36c5e70a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/873.html @@ -0,0 +1,12 @@ + + + + + test case 873 + + + +
                                                        Placeholder content
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/874.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/874.html new file mode 100644 index 00000000000..5d44672d31b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/874.html @@ -0,0 +1,12 @@ + + + + + test case 874 + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/875.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/875.html new file mode 100644 index 00000000000..52422efade6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/875.html @@ -0,0 +1,16 @@ + + + + + test case 875 + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/879.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/879.html new file mode 100644 index 00000000000..a9a876a03ed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/879.html @@ -0,0 +1,14 @@ + + + + ARIA 1.0 Test Case 879 + + + +
                                                        +
                                                        +
                                                        Option 2
                                                        +
                                                        Option 3
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/880.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/880.html new file mode 100644 index 00000000000..570d85361d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/880.html @@ -0,0 +1,11 @@ + + + + + test case 880 + + + +
                                                        Placeholder content
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/887.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/887.html new file mode 100644 index 00000000000..90151869f71 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/887.html @@ -0,0 +1,15 @@ + + + + + test case 887 + + +
                                                        +
                                                        tab1
                                                        tab2
                                                        +
                                                        +
                                                        + Boring tab panel +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/888.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/888.html new file mode 100644 index 00000000000..da876814e03 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/888.html @@ -0,0 +1,10 @@ + + + + + test case 888 + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/889.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/889.html new file mode 100644 index 00000000000..2cf67a32014 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/889.html @@ -0,0 +1,10 @@ + + + + + test case 889 + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/890.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/890.html new file mode 100644 index 00000000000..6fd47f40e2e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/890.html @@ -0,0 +1,11 @@ + + + + + test case 890 + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/891.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/891.html new file mode 100644 index 00000000000..2d2361e43d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/891.html @@ -0,0 +1,14 @@ + + + + + test case 891 + + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/892.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/892.html new file mode 100644 index 00000000000..20934bbbfae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/892.html @@ -0,0 +1,14 @@ + + + + + test case 892 + + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/893.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/893.html new file mode 100644 index 00000000000..819fa8d8d89 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/namefromauthor-requ/893.html @@ -0,0 +1,20 @@ + + + + + test case 893 + + + +
                                                        +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        +
                                                        obj3
                                                        +
                                                        obj4
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/noaria.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/noaria.html new file mode 100644 index 00000000000..e404e6619af --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/noaria.html @@ -0,0 +1,10 @@ + + + + + No ARIA markup + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/497.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/497.html new file mode 100644 index 00000000000..5efa4ab7798 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/497.html @@ -0,0 +1,14 @@ + + + + +Test 497 Image element with role="presentation" but with a reference to a description + + +test1 +

                                                        +This is an image. +

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/498.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/498.html new file mode 100644 index 00000000000..834ba206d70 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/498.html @@ -0,0 +1,11 @@ + + + + +Test 498 Image element with role="presentation" but aria-disabled="true" + + +test1 + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/499.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/499.html new file mode 100644 index 00000000000..ad2dee407ed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/499.html @@ -0,0 +1,11 @@ + + + + +Test 499 Image element with role="presentation" but aria-dropeffect="move" + + +test1 + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/500.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/500.html new file mode 100644 index 00000000000..578e7a2db72 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/500.html @@ -0,0 +1,13 @@ + + + + +Test 500 Image element with role="presentation" but with a valid aria-flowto attribute + + +test1 + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/501.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/501.html new file mode 100644 index 00000000000..77cfc2ede08 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/501.html @@ -0,0 +1,11 @@ + + + + +Test 501 Image element with role="presentation" but with aria-grabbed="true" + + +test1 + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/502.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/502.html new file mode 100644 index 00000000000..ae8c74d5c78 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/502.html @@ -0,0 +1,11 @@ + + + + +Test 502 Image element with role="presentation" but with aria-haspopup="true" + + +test1 + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/503.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/503.html new file mode 100644 index 00000000000..3859142529a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/503.html @@ -0,0 +1,11 @@ + + + + +Test 503 Image element with role="presentation" but with aria-hidden="true" + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/504.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/504.html new file mode 100644 index 00000000000..ea19a435957 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/504.html @@ -0,0 +1,11 @@ + + + + +Test 504 Image element with role="presentation" but with aria-invalid="true" + + +test1 + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/505.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/505.html new file mode 100644 index 00000000000..16315641301 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/505.html @@ -0,0 +1,11 @@ + + + + +Test 505 Image element with role="presentation" but with aria-label="test" + + +test1 + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/506.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/506.html new file mode 100644 index 00000000000..495763d7799 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/506.html @@ -0,0 +1,14 @@ + + + + +Test 506 Image element with role="presentation" but with a valid aria-labelledby attribute + + +test1 +
                                                        +test_label +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/507.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/507.html new file mode 100644 index 00000000000..09e6859655e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/507.html @@ -0,0 +1,11 @@ + + + + +Test 507 Image element with role="presentation" but with aria-live="assertive" + + +test1 + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/509.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/509.html new file mode 100644 index 00000000000..9780ce2ac4e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/509.html @@ -0,0 +1,11 @@ + + + + +Test 509 Image element with role="presentation" but with aria-relevant="text" + + +test1 + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/510.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/510.html new file mode 100644 index 00000000000..05c50a161eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/510.html @@ -0,0 +1,15 @@ + + + + +Test 510 An owned, unfocusable, element untied to an aria relationship that inherits role="presentation" + + + + + + +
                                                        Test me
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/511.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/511.html new file mode 100644 index 00000000000..d9a3043fe31 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/511.html @@ -0,0 +1,17 @@ + + + + +Test 511 An owned, focusable element, tied to an aria relationship that inherits role="presentation" + + + + + + +
                                                        Test me
                                                        +
                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/512.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/512.html new file mode 100644 index 00000000000..35c0a5ef07a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/512.html @@ -0,0 +1,15 @@ + + + + +Test 512 An owned, unfocusable element, having aria-atomic="true" that inherits role="presentation" + + + + + + +
                                                        Test me
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/513.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/513.html new file mode 100644 index 00000000000..4a908544f5e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/513.html @@ -0,0 +1,15 @@ + + + + +Test 513 An owned, unfocusable element, having aria-busy="true" that inherits role="presentation" + + + + + + +
                                                        Test me
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/514.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/514.html new file mode 100644 index 00000000000..0f7c3480022 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/514.html @@ -0,0 +1,17 @@ + + + + +Test 514 An owned, unfocusable element, with a valid aria-controls attribue set that inherits role="presentation" + + + + + + +
                                                        Test me
                                                        +
                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/515.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/515.html new file mode 100644 index 00000000000..de4d7caa2c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/515.html @@ -0,0 +1,18 @@ + + + + +Test 515 An owned, unfocusable element, with a valid aria-describedby attribue set that inherits role="presentation" + + + + + + +
                                                        Test me
                                                        +
                                                        +You can +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/516.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/516.html new file mode 100644 index 00000000000..dacee180ca4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/516.html @@ -0,0 +1,15 @@ + + + + +Test 516 An owned, unfocusable element, having aria-disabled="true" that inherits role="presentation" + + + + + + +
                                                        Test me
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/517.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/517.html new file mode 100644 index 00000000000..3154b9da2fa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/517.html @@ -0,0 +1,15 @@ + + + + +Test 517 An owned, unfocusable element, having aria-dropeffect="move" that inherits role="presentation" + + + + + + +
                                                        Test me
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/518.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/518.html new file mode 100644 index 00000000000..a2c85521c12 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/518.html @@ -0,0 +1,18 @@ + + + + +Test 518 An owned, unfocusable element, with a valid aria-flowto attribue set that inherits role="presentation" + + + + + + +
                                                        Test me
                                                        +
                                                        +You can +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/519.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/519.html new file mode 100644 index 00000000000..8ff435f4d64 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/519.html @@ -0,0 +1,15 @@ + + + + +Test 519 An owned, unfocusable element, having aria-grabbed="true" that inherits role="presentation" + + + + + + +
                                                        Test me
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/520.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/520.html new file mode 100644 index 00000000000..9b7bee0f643 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/520.html @@ -0,0 +1,15 @@ + + + + +Test 520 An owned, unfocusable element, having aria-haspopup="true" that inherits role="presentation" + + + + + + +
                                                        Test me
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/521.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/521.html new file mode 100644 index 00000000000..c98a873d6aa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/521.html @@ -0,0 +1,15 @@ + + + + +Test 521 An owned, unfocusable element, having aria-hidden="true" that inherits role="presentation" + + + + + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/522.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/522.html new file mode 100644 index 00000000000..1d18a47b8a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/522.html @@ -0,0 +1,15 @@ + + + + +Test 522 An owned, unfocusable element, having aria-invalid="true" that inherits role="presentation" + + + + + + +
                                                        Test me
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/523.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/523.html new file mode 100644 index 00000000000..7a2ba4138ea --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/523.html @@ -0,0 +1,15 @@ + + + + +Test 523 An owned, unfocusable element, having aria-label="test" that inherits role="presentation" + + + + + + +
                                                        foo
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/524.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/524.html new file mode 100644 index 00000000000..b624f041a2b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/524.html @@ -0,0 +1,16 @@ + + + + +Test 524 An owned, unfocusable element, with a valid aria-labelledby attribute set that inherits role="presentation" + + + + + + +
                                                        +
                                                        test
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/525.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/525.html new file mode 100644 index 00000000000..cf97c15f61a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/525.html @@ -0,0 +1,15 @@ + + + + +Test 525 An owned, unfocusable element, having aria-live="assertive" that inherits role="presentation" + + + + + + +
                                                        test
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/527.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/527.html new file mode 100644 index 00000000000..a7a6e751cf1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentation-role/527.html @@ -0,0 +1,15 @@ + + + + +Test 527 An owned, unfocusable element, having aria-relevant="text" that inherits role="presentation" + + + + + + +
                                                        test
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-839.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-839.html new file mode 100644 index 00000000000..0f649a5b75c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-839.html @@ -0,0 +1,22 @@ + + + + ARIA 1.0 Test Case 839: Separator + + + +

                                                        ARIA 1.0 Test Case 839: Separator

                                                        + +
                                                        +
                                                        Test text content
                                                        + +

                                                        Test link

                                                        +
                                                        Button
                                                        +
                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-840.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-840.html new file mode 100644 index 00000000000..75acea26f97 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-840.html @@ -0,0 +1,22 @@ + + + + ARIA 1.0 Test Case 840: progressbar + + + +

                                                        ARIA 1.0 Test Case 840: progressbar

                                                        + +
                                                        +
                                                        Test text content
                                                        + +

                                                        Test link

                                                        +
                                                        Button
                                                        +
                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-842.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-842.html new file mode 100644 index 00000000000..5fcf8b27b22 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-842.html @@ -0,0 +1,22 @@ + + + + ARIA 1.0 Test Case 842: img + + + +

                                                        ARIA 1.0 Test Case 842: img

                                                        + +
                                                        +
                                                        Test text content
                                                        + +

                                                        Test link

                                                        +
                                                        Button
                                                        +
                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-843.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-843.html new file mode 100644 index 00000000000..02902a5f0cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-843.html @@ -0,0 +1,22 @@ + + + + ARIA 1.0 Test Case 843: slider + + + +

                                                        ARIA 1.0 Test Case 843: slider

                                                        + +
                                                        +
                                                        Test text content
                                                        + +

                                                        Test link

                                                        +
                                                        Button
                                                        +
                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-844.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-844.html new file mode 100644 index 00000000000..41310676076 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/presentational-children/testcase-844.html @@ -0,0 +1,22 @@ + + + + ARIA 1.0 Test Case 844: math + + + +

                                                        ARIA 1.0 Test Case 844: math

                                                        + +
                                                        +
                                                        Test text content
                                                        + +

                                                        Test link

                                                        +
                                                        Button
                                                        +
                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic-false.html new file mode 100644 index 00000000000..31452f627e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic-false.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-atomic" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic-true.html new file mode 100644 index 00000000000..499b675db80 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic-true.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-atomic" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic.html new file mode 100644 index 00000000000..84faaeb86e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-atomic.html @@ -0,0 +1,15 @@ + + + + + <div> with no role; global state or property "" value of "true" + + +
                                                        + Placeholder content + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-busy-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-busy-false.html new file mode 100644 index 00000000000..f10c1240406 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-busy-false.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-busy" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-busy-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-busy-true.html new file mode 100644 index 00000000000..efd700760a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-busy-true.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-busy" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-controls-obj1-obj2.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-controls-obj1-obj2.html new file mode 100644 index 00000000000..63eb41b1cee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-controls-obj1-obj2.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-controls" value of "obj1 obj2" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-controls-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-controls-obj1.html new file mode 100644 index 00000000000..8e012dd5644 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-controls-obj1.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-controls" value of "obj1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-describedby-obj1-obj2.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-describedby-obj1-obj2.html new file mode 100644 index 00000000000..e36e08eab1d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-describedby-obj1-obj2.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-describedby" value of "obj1 obj2" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-describedby-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-describedby-obj1.html new file mode 100644 index 00000000000..317165628c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-describedby-obj1.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-describedby" value of "obj1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-disabled-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-disabled-false.html new file mode 100644 index 00000000000..dc3c8ce0ea3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-disabled-false.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-disabled" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-disabled-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-disabled-true.html new file mode 100644 index 00000000000..fd01ff2d4a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-disabled-true.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-disabled" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-copy.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-copy.html new file mode 100644 index 00000000000..4f0782bf428 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-copy.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-dropeffect" value of "copy" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-execute.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-execute.html new file mode 100644 index 00000000000..e445c8b3f71 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-execute.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-dropeffect" value of "execute" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-link.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-link.html new file mode 100644 index 00000000000..cbbc24c0e83 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-link.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-dropeffect" value of "link" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-move.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-move.html new file mode 100644 index 00000000000..55bfe810f50 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-move.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-dropeffect" value of "move" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-none.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-none.html new file mode 100644 index 00000000000..05ccc7aa55e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-none.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-dropeffect" value of "none" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-popup.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-popup.html new file mode 100644 index 00000000000..dd5045e45de --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-dropeffect-popup.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-dropeffect" value of "popup" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-flowto-obj1-obj2.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-flowto-obj1-obj2.html new file mode 100644 index 00000000000..0efca8bdca6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-flowto-obj1-obj2.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-flowto" value of "obj1 obj2" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-flowto-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-flowto-obj1.html new file mode 100644 index 00000000000..d60135c3f59 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-flowto-obj1.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-flowto" value of "obj1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-false.html new file mode 100644 index 00000000000..c3e422266d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-false.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-grabbed" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-true.html new file mode 100644 index 00000000000..ab42aa10010 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-true.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-grabbed" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-undefined.html new file mode 100644 index 00000000000..91626fe957e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-grabbed-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-grabbed" value of "undefined" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-haspopup-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-haspopup-false.html new file mode 100644 index 00000000000..125b43ba3b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-haspopup-false.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-haspopup" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-haspopup-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-haspopup-true.html new file mode 100644 index 00000000000..735c64e7a3a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-haspopup-true.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-haspopup" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-hidden-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-hidden-false.html new file mode 100644 index 00000000000..185bb601149 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-hidden-false.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-hidden" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-hidden-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-hidden-true.html new file mode 100644 index 00000000000..fb3b6179f77 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-hidden-true.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-hidden" value of "true" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-false.html new file mode 100644 index 00000000000..6293d2324e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-false.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-invalid" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-grammar.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-grammar.html new file mode 100644 index 00000000000..f71287c17d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-grammar.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-invalid" value of "grammar" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-spelling.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-spelling.html new file mode 100644 index 00000000000..b09c6d147e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-spelling.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-invalid" value of "spelling" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-true.html new file mode 100644 index 00000000000..ad255df243c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-invalid-true.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-invalid" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-label-Test-string-value.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-label-Test-string-value.html new file mode 100644 index 00000000000..3b6b442d488 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-label-Test-string-value.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-label" value of "Test string value" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-labelledby-obj1-obj2.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-labelledby-obj1-obj2.html new file mode 100644 index 00000000000..1c45b0c2b71 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-labelledby-obj1-obj2.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-labelledby" value of "obj1 obj2" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-labelledby-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-labelledby-obj1.html new file mode 100644 index 00000000000..2a863ca9535 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-labelledby-obj1.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-labelledby" value of "obj1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-assertive.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-assertive.html new file mode 100644 index 00000000000..b977bd4c4d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-assertive.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-live" value of "assertive" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-off.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-off.html new file mode 100644 index 00000000000..b8cbf15ad29 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-off.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-live" value of "off" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-polite.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-polite.html new file mode 100644 index 00000000000..d250f7b5304 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-live-polite.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-live" value of "polite" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-owns-obj1-obj2.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-owns-obj1-obj2.html new file mode 100644 index 00000000000..784e02b3534 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-owns-obj1-obj2.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-owns" value of "obj1 obj2" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-owns-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-owns-obj1.html new file mode 100644 index 00000000000..d44ce0b38f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-owns-obj1.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-owns" value of "obj1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-additions-text.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-additions-text.html new file mode 100644 index 00000000000..12b17be1e98 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-additions-text.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-relevant" value of "additions text" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-additions.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-additions.html new file mode 100644 index 00000000000..c8329d95eda --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-additions.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-relevant" value of "additions" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-all.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-all.html new file mode 100644 index 00000000000..574aa18281b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-all.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-relevant" value of "all" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-removals.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-removals.html new file mode 100644 index 00000000000..3dc0b12fe95 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-removals.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-relevant" value of "removals" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-text.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-text.html new file mode 100644 index 00000000000..a8957f1f7cf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/properties-global-norole/properties-global-norole-aria-relevant-text.html @@ -0,0 +1,12 @@ + + + + + <div> with no role; global state or property "aria-relevant" value of "text" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/relevant-state/591.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/relevant-state/591.html new file mode 100644 index 00000000000..f7044aa07f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/relevant-state/591.html @@ -0,0 +1,10 @@ + + + + + Element with role main having global state or property aria-relevant with value "additions removals". + + +
                                                        Role main with aria-relevant='additions removals'
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/relevant-state/592.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/relevant-state/592.html new file mode 100644 index 00000000000..10bafce6090 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/relevant-state/592.html @@ -0,0 +1,10 @@ + + + + + Element with role main having global state or property aria-relevant with value "removals text". + + +
                                                        Role main with aria-relevant='removals text'
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/relevant-state/593.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/relevant-state/593.html new file mode 100644 index 00000000000..e3bb27321a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/relevant-state/593.html @@ -0,0 +1,10 @@ + + + + + Element with role main having global state or property aria-relevant with value "additions removals text". + + +
                                                        Role main with aria-relevant='additions removals text'
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-alert.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-alert.html new file mode 100644 index 00000000000..733dbfd81d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-alert.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "alert" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-alertdialog.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-alertdialog.html new file mode 100644 index 00000000000..88941fea2f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-alertdialog.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "alertdialog" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-application.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-application.html new file mode 100644 index 00000000000..6eea2d0c030 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-application.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "application" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-article.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-article.html new file mode 100644 index 00000000000..c8d99c590e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-article.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "article" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-banner.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-banner.html new file mode 100644 index 00000000000..f9a8c06e88e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-banner.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "banner" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-button.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-button.html new file mode 100644 index 00000000000..f6edccdf13e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-button.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "button" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-complementary.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-complementary.html new file mode 100644 index 00000000000..86a33255321 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-complementary.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "complementary" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-contentinfo.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-contentinfo.html new file mode 100644 index 00000000000..89d579eb05c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-contentinfo.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "contentinfo" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-definition.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-definition.html new file mode 100644 index 00000000000..5bdf02c9c5f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-definition.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "definition" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-dialog.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-dialog.html new file mode 100644 index 00000000000..59ac2084c64 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-dialog.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "dialog" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-directory.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-directory.html new file mode 100644 index 00000000000..17ca3b66940 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-directory.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "directory" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-document.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-document.html new file mode 100644 index 00000000000..a5bc88c614b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-document.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "document" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-form.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-form.html new file mode 100644 index 00000000000..2ca7e72deb0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-form.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "form" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-grid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-grid.html new file mode 100644 index 00000000000..3ed0c84a83e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-grid.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "grid" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-group.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-group.html new file mode 100644 index 00000000000..bcd135f68ed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-group.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "group" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-heading.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-heading.html new file mode 100644 index 00000000000..db544900589 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-heading.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "heading" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-img.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-img.html new file mode 100644 index 00000000000..a1f9276336b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-img.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "img" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-link.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-link.html new file mode 100644 index 00000000000..5b17724ee41 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-link.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "link" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-list.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-list.html new file mode 100644 index 00000000000..72ffee9effa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-list.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "list" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-listbox-parent-combobox.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-listbox-parent-combobox.html new file mode 100644 index 00000000000..e2e0135eeb2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-listbox-parent-combobox.html @@ -0,0 +1,35 @@ + + + + + An element with id=test and role=listbox, which is owned by a combobox + + + +

                                                        An element with id=test and role=listbox, which is owned by a combobox:

                                                        + +
                                                          +
                                                        • Zebra
                                                        • +
                                                        • Zoom
                                                        • +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-listbox.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-listbox.html new file mode 100644 index 00000000000..ff7d32166a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-listbox.html @@ -0,0 +1,12 @@ + + + + + Plain <div> with role "listbox" and no states or properties + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-log.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-log.html new file mode 100644 index 00000000000..1a535928043 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-log.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "log" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-main.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-main.html new file mode 100644 index 00000000000..1f66605023e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-main.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "main" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-marquee.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-marquee.html new file mode 100644 index 00000000000..05986754b2e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-marquee.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "marquee" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-math.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-math.html new file mode 100644 index 00000000000..66f7571d1ad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-math.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "math" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-menu.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-menu.html new file mode 100644 index 00000000000..63c3375aaea --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-menu.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "menu" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-menubar.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-menubar.html new file mode 100644 index 00000000000..5e9b6a1a3d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-menubar.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "menubar" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-navigation.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-navigation.html new file mode 100644 index 00000000000..1a0cc38ef6e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-navigation.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "navigation" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-note.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-note.html new file mode 100644 index 00000000000..6fd8bb80b79 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-note.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "note" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-option.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-option.html new file mode 100644 index 00000000000..1a44d86561e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-option.html @@ -0,0 +1,12 @@ + + + + + Plain <div> with role "option" and no states or properties + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-presentation.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-presentation.html new file mode 100644 index 00000000000..0ebd3cdb812 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-presentation.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "presentation" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-progressbar.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-progressbar.html new file mode 100644 index 00000000000..cbfdef50975 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-progressbar.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "progressbar" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-radiogroup.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-radiogroup.html new file mode 100644 index 00000000000..a4caff06f75 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-radiogroup.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "radiogroup" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-region.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-region.html new file mode 100644 index 00000000000..29929c149b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-region.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "region" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-rowheader.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-rowheader.html new file mode 100644 index 00000000000..9a1bba18ee3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-rowheader.html @@ -0,0 +1,14 @@ + + + + + Plain <div> with role "rowheader" and no states or properties + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-search.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-search.html new file mode 100644 index 00000000000..160cec84b72 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-search.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "search" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-separator.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-separator.html new file mode 100644 index 00000000000..d8d8352876b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-separator.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "separator" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-status.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-status.html new file mode 100644 index 00000000000..9e413849352 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-status.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "status" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tablist.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tablist.html new file mode 100644 index 00000000000..211eda8154f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tablist.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "tablist" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tabpanel.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tabpanel.html new file mode 100644 index 00000000000..3884f39422c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tabpanel.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "tabpanel" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-textbox.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-textbox.html new file mode 100644 index 00000000000..fcfe673fb50 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-textbox.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "textbox" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-timer.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-timer.html new file mode 100644 index 00000000000..af15207e0ce --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-timer.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "timer" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-toolbar.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-toolbar.html new file mode 100644 index 00000000000..8324070282b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-toolbar.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "toolbar" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tooltip.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tooltip.html new file mode 100644 index 00000000000..299346439b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tooltip.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "tooltip" and no states or properties + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tree.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tree.html new file mode 100644 index 00000000000..a194de5a290 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-tree.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "tree" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-treegrid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-treegrid.html new file mode 100644 index 00000000000..25b242627cf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-plain-concrete/roles-plain-concrete-treegrid.html @@ -0,0 +1,10 @@ + + + + + Plain <div> with role "treegrid" and no states or properties + + +
                                                        Placeholder content
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-atomic-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-atomic-false.html new file mode 100644 index 00000000000..a2c0b726210 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-atomic-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-atomic" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-atomic-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-atomic-true.html new file mode 100644 index 00000000000..53f5b6d8051 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-atomic-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-atomic" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-busy-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-busy-false.html new file mode 100644 index 00000000000..59b1eaed136 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-busy-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-busy" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-busy-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-busy-true.html new file mode 100644 index 00000000000..f6d8f549924 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-busy-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-busy" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-controls-obj1-obj2.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-controls-obj1-obj2.html new file mode 100644 index 00000000000..5d095774a18 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-controls-obj1-obj2.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-controls" value of "obj1 obj2" + + +
                                                        Placeholder content
                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-controls-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-controls-obj1.html new file mode 100644 index 00000000000..56db460384b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-controls-obj1.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-controls" value of "obj1" + + +
                                                        Placeholder content
                                                        + +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-describedby-obj1-obj2.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-describedby-obj1-obj2.html new file mode 100644 index 00000000000..55369c9520d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-describedby-obj1-obj2.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-describedby" value of "obj1 obj2" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-describedby-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-describedby-obj1.html new file mode 100644 index 00000000000..bb3c294f7f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-describedby-obj1.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-describedby" value of "obj1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-disabled-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-disabled-false.html new file mode 100644 index 00000000000..90de02c084c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-disabled-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-disabled" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-disabled-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-disabled-true.html new file mode 100644 index 00000000000..336975f51d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-disabled-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-disabled" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-copy.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-copy.html new file mode 100644 index 00000000000..4653a0a8fd6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-copy.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-dropeffect" value of "copy" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-execute.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-execute.html new file mode 100644 index 00000000000..54752744554 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-execute.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-dropeffect" value of "execute" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-link.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-link.html new file mode 100644 index 00000000000..b592f1e1ea5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-link.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-dropeffect" value of "link" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-move.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-move.html new file mode 100644 index 00000000000..a7caad7709c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-move.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-dropeffect" value of "move" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-none.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-none.html new file mode 100644 index 00000000000..86c73586e19 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-none.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-dropeffect" value of "none" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-popup.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-popup.html new file mode 100644 index 00000000000..23c5f5c3dfa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-dropeffect-popup.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-dropeffect" value of "popup" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-flowto-obj1-obj2.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-flowto-obj1-obj2.html new file mode 100644 index 00000000000..3c72e0c5da3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-flowto-obj1-obj2.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-flowto" value of "obj1 obj2" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-flowto-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-flowto-obj1.html new file mode 100644 index 00000000000..92747023e93 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-flowto-obj1.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-flowto" value of "obj1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-false.html new file mode 100644 index 00000000000..b44f026ff30 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-grabbed" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-true.html new file mode 100644 index 00000000000..fef9fcad8b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-grabbed" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-undefined.html new file mode 100644 index 00000000000..fbe3f69cb2a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-grabbed-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-grabbed" value of "undefined" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-haspopup-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-haspopup-false.html new file mode 100644 index 00000000000..b25ab992148 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-haspopup-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-haspopup" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-haspopup-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-haspopup-true.html new file mode 100644 index 00000000000..c3d6e6af3e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-haspopup-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-haspopup" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-hidden-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-hidden-false.html new file mode 100644 index 00000000000..fe96171ccc8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-hidden-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-hidden" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-hidden-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-hidden-true.html new file mode 100644 index 00000000000..976cfcc5206 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-hidden-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-hidden" value of "true" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-false.html new file mode 100644 index 00000000000..ad14b3339bf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-invalid" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-grammar.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-grammar.html new file mode 100644 index 00000000000..cea7b01aed4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-grammar.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-invalid" value of "grammar" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-spelling.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-spelling.html new file mode 100644 index 00000000000..7ce89475814 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-spelling.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-invalid" value of "spelling" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-true.html new file mode 100644 index 00000000000..8dc3c233ff0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-invalid-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-invalid" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-label-Test-string-value.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-label-Test-string-value.html new file mode 100644 index 00000000000..dc0c036d20c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-label-Test-string-value.html @@ -0,0 +1,14 @@ + + + + + <div> with role main; global state or property "aria-label" value of "Test string + value" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-labelledby-obj1-obj2.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-labelledby-obj1-obj2.html new file mode 100644 index 00000000000..36ee9dcd5a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-labelledby-obj1-obj2.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-labelledby" value of "obj1 obj2" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-labelledby-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-labelledby-obj1.html new file mode 100644 index 00000000000..dbcc750638f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-labelledby-obj1.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-labelledby" value of "obj1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-assertive.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-assertive.html new file mode 100644 index 00000000000..05f2f3fe875 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-assertive.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-live" value of "assertive" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-off.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-off.html new file mode 100644 index 00000000000..1ff8ac31c2c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-off.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-live" value of "off" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-polite.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-polite.html new file mode 100644 index 00000000000..829bf79069b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-live-polite.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-live" value of "polite" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-owns-obj1-obj2.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-owns-obj1-obj2.html new file mode 100644 index 00000000000..2276906bff5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-owns-obj1-obj2.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-owns" value of "obj1 obj2" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-owns-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-owns-obj1.html new file mode 100644 index 00000000000..ebb95c433d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-owns-obj1.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-owns" value of "obj1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-additions-text.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-additions-text.html new file mode 100644 index 00000000000..be51d2872e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-additions-text.html @@ -0,0 +1,14 @@ + + + + + <div> with role main; global state or property "aria-relevant" value of "additions + text" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-additions.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-additions.html new file mode 100644 index 00000000000..59ae86e4ff5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-additions.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-relevant" value of "additions" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-all.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-all.html new file mode 100644 index 00000000000..d87c522953b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-all.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-relevant" value of "all" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-removals.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-removals.html new file mode 100644 index 00000000000..791a6b2e8e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-removals.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-relevant" value of "removals" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-text.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-text.html new file mode 100644 index 00000000000..03cabb3fbb3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-global/roles-properties-global-main-aria-relevant-text.html @@ -0,0 +1,12 @@ + + + + + <div> with role main; global state or property "aria-relevant" value of "text" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/menuitemcheckbox-aria-checked-mixed.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/menuitemcheckbox-aria-checked-mixed.html new file mode 100644 index 00000000000..837739e7ab6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/menuitemcheckbox-aria-checked-mixed.html @@ -0,0 +1,16 @@ + + + + + <div> with role menuitemcheckbox; inherited required state or property "aria-checked" + value of "mixed" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/menuitemcheckbox-aria-checked-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/menuitemcheckbox-aria-checked-undefined.html new file mode 100644 index 00000000000..75f3f087f13 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/menuitemcheckbox-aria-checked-undefined.html @@ -0,0 +1,16 @@ + + + + + <div> with role menuitemcheckbox; inherited required state or property "aria-checked" + value of "undefined" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-false.html new file mode 100644 index 00000000000..72d48e77cf0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role radio; inherited required state or property "aria-checked" value of + "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-mixed.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-mixed.html new file mode 100644 index 00000000000..19593293223 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-mixed.html @@ -0,0 +1,14 @@ + + + + + <div> with role radio; inherited required state or property "aria-checked" value of + "mixed" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-true.html new file mode 100644 index 00000000000..81571b60c5e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role radio; inherited required state or property "aria-checked" value of + "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-undefined.html new file mode 100644 index 00000000000..95a1ca7a27e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required-inherited/radio-aria-checked-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role radio; inherited required state or property "aria-checked" value of + "undefined" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-false.html new file mode 100644 index 00000000000..21e7b0366af --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role checkbox; required state or property "aria-checked" value of "false" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-mixed.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-mixed.html new file mode 100644 index 00000000000..09200351ed1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-mixed.html @@ -0,0 +1,12 @@ + + + + + <div> with role checkbox; required state or property "aria-checked" value of "mixed" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-true.html new file mode 100644 index 00000000000..295d992b102 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role checkbox; required state or property "aria-checked" value of "true" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-undefined.html new file mode 100644 index 00000000000..250454f822f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-checkbox-aria-checked-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with role checkbox; required state or property "aria-checked" value of "undefined" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-false.html new file mode 100644 index 00000000000..751747aec55 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role combobox; required state or property "aria-expanded" value of "false" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-true.html new file mode 100644 index 00000000000..46cd8e5061c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role combobox; required state or property "aria-expanded" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-undefined.html new file mode 100644 index 00000000000..58ea1d313c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-required/roles-properties-required-combobox-aria-expanded-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with role combobox; required state or property "aria-expanded" value of "undefined" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-false.html new file mode 100644 index 00000000000..ac960fdbf66 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role alert; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-true.html new file mode 100644 index 00000000000..1b9c610fcc6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role alert; inherited supported state or property "aria-expanded" value + of "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-undefined.html new file mode 100644 index 00000000000..d6f9d8d7931 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alert-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role alert; inherited supported state or property "aria-expanded" value + of "undefined" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-false.html new file mode 100644 index 00000000000..d8799706457 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role alertdialog; inherited supported state or property "aria-expanded" + value of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-true.html new file mode 100644 index 00000000000..71f7c1b48b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role alertdialog; inherited supported state or property "aria-expanded" + value of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-undefined.html new file mode 100644 index 00000000000..048ac59a789 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/alertdialog-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role alertdialog; inherited supported state or property "aria-expanded" + value of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-false.html new file mode 100644 index 00000000000..8b12de5aabe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role application; inherited supported state or property "aria-expanded" + value of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-true.html new file mode 100644 index 00000000000..0b7a2545f5c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role application; inherited supported state or property "aria-expanded" + value of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-undefined.html new file mode 100644 index 00000000000..04c44727dc9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/application-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role application; inherited supported state or property "aria-expanded" + value of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-false.html new file mode 100644 index 00000000000..6de04bcc874 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role article; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-true.html new file mode 100644 index 00000000000..bf6bea82659 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role article; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-undefined.html new file mode 100644 index 00000000000..804330711c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/article-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role article; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-false.html new file mode 100644 index 00000000000..ddb241c4847 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role banner; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-true.html new file mode 100644 index 00000000000..433e68b2e62 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role banner; inherited supported state or property "aria-expanded" value + of "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-undefined.html new file mode 100644 index 00000000000..ed7605d79c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/banner-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role banner; inherited supported state or property "aria-expanded" value + of "undefined" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-false.html new file mode 100644 index 00000000000..4376474659d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-false.html @@ -0,0 +1,33 @@ + + + + + <div> with role columnheader; inherited supported state or property "aria-expanded" + value of "false" + + + +
                                                        +
                                                        + + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-true.html new file mode 100644 index 00000000000..521b93520e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-true.html @@ -0,0 +1,33 @@ + + + + + <div> with role columnheader; inherited supported state or property "aria-expanded" + value of "true" + + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-undefined.html new file mode 100644 index 00000000000..295c4eb5f7b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-expanded-undefined.html @@ -0,0 +1,33 @@ + + + + + <div> with role columnheader; inherited supported state or property "aria-expanded" + value of "undefined" + + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-readonly-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-readonly-false.html new file mode 100644 index 00000000000..6c32d6ae543 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-readonly-false.html @@ -0,0 +1,33 @@ + + + + + <div> with role columnheader; inherited supported state or property "aria-readonly" + value of "false" + + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-readonly-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-readonly-true.html new file mode 100644 index 00000000000..6ce21d3137f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-readonly-true.html @@ -0,0 +1,33 @@ + + + + + <div> with role columnheader; inherited supported state or property "aria-readonly" + value of "true" + + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-required-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-required-false.html new file mode 100644 index 00000000000..8c8065963be --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-required-false.html @@ -0,0 +1,33 @@ + + + + + <div> with role columnheader; inherited supported state or property "aria-required" + value of "false" + + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-required-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-required-true.html new file mode 100644 index 00000000000..644b2756d46 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-required-true.html @@ -0,0 +1,33 @@ + + + + + <div> with role columnheader; inherited supported state or property "aria-required" + value of "true" + + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-false.html new file mode 100644 index 00000000000..7a4ab45b106 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-false.html @@ -0,0 +1,33 @@ + + + + + <div> with role columnheader; inherited supported state or property "aria-selected" + value of "false" + + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-true.html new file mode 100644 index 00000000000..a16d514810c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-true.html @@ -0,0 +1,33 @@ + + + + + <div> with role columnheader; inherited supported state or property "aria-selected" + value of "true" + + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-undefined.html new file mode 100644 index 00000000000..4416bd662f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/columnheader-aria-selected-undefined.html @@ -0,0 +1,33 @@ + + + + + <div> with role columnheader; inherited supported state or property "aria-selected" + value of "undefined" + + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-activedescendant-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-activedescendant-obj1.html new file mode 100644 index 00000000000..4e8e3fd583a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-activedescendant-obj1.html @@ -0,0 +1,18 @@ + + + + + <div> with role combobox; inherited supported state or property "aria-activedescendant" + value of "obj1" + + + +
                                                        +
                                                        +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-false.html new file mode 100644 index 00000000000..76943aefa98 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role combobox; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-true.html new file mode 100644 index 00000000000..7d29edd7a3f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role combobox; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-undefined.html new file mode 100644 index 00000000000..46b28ef3a38 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/combobox-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role combobox; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-false.html new file mode 100644 index 00000000000..ae3dcf35f32 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role complementary; inherited supported state or property "aria-expanded" + value of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-true.html new file mode 100644 index 00000000000..d3b0d83b3e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role complementary; inherited supported state or property "aria-expanded" + value of "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-undefined.html new file mode 100644 index 00000000000..a7952c25434 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/complementary-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role complementary; inherited supported state or property "aria-expanded" + value of "undefined" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-false.html new file mode 100644 index 00000000000..de995a9225d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role contentinfo; inherited supported state or property "aria-expanded" + value of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-true.html new file mode 100644 index 00000000000..846f7295735 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role contentinfo; inherited supported state or property "aria-expanded" + value of "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-undefined.html new file mode 100644 index 00000000000..0a924c67172 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/contentinfo-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role contentinfo; inherited supported state or property "aria-expanded" + value of "undefined" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-false.html new file mode 100644 index 00000000000..7fce65cff87 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role definition; inherited supported state or property "aria-expanded" + value of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-true.html new file mode 100644 index 00000000000..b2ea2ce8ae4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role definition; inherited supported state or property "aria-expanded" + value of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-undefined.html new file mode 100644 index 00000000000..bae456aa734 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/definition-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role definition; inherited supported state or property "aria-expanded" + value of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-false.html new file mode 100644 index 00000000000..e4c26f401e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role dialog; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-true.html new file mode 100644 index 00000000000..2095b9cd99c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role dialog; inherited supported state or property "aria-expanded" value + of "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-undefined.html new file mode 100644 index 00000000000..1df3702ba46 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/dialog-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role dialog; inherited supported state or property "aria-expanded" value + of "undefined" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-false.html new file mode 100644 index 00000000000..ee8ae62340d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role directory; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-true.html new file mode 100644 index 00000000000..8ef8ae9fb7a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role directory; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-undefined.html new file mode 100644 index 00000000000..4be1ec3f5f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/directory-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role directory; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-false.html new file mode 100644 index 00000000000..ce533b2956f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role form; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-true.html new file mode 100644 index 00000000000..01d98d4a861 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role form; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-undefined.html new file mode 100644 index 00000000000..da9fb7bd907 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/form-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role form; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-activedescendant-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-activedescendant-obj1.html new file mode 100644 index 00000000000..71268f39e8f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-activedescendant-obj1.html @@ -0,0 +1,17 @@ + + + + + <div> with role grid; inherited supported state or property "aria-activedescendant" + value of "obj1" + + + +
                                                        +
                                                        + row1-cell1 + row1-cell2 +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-false.html new file mode 100644 index 00000000000..f1c958008c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role grid; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-true.html new file mode 100644 index 00000000000..86223ae165b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role grid; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-undefined.html new file mode 100644 index 00000000000..aeb3693c52b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/grid-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role grid; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/gridcell-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/gridcell-aria-expanded-false.html new file mode 100644 index 00000000000..f4955926f5a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/gridcell-aria-expanded-false.html @@ -0,0 +1,18 @@ + + + + + <div> with role gridcell; inherited supported state or property "aria-expanded" value + of "false" + + + +
                                                        +
                                                        + +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/gridcell-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/gridcell-aria-expanded-undefined.html new file mode 100644 index 00000000000..f68e0436996 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/gridcell-aria-expanded-undefined.html @@ -0,0 +1,18 @@ + + + + + <div> with role gridcell; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-false.html new file mode 100644 index 00000000000..79a3d6a38dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role group; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-true.html new file mode 100644 index 00000000000..6d18a366ed3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role group; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-undefined.html new file mode 100644 index 00000000000..4a179c532ae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/group-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role group; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-false.html new file mode 100644 index 00000000000..79976851548 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role heading; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-true.html new file mode 100644 index 00000000000..d1c94683162 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role heading; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-undefined.html new file mode 100644 index 00000000000..2de29fc45d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/heading-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role heading; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-false.html new file mode 100644 index 00000000000..835d6bbb3b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role img; inherited supported state or property "aria-expanded" value of + "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-true.html new file mode 100644 index 00000000000..46ade1d9ba5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role img; inherited supported state or property "aria-expanded" value of + "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-undefined.html new file mode 100644 index 00000000000..8d4f17be3fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/img-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role img; inherited supported state or property "aria-expanded" value of + "undefined" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-false.html new file mode 100644 index 00000000000..d510eb15645 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-false.html @@ -0,0 +1,15 @@ + + + + + <div> with role list; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-true.html new file mode 100644 index 00000000000..37d15ab667f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-true.html @@ -0,0 +1,15 @@ + + + + + <div> with role list; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content +
                                                        obj1
                                                        +
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-undefined.html new file mode 100644 index 00000000000..e1679660c2b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/list-aria-expanded-undefined.html @@ -0,0 +1,15 @@ + + + + + <div> with role list; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content +
                                                        obj1
                                                        +
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-activedescendant-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-activedescendant-obj1.html new file mode 100644 index 00000000000..f28e43e6f4b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-activedescendant-obj1.html @@ -0,0 +1,15 @@ + + + + + <div> with role listbox; inherited supported state or property "aria-activedescendant" + value of "obj1" + + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-false.html new file mode 100644 index 00000000000..2bd754a3b86 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role listbox; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-true.html new file mode 100644 index 00000000000..504c7371f9c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role listbox; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-undefined.html new file mode 100644 index 00000000000..69055a23707 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/listbox-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role listbox; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-false.html new file mode 100644 index 00000000000..fa242c39cb2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role log; inherited supported state or property "aria-expanded" value of + "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-true.html new file mode 100644 index 00000000000..072291e90c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role log; inherited supported state or property "aria-expanded" value of + "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-undefined.html new file mode 100644 index 00000000000..b19c2d6d0cf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/log-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role log; inherited supported state or property "aria-expanded" value of + "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-false.html new file mode 100644 index 00000000000..16cf8f109a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role main; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-true.html new file mode 100644 index 00000000000..d3687cb50fd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role main; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-undefined.html new file mode 100644 index 00000000000..c08f1048818 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/main-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role main; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-false.html new file mode 100644 index 00000000000..18d2f9ee850 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role marquee; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-true.html new file mode 100644 index 00000000000..aed711775e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role marquee; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-undefined.html new file mode 100644 index 00000000000..9a164bea71d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/marquee-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role marquee; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-false.html new file mode 100644 index 00000000000..c038fabadc2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role math; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-true.html new file mode 100644 index 00000000000..831c095602b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role math; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-undefined.html new file mode 100644 index 00000000000..3bd0b7b025e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/math-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role math; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-activedescendant-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-activedescendant-obj1.html new file mode 100644 index 00000000000..06e5fc7aeb7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-activedescendant-obj1.html @@ -0,0 +1,15 @@ + + + + + <div> with role menu; inherited supported state or property "aria-activedescendant" + value of "obj1" + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-false.html new file mode 100644 index 00000000000..c96d9e2ac58 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role menu; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-true.html new file mode 100644 index 00000000000..14361d01c1b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role menu; inherited supported state or property "aria-expanded" value + of "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-undefined.html new file mode 100644 index 00000000000..7a82e92b13d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menu-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role menu; inherited supported state or property "aria-expanded" value + of "undefined" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-activedescendant-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-activedescendant-obj1.html new file mode 100644 index 00000000000..e761a50a4bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-activedescendant-obj1.html @@ -0,0 +1,15 @@ + + + + + <div> with role menubar; inherited supported state or property "aria-activedescendant" + value of "obj1" + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-false.html new file mode 100644 index 00000000000..4ab7c9590ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role menubar; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-true.html new file mode 100644 index 00000000000..f7b26995fa4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role menubar; inherited supported state or property "aria-expanded" value + of "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-undefined.html new file mode 100644 index 00000000000..431f843ba4a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menubar-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role menubar; inherited supported state or property "aria-expanded" value + of "undefined" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-false.html new file mode 100644 index 00000000000..5691a55c045 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-false.html @@ -0,0 +1,16 @@ + + + + + <div> with role menuitemradio; inherited supported state or property "aria-checked" + value of "false" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-mixed.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-mixed.html new file mode 100644 index 00000000000..d517d22a3e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-mixed.html @@ -0,0 +1,16 @@ + + + + + <div> with role menuitemradio; inherited supported state or property "aria-checked" + value of "mixed" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-true.html new file mode 100644 index 00000000000..0d364f8ccb0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-true.html @@ -0,0 +1,16 @@ + + + + + <div> with role menuitemradio; inherited supported state or property "aria-checked" + value of "true" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-undefined.html new file mode 100644 index 00000000000..bb6aa7854f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/menuitemradio-aria-checked-undefined.html @@ -0,0 +1,16 @@ + + + + + <div> with role menuitemradio; inherited supported state or property "aria-checked" + value of "undefined" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-false.html new file mode 100644 index 00000000000..5769da1789e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role navigation; inherited supported state or property "aria-expanded" + value of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-true.html new file mode 100644 index 00000000000..01594dc77e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role navigation; inherited supported state or property "aria-expanded" + value of "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-undefined.html new file mode 100644 index 00000000000..9e6f4c630f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/navigation-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role navigation; inherited supported state or property "aria-expanded" + value of "undefined" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-false.html new file mode 100644 index 00000000000..02065e732cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role note; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-true.html new file mode 100644 index 00000000000..d1e0f8c5956 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role note; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-undefined.html new file mode 100644 index 00000000000..1e902fb253d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/note-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role note; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuemax-1.1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuemax-1.1.html new file mode 100644 index 00000000000..2179446478c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuemax-1.1.html @@ -0,0 +1,14 @@ + + + + + <div> with role progressbar; inherited supported state or property "aria-valuemax" + value of "1.1" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuemin-1.1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuemin-1.1.html new file mode 100644 index 00000000000..4fca777ec9e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuemin-1.1.html @@ -0,0 +1,14 @@ + + + + + <div> with role progressbar; inherited supported state or property "aria-valuemin" + value of "1.1" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuenow-1.1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuenow-1.1.html new file mode 100644 index 00000000000..751d47ee337 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuenow-1.1.html @@ -0,0 +1,14 @@ + + + + + <div> with role progressbar; inherited supported state or property "aria-valuenow" + value of "1.1" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuetext-Test-string-value.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuetext-Test-string-value.html new file mode 100644 index 00000000000..bbd0e1fd964 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/progressbar-aria-valuetext-Test-string-value.html @@ -0,0 +1,14 @@ + + + + + <div> with role progressbar; inherited supported state or property "aria-valuetext" + value of "Test string value" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-false.html new file mode 100644 index 00000000000..b00d45c0980 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role radio; inherited supported state or property "aria-checked" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-mixed.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-mixed.html new file mode 100644 index 00000000000..8a958373063 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-mixed.html @@ -0,0 +1,14 @@ + + + + + <div> with role radio; inherited supported state or property "aria-checked" value + of "mixed" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-true.html new file mode 100644 index 00000000000..61e816268a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radio-aria-checked-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role radio; inherited supported state or property "aria-checked" value + of "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-false.html new file mode 100644 index 00000000000..9d5680f32c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role radiogroup; inherited supported state or property "aria-expanded" + value of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-true.html new file mode 100644 index 00000000000..f6f9e137973 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role radiogroup; inherited supported state or property "aria-expanded" + value of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-undefined.html new file mode 100644 index 00000000000..0532ea592eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/radiogroup-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role radiogroup; inherited supported state or property "aria-expanded" + value of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-false.html new file mode 100644 index 00000000000..00b6052c2e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role region; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-true.html new file mode 100644 index 00000000000..2fdd56f4b76 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role region; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-undefined.html new file mode 100644 index 00000000000..22bb8379902 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/region-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role region; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/row-aria-activedescendant-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/row-aria-activedescendant-obj1.html new file mode 100644 index 00000000000..a24595a1049 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/row-aria-activedescendant-obj1.html @@ -0,0 +1,17 @@ + + + + + <div> with role row; inherited supported state or property "aria-activedescendant" + value of "obj1" + + + +
                                                        +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowgroup-aria-activedescendant-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowgroup-aria-activedescendant-obj1.html new file mode 100644 index 00000000000..b0ff8999302 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowgroup-aria-activedescendant-obj1.html @@ -0,0 +1,19 @@ + + + + + <div> with role rowgroup; inherited supported state or property "aria-activedescendant" + value of "obj1" + + + +
                                                        +
                                                        +
                                                        +
                                                        r1c1
                                                        +
                                                        r1c2
                                                        +
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-false.html new file mode 100644 index 00000000000..710d779f519 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-false.html @@ -0,0 +1,23 @@ + + + + + <div> with role rowheader; inherited supported state or property "aria-expanded" value + of "false" + + + +
                                                        +
                                                        + + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-true.html new file mode 100644 index 00000000000..ac0e55a7464 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-true.html @@ -0,0 +1,23 @@ + + + + + <div> with role rowheader; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-undefined.html new file mode 100644 index 00000000000..13d7bfc6ab4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-expanded-undefined.html @@ -0,0 +1,23 @@ + + + + + <div> with role rowheader; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-readonly-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-readonly-false.html new file mode 100644 index 00000000000..009a72d766a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-readonly-false.html @@ -0,0 +1,23 @@ + + + + + <div> with role rowheader; inherited supported state or property "aria-readonly" value + of "false" + + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-readonly-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-readonly-true.html new file mode 100644 index 00000000000..3061cc5f9e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-readonly-true.html @@ -0,0 +1,23 @@ + + + + + <div> with role rowheader; inherited supported state or property "aria-readonly" value + of "true" + + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-required-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-required-false.html new file mode 100644 index 00000000000..cdcba5973e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-required-false.html @@ -0,0 +1,23 @@ + + + + + <div> with role rowheader; inherited supported state or property "aria-required" value + of "false" + + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-required-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-required-true.html new file mode 100644 index 00000000000..7ad7b8e99a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-required-true.html @@ -0,0 +1,23 @@ + + + + + <div> with role rowheader; inherited supported state or property "aria-required" value + of "true" + + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-false.html new file mode 100644 index 00000000000..17c23801d5d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-false.html @@ -0,0 +1,23 @@ + + + + + <div> with role rowheader; inherited supported state or property "aria-selected" value + of "false" + + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-true.html new file mode 100644 index 00000000000..03e6d47980d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-true.html @@ -0,0 +1,23 @@ + + + + + <div> with role rowheader; inherited supported state or property "aria-selected" value + of "true" + + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-undefined.html new file mode 100644 index 00000000000..439abbb05a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/rowheader-aria-selected-undefined.html @@ -0,0 +1,23 @@ + + + + + <div> with role rowheader; inherited supported state or property "aria-selected" value + of "undefined" + + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-false.html new file mode 100644 index 00000000000..2bcae837fd7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role search; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-true.html new file mode 100644 index 00000000000..16885b8d15a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role search; inherited supported state or property "aria-expanded" value + of "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-undefined.html new file mode 100644 index 00000000000..0e39ca5cf69 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/search-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role search; inherited supported state or property "aria-expanded" value + of "undefined" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-false.html new file mode 100644 index 00000000000..7dcf0f9acf7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role status; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-true.html new file mode 100644 index 00000000000..05314e41f4b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role status; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-undefined.html new file mode 100644 index 00000000000..18ffebc08af --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/status-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role status; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-false.html new file mode 100644 index 00000000000..c5a83f98a34 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-false.html @@ -0,0 +1,16 @@ + + + + + <div> with role tab; inherited supported state or property "aria-expanded" value of + "false" + + + +
                                                        + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-true.html new file mode 100644 index 00000000000..43fa4f19c8c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-true.html @@ -0,0 +1,16 @@ + + + + + <div> with role tab; inherited supported state or property "aria-expanded" value of + "true" + + + +
                                                        + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-undefined.html new file mode 100644 index 00000000000..abd5917a311 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tab-aria-expanded-undefined.html @@ -0,0 +1,16 @@ + + + + + <div> with role tab; inherited supported state or property "aria-expanded" value of + "undefined" + + + +
                                                        + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-activedescendant-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-activedescendant-obj1.html new file mode 100644 index 00000000000..ffbe638b073 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-activedescendant-obj1.html @@ -0,0 +1,16 @@ + + + + + <div> with role tablist; inherited supported state or property "aria-activedescendant" + value of "obj1" + + + +
                                                        + +
                                                        + +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-false.html new file mode 100644 index 00000000000..0966d5ba6e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-false.html @@ -0,0 +1,15 @@ + + + + + <div> with role tablist; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-true.html new file mode 100644 index 00000000000..7ae72f3a6c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-true.html @@ -0,0 +1,15 @@ + + + + + <div> with role tablist; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        + +
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-undefined.html new file mode 100644 index 00000000000..24fb428df21 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tablist-aria-expanded-undefined.html @@ -0,0 +1,15 @@ + + + + + <div> with role tablist; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        + +
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-false.html new file mode 100644 index 00000000000..b431a4a6b56 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-false.html @@ -0,0 +1,16 @@ + + + + + <div> with role tabpanel; inherited supported state or property "aria-expanded" value + of "false" + + + +
                                                        + + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-true.html new file mode 100644 index 00000000000..dd718b0e703 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-true.html @@ -0,0 +1,16 @@ + + + + + <div> with role tabpanel; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        + + +
                                                        +
                                                        Placeholder content
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-undefined.html new file mode 100644 index 00000000000..b87facc44a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tabpanel-aria-expanded-undefined.html @@ -0,0 +1,16 @@ + + + + + <div> with role tabpanel; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        + + +
                                                        +
                                                        Placeholder content
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-false.html new file mode 100644 index 00000000000..c0f20820825 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role timer; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-true.html new file mode 100644 index 00000000000..40d571748a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role timer; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-undefined.html new file mode 100644 index 00000000000..90260acbcd3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/timer-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role timer; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-activedescendant-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-activedescendant-obj1.html new file mode 100644 index 00000000000..ccc0c9f8480 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-activedescendant-obj1.html @@ -0,0 +1,15 @@ + + + + + <div> with role toolbar; inherited supported state or property "aria-activedescendant" + value of "obj1" + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-false.html new file mode 100644 index 00000000000..aff3beeb1b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-false.html @@ -0,0 +1,15 @@ + + + + + <div> with role toolbar; inherited supported state or property "aria-expanded" value + of "false" + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-true.html new file mode 100644 index 00000000000..fa949d2bf39 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-true.html @@ -0,0 +1,15 @@ + + + + + <div> with role toolbar; inherited supported state or property "aria-expanded" value + of "true" + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-undefined.html new file mode 100644 index 00000000000..f71027fbeeb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/toolbar-aria-expanded-undefined.html @@ -0,0 +1,15 @@ + + + + + <div> with role toolbar; inherited supported state or property "aria-expanded" value + of "undefined" + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-false.html new file mode 100644 index 00000000000..f867da4269c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role tooltip; inherited supported state or property "aria-expanded" value + of "false" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-true.html new file mode 100644 index 00000000000..1a52619fe21 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role tooltip; inherited supported state or property "aria-expanded" value + of "true" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-undefined.html new file mode 100644 index 00000000000..8b24ad9ed87 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tooltip-aria-expanded-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role tooltip; inherited supported state or property "aria-expanded" value + of "undefined" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-activedescendant-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-activedescendant-obj1.html new file mode 100644 index 00000000000..c2d0d833915 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-activedescendant-obj1.html @@ -0,0 +1,15 @@ + + + + + <div> with role tree; inherited supported state or property "aria-activedescendant" + value of "obj1" + + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-false.html new file mode 100644 index 00000000000..c13f331fd9d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-false.html @@ -0,0 +1,15 @@ + + + + + <div> with role tree; inherited supported state or property "aria-expanded" value + of "false" + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-true.html new file mode 100644 index 00000000000..a2545ef32c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-true.html @@ -0,0 +1,15 @@ + + + + + <div> with role tree; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-undefined.html new file mode 100644 index 00000000000..5379f703957 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/tree-aria-expanded-undefined.html @@ -0,0 +1,15 @@ + + + + + <div> with role tree; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-activedescendant-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-activedescendant-obj1.html new file mode 100644 index 00000000000..bce72b08a0d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-activedescendant-obj1.html @@ -0,0 +1,21 @@ + + + + + <div> with role treegrid; inherited supported state or property "aria-activedescendant" + value of "obj1" + + + +
                                                        +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        +
                                                        obj3
                                                        +
                                                        obj4
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-false.html new file mode 100644 index 00000000000..7b5d78c98e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-false.html @@ -0,0 +1,21 @@ + + + + + <div> with role treegrid; inherited supported state or property "aria-expanded" value + of "false" + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-true.html new file mode 100644 index 00000000000..c06b957a01c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-true.html @@ -0,0 +1,21 @@ + + + + + <div> with role treegrid; inherited supported state or property "aria-expanded" value + of "true" + + + +
                                                        +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        +
                                                        obj3
                                                        +
                                                        obj4
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-undefined.html new file mode 100644 index 00000000000..ef2232bf895 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-expanded-undefined.html @@ -0,0 +1,21 @@ + + + + + <div> with role treegrid; inherited supported state or property "aria-expanded" value + of "undefined" + + + +
                                                        +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        +
                                                        obj3
                                                        +
                                                        obj4
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-level-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-level-1.html new file mode 100644 index 00000000000..1a3a3ef0c67 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-level-1.html @@ -0,0 +1,18 @@ + + + + + <div> with role treegrid; inherited supported state or property "aria-level" value + of "1" + + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-multiselectable-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-multiselectable-false.html new file mode 100644 index 00000000000..ac6b7662de5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-multiselectable-false.html @@ -0,0 +1,18 @@ + + + + + <div> with role treegrid; inherited supported state or property "aria-multiselectable" + value of "false" + + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-multiselectable-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-multiselectable-true.html new file mode 100644 index 00000000000..ee7696ea5f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-multiselectable-true.html @@ -0,0 +1,18 @@ + + + + + <div> with role treegrid; inherited supported state or property "aria-multiselectable" + value of "true" + + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-readonly-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-readonly-false.html new file mode 100644 index 00000000000..a8f5e6e86d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-readonly-false.html @@ -0,0 +1,18 @@ + + + + + <div> with role treegrid; inherited supported state or property "aria-readonly" value + of "false" + + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-readonly-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-readonly-true.html new file mode 100644 index 00000000000..1ab9c58433e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-readonly-true.html @@ -0,0 +1,18 @@ + + + + + <div> with role treegrid; inherited supported state or property "aria-readonly" value + of "true" + + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-required-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-required-false.html new file mode 100644 index 00000000000..702655bd458 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-required-false.html @@ -0,0 +1,18 @@ + + + + + <div> with role treegrid; inherited supported state or property "aria-required" value + of "false" + + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-required-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-required-true.html new file mode 100644 index 00000000000..09c0bb6d9f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treegrid-aria-required-true.html @@ -0,0 +1,18 @@ + + + + + <div> with role treegrid; inherited supported state or property "aria-required" value + of "true" + + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-false.html new file mode 100644 index 00000000000..592cd974e90 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role treeitem; inherited supported state or property "aria-checked" value + of "false" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-mixed.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-mixed.html new file mode 100644 index 00000000000..6a29dfff751 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-mixed.html @@ -0,0 +1,14 @@ + + + + + <div> with role treeitem; inherited supported state or property "aria-checked" value + of "mixed" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-true.html new file mode 100644 index 00000000000..3745c865873 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role treeitem; inherited supported state or property "aria-checked" value + of "true" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-undefined.html new file mode 100644 index 00000000000..ede64afbaa5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-checked-undefined.html @@ -0,0 +1,14 @@ + + + + + <div> with role treeitem; inherited supported state or property "aria-checked" value + of "undefined" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-level-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-level-1.html new file mode 100644 index 00000000000..adc7b23ccc0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-level-1.html @@ -0,0 +1,16 @@ + + + + + <div> with role treeitem; inherited supported state or property "aria-level" value + of "1" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-posinset-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-posinset-1.html new file mode 100644 index 00000000000..feb152c5a98 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-posinset-1.html @@ -0,0 +1,16 @@ + + + + + <div> with role treeitem; inherited supported state or property "aria-posinset" value + of "1" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-false.html new file mode 100644 index 00000000000..bce9733b762 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-false.html @@ -0,0 +1,16 @@ + + + + + <div> with role treeitem; inherited supported state or property "aria-selected" value + of "false" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-true.html new file mode 100644 index 00000000000..11e529a464b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-true.html @@ -0,0 +1,16 @@ + + + + + <div> with role treeitem; inherited supported state or property "aria-selected" value + of "true" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-undefined.html new file mode 100644 index 00000000000..d24014b0a48 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-selected-undefined.html @@ -0,0 +1,16 @@ + + + + + <div> with role treeitem; inherited supported state or property "aria-selected" value + of "undefined" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-setsize-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-setsize-1.html new file mode 100644 index 00000000000..57005077d1b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported-inherited/treeitem-aria-setsize-1.html @@ -0,0 +1,16 @@ + + + + + <div> with role treeitem; inherited supported state or property "aria-setsize" value + of "1" + + + +
                                                        +
                                                        Placeholder content
                                                        +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-false.html new file mode 100644 index 00000000000..81e7807e179 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role button; supported state or property "aria-expanded" value of "false" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-true.html new file mode 100644 index 00000000000..6fd1ed8b6b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role button; supported state or property "aria-expanded" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-undefined.html new file mode 100644 index 00000000000..b51b006b977 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-expanded-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with role button; supported state or property "aria-expanded" value of "undefined" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-false.html new file mode 100644 index 00000000000..c7aeae0a0a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role button; supported state or property "aria-pressed" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-mixed.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-mixed.html new file mode 100644 index 00000000000..510846d6390 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-mixed.html @@ -0,0 +1,12 @@ + + + + + <div> with role button; supported state or property "aria-pressed" value of "mixed" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-true.html new file mode 100644 index 00000000000..f99a0e1f5e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role button; supported state or property "aria-pressed" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-undefined.html new file mode 100644 index 00000000000..8591e12f073 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-button-aria-pressed-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with role button; supported state or property "aria-pressed" value of "undefined" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-ascending.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-ascending.html new file mode 100644 index 00000000000..53fc1447962 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-ascending.html @@ -0,0 +1,31 @@ + + + + + <div> with role columnheader; supported state or property "aria-sort" value of "ascending" + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-descending.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-descending.html new file mode 100644 index 00000000000..ebffc1be7c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-descending.html @@ -0,0 +1,31 @@ + + + + + <div> with role columnheader; supported state or property "aria-sort" value of "descending" + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-none.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-none.html new file mode 100644 index 00000000000..fce4f994d54 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-none.html @@ -0,0 +1,31 @@ + + + + + <div> with role columnheader; supported state or property "aria-sort" value of "none" + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-other.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-other.html new file mode 100644 index 00000000000..a92ba0bfc3b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-columnheader-aria-sort-other.html @@ -0,0 +1,31 @@ + + + + + <div> with role columnheader; supported state or property "aria-sort" value of "other" + + +
                                                        +
                                                        + Placeholder content + header 2 + header 3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + obj1 + obj2 + obj3 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-both.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-both.html new file mode 100644 index 00000000000..93df0ede040 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-both.html @@ -0,0 +1,17 @@ + + + + + <div> with role combobox; supported state or property "aria-autocomplete" value of + "both" + + + + +
                                                          +
                                                        • Zebra
                                                        • +
                                                        • Zoom
                                                        • +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-inline.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-inline.html new file mode 100644 index 00000000000..cc202875c17 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-inline.html @@ -0,0 +1,17 @@ + + + + + <div> with role combobox; supported state or property "aria-autocomplete" value of + "inline" + + + + +
                                                          +
                                                        • Zebra
                                                        • +
                                                        • Zoom
                                                        • +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-list.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-list.html new file mode 100644 index 00000000000..060bf24c7ad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-list.html @@ -0,0 +1,17 @@ + + + + + <div> with role combobox; supported state or property "aria-autocomplete" value of + "list" + + + + +
                                                          +
                                                        • Zebra
                                                        • +
                                                        • Zoom
                                                        • +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-none.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-none.html new file mode 100644 index 00000000000..33be42e05f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-combobox-aria-autocomplete-none.html @@ -0,0 +1,17 @@ + + + + + <div> with role combobox; supported state or property "aria-autocomplete" value of + "none" + + + + +
                                                          +
                                                        • Zebra
                                                        • +
                                                        • Zoom
                                                        • +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-false.html new file mode 100644 index 00000000000..98703bd1e3e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role document; supported state or property "aria-expanded" value of "false" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-true.html new file mode 100644 index 00000000000..b1ebb6b404b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role document; supported state or property "aria-expanded" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-undefined.html new file mode 100644 index 00000000000..320a98c8241 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-document-aria-expanded-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with role document; supported state or property "aria-expanded" value of "undefined" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-multiselectable-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-multiselectable-false.html new file mode 100644 index 00000000000..e5f6b6342a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-multiselectable-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role grid; supported state or property "aria-multiselectable" value of + "false" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-multiselectable-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-multiselectable-true.html new file mode 100644 index 00000000000..2cba1e0d877 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-multiselectable-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role grid; supported state or property "aria-multiselectable" value of + "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-readonly-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-readonly-false.html new file mode 100644 index 00000000000..9793dfa0690 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-readonly-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role grid; supported state or property "aria-readonly" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-readonly-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-readonly-true.html new file mode 100644 index 00000000000..ff2e3b82dd3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-grid-aria-readonly-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role grid; supported state or property "aria-readonly" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-readonly-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-readonly-false.html new file mode 100644 index 00000000000..682bd32cce8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-readonly-false.html @@ -0,0 +1,16 @@ + + + + + <div> with role gridcell; supported state or property "aria-readonly" value of "false" + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-readonly-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-readonly-true.html new file mode 100644 index 00000000000..4d795cd2b47 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-readonly-true.html @@ -0,0 +1,16 @@ + + + + + <div> with role gridcell; supported state or property "aria-readonly" value of "true" + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-required-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-required-false.html new file mode 100644 index 00000000000..7fe356c7c9f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-required-false.html @@ -0,0 +1,16 @@ + + + + + <div> with role gridcell; supported state or property "aria-required" value of "false" + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-required-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-required-true.html new file mode 100644 index 00000000000..c3de53e7135 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-required-true.html @@ -0,0 +1,16 @@ + + + + + <div> with role gridcell; supported state or property "aria-required" value of "true" + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-false.html new file mode 100644 index 00000000000..339b0564e92 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-false.html @@ -0,0 +1,16 @@ + + + + + <div> with role gridcell; supported state or property "aria-selected" value of "false" + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-true.html new file mode 100644 index 00000000000..8a52fab7aab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-true.html @@ -0,0 +1,16 @@ + + + + + <div> with role gridcell; supported state or property "aria-selected" value of "true" + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-undefined.html new file mode 100644 index 00000000000..d276b27c2cd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-gridcell-aria-selected-undefined.html @@ -0,0 +1,16 @@ + + + + + <div> with role gridcell; supported state or property "aria-selected" value of "undefined" + + +
                                                        +
                                                        +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-heading-aria-level-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-heading-aria-level-1.html new file mode 100644 index 00000000000..a57d5d59f3d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-heading-aria-level-1.html @@ -0,0 +1,12 @@ + + + + + <div> with role heading; supported state or property "aria-level" value of "1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-false.html new file mode 100644 index 00000000000..a372b6e4420 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role link; supported state or property "aria-expanded" value of "false" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-true.html new file mode 100644 index 00000000000..0dcaa32a5e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role link; supported state or property "aria-expanded" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-undefined.html new file mode 100644 index 00000000000..cd8e03704fa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-link-aria-expanded-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with role link; supported state or property "aria-expanded" value of "undefined" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-multiselectable-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-multiselectable-false.html new file mode 100644 index 00000000000..d7c66a6e3ec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-multiselectable-false.html @@ -0,0 +1,14 @@ + + + + + <div> with role listbox; supported state or property "aria-multiselectable" value + of "false" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-multiselectable-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-multiselectable-true.html new file mode 100644 index 00000000000..e0378cecbe0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-multiselectable-true.html @@ -0,0 +1,14 @@ + + + + + <div> with role listbox; supported state or property "aria-multiselectable" value + of "true" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-required-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-required-false.html new file mode 100644 index 00000000000..18d6da189db --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-required-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role listbox; supported state or property "aria-required" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-required-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-required-true.html new file mode 100644 index 00000000000..707442f0ed2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listbox-aria-required-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role listbox; supported state or property "aria-required" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-level-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-level-1.html new file mode 100644 index 00000000000..fd6146a495e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-level-1.html @@ -0,0 +1,12 @@ + + + + + <div> with role listitem; supported state or property "aria-level" value of "1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-posinset-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-posinset-1.html new file mode 100644 index 00000000000..3cab9141ae0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-posinset-1.html @@ -0,0 +1,12 @@ + + + + + <div> with role listitem; supported state or property "aria-posinset" value of "1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-setsize-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-setsize-1.html new file mode 100644 index 00000000000..4ef2da2d38f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-listitem-aria-setsize-1.html @@ -0,0 +1,12 @@ + + + + + <div> with role listitem; supported state or property "aria-setsize" value of "1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-false.html new file mode 100644 index 00000000000..2bff3b29c20 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role option; supported state or property "aria-checked" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-mixed.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-mixed.html new file mode 100644 index 00000000000..33fee796a88 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-mixed.html @@ -0,0 +1,12 @@ + + + + + <div> with role option; supported state or property "aria-checked" value of "mixed" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-true.html new file mode 100644 index 00000000000..49c82099522 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role option; supported state or property "aria-checked" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-undefined.html new file mode 100644 index 00000000000..e372ff93aee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-checked-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with role option; supported state or property "aria-checked" value of "undefined" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-posinset-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-posinset-1.html new file mode 100644 index 00000000000..7fbcc50427a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-posinset-1.html @@ -0,0 +1,12 @@ + + + + + <div> with role option; supported state or property "aria-posinset" value of "1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-false.html new file mode 100644 index 00000000000..56db6c2ae56 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role option; supported state or property "aria-selected" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-true.html new file mode 100644 index 00000000000..eaf138f2efa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role option; supported state or property "aria-selected" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj1
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-undefined.html new file mode 100644 index 00000000000..43489a0d2b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-selected-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with role option; supported state or property "aria-selected" value of "undefined" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-setsize-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-setsize-1.html new file mode 100644 index 00000000000..6a8b379896d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-option-aria-setsize-1.html @@ -0,0 +1,12 @@ + + + + + <div> with role option; supported state or property "aria-setsize" value of "1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-radiogroup-aria-required-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-radiogroup-aria-required-false.html new file mode 100644 index 00000000000..fe956b50b27 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-radiogroup-aria-required-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role radiogroup; supported state or property "aria-required" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-radiogroup-aria-required-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-radiogroup-aria-required-true.html new file mode 100644 index 00000000000..6bf6b11beff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-radiogroup-aria-required-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role radiogroup; supported state or property "aria-required" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-level-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-level-1.html new file mode 100644 index 00000000000..9c1ea0b174c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-level-1.html @@ -0,0 +1,12 @@ + + + + + <div> with role row; supported state or property "aria-level" value of "1" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-false.html new file mode 100644 index 00000000000..832fc16a1e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role row; supported state or property "aria-selected" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-true.html new file mode 100644 index 00000000000..2977712b830 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role row; supported state or property "aria-selected" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-undefined.html new file mode 100644 index 00000000000..cc4f6a828a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-row-aria-selected-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with role row; supported state or property "aria-selected" value of "undefined" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-ascending.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-ascending.html new file mode 100644 index 00000000000..79f3316a9e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-ascending.html @@ -0,0 +1,21 @@ + + + + + <div> with role rowheader; supported state or property "aria-sort" value of "ascending" + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-descending.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-descending.html new file mode 100644 index 00000000000..beca847b75b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-descending.html @@ -0,0 +1,21 @@ + + + + + <div> with role rowheader; supported state or property "aria-sort" value of "descending" + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-none.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-none.html new file mode 100644 index 00000000000..a1d466f6529 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-none.html @@ -0,0 +1,21 @@ + + + + + <div> with role rowheader; supported state or property "aria-sort" value of "none" + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-other.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-other.html new file mode 100644 index 00000000000..6ed7626aa48 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-rowheader-aria-sort-other.html @@ -0,0 +1,21 @@ + + + + + <div> with role rowheader; supported state or property "aria-sort" value of "other" + + +
                                                        +
                                                        + Placeholder content + obj1 + obj2 +
                                                        +
                                                        + header cell 2 + obj1 + obj2 +
                                                        +
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-false.html new file mode 100644 index 00000000000..a14c3c43821 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role separator; supported state or property "aria-expanded" value of "false" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-true.html new file mode 100644 index 00000000000..c2d399ea47c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role separator; supported state or property "aria-expanded" value of "true" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-undefined.html new file mode 100644 index 00000000000..8f350b71594 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-expanded-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with role separator; supported state or property "aria-expanded" value of "undefined" + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-orientation-horizontal.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-orientation-horizontal.html new file mode 100644 index 00000000000..e888bb90e60 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-orientation-horizontal.html @@ -0,0 +1,14 @@ + + + + + <div> with role separator; supported state or property "aria-orientation" value of + "horizontal" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-orientation-vertical.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-orientation-vertical.html new file mode 100644 index 00000000000..5dec81b8342 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-separator-aria-orientation-vertical.html @@ -0,0 +1,14 @@ + + + + + <div> with role separator; supported state or property "aria-orientation" value of + "vertical" + + + + +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-false.html new file mode 100644 index 00000000000..e0865918b02 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role tab; supported state or property "aria-selected" value of "false" + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-true.html new file mode 100644 index 00000000000..61c5ecedec7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role tab; supported state or property "aria-selected" value of "true" + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-undefined.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-undefined.html new file mode 100644 index 00000000000..9e7417a3c71 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tab-aria-selected-undefined.html @@ -0,0 +1,12 @@ + + + + + <div> with role tab; supported state or property "aria-selected" value of "undefined" + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tablist-aria-level-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tablist-aria-level-1.html new file mode 100644 index 00000000000..0e740d8fed2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tablist-aria-level-1.html @@ -0,0 +1,15 @@ + + + + + <div> with role tablist; supported state or property "aria-level" value of "1" + + +
                                                        + +
                                                        + +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-activedescendant-obj1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-activedescendant-obj1.html new file mode 100644 index 00000000000..732dfa0d749 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-activedescendant-obj1.html @@ -0,0 +1,14 @@ + + + + + Test Case 234 + + + +
                                                        Placeholder content +
                                                        obj1
                                                        +
                                                        +
                                                        obj2
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-both.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-both.html new file mode 100644 index 00000000000..8e6136e1eb2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-both.html @@ -0,0 +1,14 @@ + + + + + <div> with role textbox; supported state or property "aria-autocomplete" value of + "both" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-inline.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-inline.html new file mode 100644 index 00000000000..fa9e0098525 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-inline.html @@ -0,0 +1,14 @@ + + + + + <div> with role textbox; supported state or property "aria-autocomplete" value of + "inline" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-list.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-list.html new file mode 100644 index 00000000000..85d7bfa3b23 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-list.html @@ -0,0 +1,14 @@ + + + + + <div> with role textbox; supported state or property "aria-autocomplete" value of + "list" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-none.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-none.html new file mode 100644 index 00000000000..6594bd72635 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-autocomplete-none.html @@ -0,0 +1,14 @@ + + + + + <div> with role textbox; supported state or property "aria-autocomplete" value of + "none" + + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-multiline-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-multiline-false.html new file mode 100644 index 00000000000..6c047d141cd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-multiline-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role textbox; supported state or property "aria-multiline" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-multiline-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-multiline-true.html new file mode 100644 index 00000000000..8231e43bc5b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-multiline-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role textbox; supported state or property "aria-multiline" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-readonly-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-readonly-false.html new file mode 100644 index 00000000000..c007dab15be --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-readonly-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role textbox; supported state or property "aria-readonly" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-readonly-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-readonly-true.html new file mode 100644 index 00000000000..6525bc02b53 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-readonly-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role textbox; supported state or property "aria-readonly" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-required-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-required-false.html new file mode 100644 index 00000000000..eb496bc14b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-required-false.html @@ -0,0 +1,12 @@ + + + + + <div> with role textbox; supported state or property "aria-required" value of "false" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-required-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-required-true.html new file mode 100644 index 00000000000..88ebdd6a254 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-textbox-aria-required-true.html @@ -0,0 +1,12 @@ + + + + + <div> with role textbox; supported state or property "aria-required" value of "true" + + +
                                                        Placeholder content
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-multiselectable-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-multiselectable-false.html new file mode 100644 index 00000000000..17ffdcc6fb2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-multiselectable-false.html @@ -0,0 +1,15 @@ + + + + + <div> with role tree; supported state or property "aria-multiselectable" value of + "false" + + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-multiselectable-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-multiselectable-true.html new file mode 100644 index 00000000000..9af7d0cc6cb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-multiselectable-true.html @@ -0,0 +1,15 @@ + + + + + <div> with role tree; supported state or property "aria-multiselectable" value of + "true" + + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-required-false.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-required-false.html new file mode 100644 index 00000000000..d049bf6523c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-required-false.html @@ -0,0 +1,13 @@ + + + + + <div> with role tree; supported state or property "aria-required" value of "false" + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-required-true.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-required-true.html new file mode 100644 index 00000000000..86fbbc1a515 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/roles-properties-supported/roles-properties-supported-tree-aria-required-true.html @@ -0,0 +1,13 @@ + + + + + <div> with role tree; supported state or property "aria-required" value of "true" + + +
                                                        +
                                                        obj1
                                                        +
                                                        obj2
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/selected-state/670.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/selected-state/670.html new file mode 100644 index 00000000000..594bf048fab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/selected-state/670.html @@ -0,0 +1,32 @@ + + + + ARIA 1.0 Test Case 670 + + + +

                                                        ARIA 1.0 Test Case 670

                                                        + +
                                                          +
                                                        • Option 1
                                                        • +
                                                        • Option 2
                                                        • +
                                                        + +

                                                        Description

                                                        +

                                                        For an element with role role "option" which is a child of an element with + role "listbox", and the value of the "aria-selected" attribute is equal + to "true".

                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/selected-state/671.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/selected-state/671.html new file mode 100644 index 00000000000..2c95a4f5f23 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/selected-state/671.html @@ -0,0 +1,34 @@ + + + + ARIA 1.0 Test Case 671 + + + +

                                                        ARIA 1.0 Test Case 671

                                                        + +
                                                          +
                                                        • Option 1
                                                        • +
                                                        • Option 2
                                                        • +
                                                        + +

                                                        Description

                                                        +

                                                        For an element with role role "option" which is a child of an element with + role "listbox", and the value of the "aria-selected" attribute is NOT equal + to "true" or the attribute is undefined.

                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/selected-state/672.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/selected-state/672.html new file mode 100644 index 00000000000..461d343a0e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/selected-state/672.html @@ -0,0 +1,38 @@ + + + + ARIA 1.0 Test Case 672 + + + +

                                                        ARIA 1.0 Test Case 672

                                                        +
                                                          +
                                                        • Option 1
                                                        • +
                                                        • Option 2
                                                        • +
                                                        + +

                                                        Description

                                                        +

                                                        For an element with role "option" which is a child of an element with role "listbox", + and the value of the "aria-selected" attribute changes (from "true", or to "true").

                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-1.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-1.html new file mode 100644 index 00000000000..92bf0f4856b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-1.html @@ -0,0 +1,86 @@ + + + + ARIA 1.0 Test Case 763 + + + +

                                                        ARIA 1.0 Test Case 763

                                                        + +
                                                        +
                                                        Option 1
                                                        +
                                                        Option 2
                                                        +
                                                        Option 3
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        A div element with the role='listbox' has three child div elements each with + role='option' and aria-setsize='3'. The 1st child div element has aria-posinset='1', + the 2nd child div element has aria-posinset='2' and the 3rd child div element + has aria-posinset='3'.

                                                        + + +

                                                        Expected Results

                                                        + +

                                                        MSAA + UIA Express

                                                        +
                                                          +
                                                        • role="tree": ROLE_SYSTEM_LIST
                                                        • +
                                                        • role="treeitem": ROLE_SYSTEM_LISTITEM
                                                        • +
                                                        • LegacyIAccessible.Description will be in the form X of Y, + where X is the value of aria-posinset and Y is the value of aria-setsize +
                                                        • +
                                                        + +

                                                        MSAA + IAccessible2

                                                        +
                                                          +
                                                        • role="tree": ROLE_SYSTEM_LIST
                                                        • +
                                                        • role="treeitem": ROLE_SYSTEM_LISTITEM
                                                        • +
                                                        • The structure should be reflected in the accessibility tree as directed by aria-posinset.
                                                        • +
                                                        • function groupPosition() should be available and have the following results: +
                                                            +
                                                          • groupLevel: 1
                                                          • +
                                                          • similarItemsInGroup: 3
                                                          • +
                                                          • positionInGroup: aria-posinest value
                                                          • +
                                                          +
                                                        • +
                                                        + +

                                                        UIA

                                                        +
                                                          +
                                                        • role="tree": List
                                                        • +
                                                        • role="treeitem": ListItem
                                                        • +
                                                        • LegacyIAccessible.Description will be in the form X of Y, + where X is the value of aria-posinset and Y is the value of aria-setsize
                                                        • +
                                                        + + +

                                                        ATK/AT-SPI

                                                        +
                                                          +
                                                        • role="tree": ROLE_LIST
                                                        • +
                                                        • role="treeitem": ROLE_LISTITEM
                                                        • +
                                                        • aria-setsize: not mapped to setsize: value
                                                        • +
                                                        • aria-posinset: is mapped to posinset: value
                                                        • +
                                                        + +

                                                        AXAPI

                                                        +
                                                          +
                                                        • role="tree": AXList = 'list'
                                                        • +
                                                        • role="treeitem": AXGroup = 'group'
                                                        • +
                                                        • aria-setsize: is mapped to AXARIASetSize: value
                                                        • +
                                                        • aria-posinset: is mapped to AXARIAPosInSet: value
                                                        • +
                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-5.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-5.html new file mode 100644 index 00000000000..1ee058526be --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-5.html @@ -0,0 +1,71 @@ + + + + ARIA 1.0 Test Case 767 + + + +

                                                        ARIA 1.0 Test Case 767

                                                        + +
                                                        +
                                                        Item 1
                                                        +
                                                        Item 2
                                                        +
                                                        Item 3
                                                        +
                                                        Item 4
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        A div element with the role='list' with four child div elements with with the role='listitem'.

                                                        + +

                                                        Expected Results

                                                        + +

                                                        MSAA + UIA Express

                                                        +
                                                          +
                                                        • role="list": ROLE_SYSTEM_LIST + STATE_SYSTEM_READONLY
                                                        • +
                                                        • role="listitem": ROLE_SYSTEM_LISTITEM + STATE_SYSTEM_READONLY
                                                        • +
                                                        • LegacyIAccessible.Description will be in the form X of Y, + where X is the position in list and Y = 4
                                                        • +
                                                        + +

                                                        MSAA + IAccessible2

                                                        +
                                                          +
                                                        • role="list": ROLE_SYSTEM_LIST + STATE_SYSTEM_READONLY
                                                        • +
                                                        • role="listitem": ROLE_SYSTEM_LISTITEM + STATE_SYSTEM_READONLY
                                                        • +
                                                        • The structure should be reflected in the accessibility tree as directed by aria-posinset.
                                                        • +
                                                        • function groupPosition() should be available and have the following results: +
                                                            +
                                                          • object attributes setsize:4, posinset:1-based position in the list>
                                                          • +
                                                          • groupLevel: 0 or 1
                                                          • +
                                                          • similarItemsInGroup: 4
                                                          • +
                                                          • positionInGroup: position in list
                                                          • +
                                                          +
                                                        • +
                                                        + +

                                                        UIA

                                                        +
                                                          +
                                                        • role="list": List
                                                        • +
                                                        • role="listitem": Listitem
                                                        • +
                                                        • LegacyIAccessible.Description will be in the form X of Y, + where X is the position in list and Y = 4
                                                        • +
                                                        + +

                                                        ATK/AT-SPI

                                                        +
                                                          +
                                                        • role="list": ROLE_LIST and STATE_EDITABLE is not exposed
                                                        • +
                                                        • role="listitem": ROLE_LISTITEM and STATE_EDITABLE is not exposed
                                                        • +
                                                        • object attributes setsize:4, posinset:1-based position in the list>
                                                        • +
                                                        + +

                                                        AXAPI

                                                        +
                                                          +
                                                        • role="list": AXList and AXContentList = 'content list'
                                                        • +
                                                        • role="listitem": AXGroup = nil
                                                        • +
                                                        • AXARIASetSize: 4
                                                        • +
                                                        • AXARIAPosInSet: 1 based position in list
                                                        • +
                                                        • AXDisclosureLevel: 0 or 1
                                                        • +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-6.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-6.html new file mode 100644 index 00000000000..af8979c27d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/setsize-posinset-level/setsize-posinset-level-6.html @@ -0,0 +1,75 @@ + + + + ARIA 1.0 Test Case 768 + + + +

                                                        ARIA 1.0 Test Case 768

                                                        + +
                                                        +
                                                        Item 1
                                                        +
                                                        Item 2
                                                        +
                                                        Item 3
                                                        +
                                                        Item 4
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        A div element with the role='list' with four child div elements with with the role='listitem' with a aria-level='2'.

                                                        + +

                                                        Expected Results

                                                        + +

                                                        MSAA + UIA Express

                                                        +
                                                          +
                                                        • role="list": ROLE_SYSTEM_LIST + STATE_SYSTEM_READONLY
                                                        • +
                                                        • role="listitem": ROLE_SYSTEM_LISTITEM + STATE_SYSTEM_READONLY
                                                        • +
                                                        • LegacyIAccessible.Description will be in the form X of Y, + where X is the position in list and Y = 4
                                                        • +
                                                        • Expose level=1 in AriaProperites for list items
                                                        • +
                                                        + +

                                                        MSAA + IAccessible2

                                                        +
                                                          +
                                                        • role="list": ROLE_SYSTEM_LIST + STATE_SYSTEM_READONLY
                                                        • +
                                                        • role="listitem": ROLE_SYSTEM_LISTITEM + STATE_SYSTEM_READONLY
                                                        • +
                                                        • The structure should be reflected in the accessibility tree as directed by aria-posinset.
                                                        • +
                                                        • function groupPosition() should be available and have the following results: +
                                                            +
                                                          • groupLevel: 2
                                                          • +
                                                          • similarItemsInGroup: 4
                                                          • +
                                                          • positionInGroup: position in list
                                                          • +
                                                          +
                                                        • +
                                                        + +

                                                        UIA

                                                        +
                                                          +
                                                        • role="list": List
                                                        • +
                                                        • role="listitem": Listitem
                                                        • +
                                                        • LegacyIAccessible.Description will be in the form X of Y, + where X is the position in list and Y = 4
                                                        • +
                                                        • Expose level=1 in AriaProperites for list items
                                                        • +
                                                        + +

                                                        ATK/AT-SPI

                                                        +
                                                          +
                                                        • role="list": ROLE_LIST and STATE_EDITABLE is not exposed
                                                        • +
                                                        • role="listitem": ROLE_LISTITEM and STATE_EDITABLE is not exposed
                                                        • +
                                                        • setsize: 4
                                                        • +
                                                        • posinset: position in list
                                                        • +
                                                        • level: 2
                                                        • +
                                                        + +

                                                        AXAPI

                                                        +
                                                          +
                                                        • role="list": AXList and AXContentList = 'content list'
                                                        • +
                                                        • role="listitem": AXGroup = nil
                                                        • +
                                                        • AXARIASetSize: 4
                                                        • +
                                                        • AXARIAPosInSet: position in list
                                                        • +
                                                        • AXDisclosureLevel: 2
                                                        • +
                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/setsize-posinset-level/testcase-769.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/setsize-posinset-level/testcase-769.html new file mode 100644 index 00000000000..106813d2819 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/setsize-posinset-level/testcase-769.html @@ -0,0 +1,89 @@ + + + + ARIA 1.0 Test Case 769 + + + +

                                                        ARIA 1.0 Test Case 769

                                                        + +
                                                        +
                                                        Item 1 +
                                                        +
                                                        Item 1A
                                                        +
                                                        Item 1B
                                                        +
                                                        +
                                                        +
                                                        Item 2 +
                                                        +
                                                        Item 2A
                                                        +
                                                        Item 2B
                                                        +
                                                        +
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        A div element with the role='list' with two child div elements with with the role='listitem'. + Each of the child div element also contain a div element with the role="group" with two child + div elements with the role='listitem'.

                                                        + +

                                                        Expected Results

                                                        + +

                                                        MSAA + UIA Express

                                                        +
                                                          +
                                                        • role="list": ROLE_SYSTEM_LIST + STATE_SYSTEM_READONLY
                                                        • +
                                                        • role="listitem": ROLE_SYSTEM_LISTITEM + STATE_SYSTEM_READONLY
                                                        • +
                                                        • LegacyIAccessible.Description will be in the form X of Y, + where X is the position in list and Y = 2 (since all lists have 2 items)
                                                        • +
                                                        • Expose level=1 in AriaProperites for list items for "Item 1" and "Item 2"
                                                        • +
                                                        • Expose level=2 in AriaProperites for list items for "Item 1A", "Item 1B", "Item 2A" and "Item 2B"
                                                        • +
                                                        + +

                                                        MSAA + IAccessible2

                                                        +
                                                          +
                                                        • role="list": ROLE_SYSTEM_LIST + STATE_SYSTEM_READONLY
                                                        • +
                                                        • role="listitem": ROLE_SYSTEM_LISTITEM + STATE_SYSTEM_READONLY
                                                        • +
                                                        • function groupPosition() should be available and have the following results: +
                                                            +
                                                          • groupLevel: 1 for "Item 1" and "Item 2" (since all lists have 2 items)
                                                          • +
                                                          • groupLevel: 2 for "Item 1A", "Item 1B", "Item 2A" and "Item 2B"
                                                          • +
                                                          • similarItemsInGroup: 2
                                                          • +
                                                          • positionInGroup: position in list
                                                          • +
                                                          +
                                                        • +
                                                        + +

                                                        UIA

                                                        +
                                                          +
                                                        • role="list": List
                                                        • +
                                                        • role="listitem": Listitem
                                                        • +
                                                        • LegacyIAccessible.Description will be in the form X of Y, + where X is the position in list and Y = 2 (since all lists have 2 items)
                                                        • +
                                                        • Expose level=1 in AriaProperites for "Item 1" and "Item 2"
                                                        • +
                                                        • Expose level=2 in AriaProperites for "Item 1A", "Item 1B", "Item 2A" and "Item 2B"
                                                        • +
                                                        + +

                                                        ATK/AT-SPI

                                                        +
                                                          +
                                                        • role="list": ROLE_LIST and STATE_EDITABLE is not exposed
                                                        • +
                                                        • role="listitem": ROLE_LISTITEM and STATE_EDITABLE is not exposed
                                                        • +
                                                        • setsize: 2 (since all lists have 2 items)
                                                        • +
                                                        • posinset: position in list
                                                        • +
                                                        • level: 1 for "Item 1" and "Item 2"
                                                        • +
                                                        • level: 2 for "Item 1A", "Item 1B", "Item 2A" and "Item 2B"
                                                        • +
                                                        + +

                                                        AXAPI

                                                        +
                                                          +
                                                        • role="list": AXList and AXContentList = 'content list'
                                                        • +
                                                        • role="listitem" for "Item 1" and "Item 2": AXGroup = 'group'
                                                        • +
                                                        • role="listitem" for "Item 1A", "Item 1B", "Item 2A" and "Item 2B": AXGroup = nil
                                                        • +
                                                        • AXARIASetSize: 2 (since all lists have 2 items)
                                                        • +
                                                        • AXARIAPosInSet: position in list
                                                        • +
                                                        • AXDisclosureLevel: 1 for "Item 1" and "Item 2"
                                                        • +
                                                        • AXDisclosureLevel: 2 for "Item 1A", "Item 1B", "Item 2A" and "Item 2B"
                                                        • +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/stability-of-dom/669.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/stability-of-dom/669.html new file mode 100644 index 00000000000..6ad0f03522d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/stability-of-dom/669.html @@ -0,0 +1,33 @@ + + + + ARIA 1.0 Test Case 669 + + + +

                                                        ARIA 1.0 Test Case 669

                                                        + +
                                                          +
                                                        • Option 1
                                                        • +
                                                        • Option 2
                                                        • +
                                                        + +

                                                        Description

                                                        +

                                                        An element with role "listbox" with two descendants having role "option" + and aria-activedescendant set to the id of the first option for which an + assistive technology or API test tool requests to move focus to option 2.

                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-A.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-A.html new file mode 100644 index 00000000000..ab66f058f19 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-A.html @@ -0,0 +1,52 @@ + + + ARIA 1.0 Test Case: Listbox role with multiseclect + + + +

                                                        ARIA 1.0 Test Case: Listbox role with multiseclect

                                                        + +
                                                        +
                                                        Option 1
                                                        +
                                                        Option 2 (test for selected)
                                                        +
                                                        Option 3 (test for selected)
                                                        +
                                                        Option 4
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        A DIV element with role role "listbox" has an aria-multiselect attribute set to "true". + Two of the four child "div" elements with the role "option" have the "aria-selected" attribute set + to "true".

                                                        + +

                                                        Accessibility API Mappings

                                                        + +

                                                        MSAA + UIA Express

                                                        +

                                                        Expose STATE_SYSTEM_SELECTED; Expose STATE_SYSTEM_SELECTABLE

                                                        + +

                                                        MSAA + IAccessible2

                                                        +

                                                        Expose STATE_SYSTEM_SELECTED and STATE_SYSTEM_SELECTABLE for each of the elements with role option

                                                        + +

                                                        UIA

                                                        +

                                                        Expose IsSelected property in SelectionItem Control Pattern. The availability of the SelectionItem Control Pattern indicates the item is selectable.

                                                        + +

                                                        ATK/AT-SPI

                                                        +

                                                        Expose STATE_SELECTED on each of the elements with role option.

                                                        + +

                                                        AXAPI

                                                        +

                                                        AXSelected:Yes on option 2 and 3 and AXSelected:No on option 1 and 4

                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-B.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-B.html new file mode 100644 index 00000000000..7ae3d88dd0a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-B.html @@ -0,0 +1,50 @@ + + + ARIA 1.0 Test Case: Listbox role with multiseclect + + + +

                                                        ARIA 1.0 Test Case: Listbox role with multiseclect

                                                        + +
                                                        +
                                                        Option 1
                                                        +
                                                        Option 2 (test for selected)
                                                        +
                                                        Option 3 (test for selected)
                                                        +
                                                        Option 4
                                                        +
                                                        + +

                                                        Description

                                                        +

                                                        A DIV element with role role "listbox" has an aria-multiselect attribute set to "true". + Two of the four child "div" elements with the role "option" have the "aria-selected" attribute set + to "true".

                                                        + +

                                                        Accessibility API Mappings

                                                        + +

                                                        MSAA + UIA Express

                                                        +

                                                        Expose STATE_SYSTEM_SELECTED; Expose STATE_SYSTEM_SELECTABLE

                                                        + +

                                                        MSAA + IAccessible2

                                                        +

                                                        Expose STATE_SYSTEM_SELECTED and STATE_SYSTEM_SELECTABLE for each of the elements with role option

                                                        + +

                                                        UIA

                                                        +

                                                        Expose IsSelected property in SelectionItem Control Pattern. The availability of the SelectionItem Control Pattern indicates the item is selectable.

                                                        + +

                                                        ATK/AT-SPI

                                                        +

                                                        Expose STATE_SELECTED on each of the elements with role option.

                                                        + +

                                                        AXAPI

                                                        +

                                                        AXSelected:Yes on option 2 and 3 and AXSelected:No on option 1 and 4

                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-C.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-C.html new file mode 100644 index 00000000000..01f8ccfaa1a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-listbox-multiselectable-C.html @@ -0,0 +1,64 @@ + + + ARIA 1.0 Test Case: Listbox role with multiseclect + + + + +

                                                        ARIA 1.0 Test Case: Listbox role with multiseclect

                                                        + +
                                                        +
                                                        Option 1
                                                        +
                                                        Option 2 (test for selected)
                                                        +
                                                        Option 3 (test for selected)
                                                        +
                                                        Option 4
                                                        +
                                                        +

                                                        + +

                                                        Description

                                                        +

                                                        A DIV element with role role "listbox" has an aria-multiselect attribute set to "true". + Two of the four child "div" elements with the role "option" have the "aria-selected" attribute set + to "true".

                                                        + +

                                                        Accessibility API Mappings

                                                        + +

                                                        MSAA + UIA Express

                                                        +

                                                        Expose STATE_SYSTEM_SELECTED; Expose STATE_SYSTEM_SELECTABLE

                                                        + +

                                                        MSAA + IAccessible2

                                                        +

                                                        Expose STATE_SYSTEM_SELECTED and STATE_SYSTEM_SELECTABLE for each of the elements with role option

                                                        + +

                                                        UIA

                                                        +

                                                        Expose IsSelected property in SelectionItem Control Pattern. The availability of the SelectionItem Control Pattern indicates the item is selectable.

                                                        + +

                                                        ATK/AT-SPI

                                                        +

                                                        Expose STATE_SELECTED on each of the elements with role option.

                                                        + +

                                                        AXAPI

                                                        +

                                                        AXSelected:Yes on option 2 and 3 and AXSelected:No on option 1 and 4

                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-multiselectable-D.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-multiselectable-D.html new file mode 100644 index 00000000000..cc13b5cfe01 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-multiselectable-D.html @@ -0,0 +1,41 @@ + + + ARIA 1.0 Test Case: Listbox role with multiseclect + + + + +

                                                        ARIA 1.0 Test Case: Listbox role with multiseclect

                                                        + +
                                                        +
                                                        Option 1 (test for click elected)
                                                        +
                                                        Option 2
                                                        +
                                                        Option 3 (test for shift click selected)
                                                        +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-tree-multiselectable-C.html b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-tree-multiselectable-C.html new file mode 100644 index 00000000000..eeb46a0c3f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-aria/testcases-multiselectable/testcase-tree-multiselectable-C.html @@ -0,0 +1,46 @@ + + + ARIA 1.0 Test Case: Tree role with aria-multiselectable + + + +

                                                        ARIA 1.0 Test Case: Tree role with aria-multiselectable

                                                        + +
                                                        +
                                                        Leaf 1 +
                                                        +
                                                        Leaf 1A (Selected)
                                                        +
                                                        Leaf 1B
                                                        +
                                                        Leaf 1C (aria-selected='false')
                                                        +
                                                        +
                                                        +
                                                        Leaf 2 (Selected) +
                                                        +
                                                        Leaf 2A
                                                        +
                                                        Leaf 2B
                                                        +
                                                        Leaf 2C
                                                        +
                                                        +
                                                        +
                                                        Leaf 3 +
                                                        +
                                                        Leaf 3A
                                                        +
                                                        Leaf 3B (aria-selected='false')
                                                        +
                                                        Leaf 3C (Selected)
                                                        +
                                                        +
                                                        +
                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters1html.html new file mode 100644 index 00000000000..a717f95cee0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters1html.html @@ -0,0 +1,12 @@ + + + + + Example + + +

                                                        Login names can only use letters from A to Z (upper or lowercase) + and the character underscore (_) and minus (-). + For example: Huck_Finn.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters2html.html new file mode 100644 index 00000000000..adc89d72d94 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters2html.html @@ -0,0 +1,13 @@ + + + + + Example + + + +

                                                        Login names can only use letters from A to Z (upper or lowercase) + and the character underscore (_) and minus (-). + For example: Huck_Finn.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters2htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters2htmlrules.xml new file mode 100644 index 00000000000..a9667e0c07b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters2htmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters3html.html new file mode 100644 index 00000000000..39e2c970f68 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters3html.html @@ -0,0 +1,13 @@ + + + + + Example + + + +

                                                        Login names can only use letters from A to Z (upper or lowercase) + and the character underscore (_) and minus (-). + For example: Huck_Finn.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters3htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters3htmlrules.xml new file mode 100644 index 00000000000..7e490ba52fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters3htmlrules.xml @@ -0,0 +1,4 @@ + + name + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters4html.html new file mode 100644 index 00000000000..c77e3659066 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/html/allowedcharacters4html.html @@ -0,0 +1,18 @@ + + + + + Example + + + +

                                                        Login names can only use letters from A to Z (upper or lowercase) + and the character underscore (_) and minus (-). + For example: Huck_Finn.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters1xml.xml new file mode 100644 index 00000000000..0188ef80089 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters1xml.xml @@ -0,0 +1,12 @@ + + + + + + + + Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam + nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed + diam voluptua. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters2xml.xml new file mode 100644 index 00000000000..0f44ccf22ff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters2xml.xml @@ -0,0 +1,9 @@ + + + + + + + FULL WIDTH ONLY + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters3xml.xml new file mode 100644 index 00000000000..21fae032678 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters3xml.xml @@ -0,0 +1,10 @@ + + + + + + Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam + nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed + diam voluptua. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters3xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters3xmlrules.xml new file mode 100644 index 00000000000..4b624c4126b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters3xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters4xml.xml new file mode 100644 index 00000000000..49dceddc84a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters4xml.xml @@ -0,0 +1,7 @@ + + + + + FULL WIDTH ONLY + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters4xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters4xmlrules.xml new file mode 100644 index 00000000000..b45129a57d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters4xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters5xml.xml new file mode 100644 index 00000000000..1f1ebb0ea03 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters5xml.xml @@ -0,0 +1,4 @@ + + Click the CONTINUE Button on the printer panel + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters6xml.xml new file mode 100644 index 00000000000..0dc1a9945d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters6xml.xml @@ -0,0 +1,3 @@ + + Click the CONTINUE Button on the printer panel + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters7xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters7xml.xml new file mode 100644 index 00000000000..168de572ae9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters7xml.xml @@ -0,0 +1,10 @@ + + + + + + Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam + nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed + diam voluptua. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters7xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters7xmlrules.xml new file mode 100644 index 00000000000..c030ff07204 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters7xmlrules.xml @@ -0,0 +1,4 @@ + + allowedchar + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters8xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters8xml.xml new file mode 100644 index 00000000000..a6d2aa6d9a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/allowedcharacters/xml/allowedcharacters8xml.xml @@ -0,0 +1,13 @@ + + + + allowedchar + + + + + Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam + nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed + diam voluptua. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir1html.html new file mode 100644 index 00000000000..d79fd7fa5b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir1html.html @@ -0,0 +1,12 @@ + + + + + Directionality + + +

                                                        In Hebrew, the title פעילות הבינ×ו×, W3C + means "Internationalization Activity, W3C".

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir2html.html new file mode 100644 index 00000000000..562676dcfc0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir2html.html @@ -0,0 +1,17 @@ + + + + + Directionality + + + +

                                                        In Hebrew, the title פעילות הבינ×ו×, W3C + means "Internationalization Activity, W3C".

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir3html.html new file mode 100644 index 00000000000..8aba163628b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir3html.html @@ -0,0 +1,13 @@ + + + + + Directionality + + + +

                                                        In Hebrew, the title פעילות הבינ×ו×, W3C + means "Internationalization Activity, W3C".

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir3htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir3htmlrules.xml new file mode 100644 index 00000000000..8e1c97b07a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir3htmlrules.xml @@ -0,0 +1,4 @@ + + rtLeft + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir4html.html new file mode 100644 index 00000000000..1d3ed6e1541 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/html/dir4html.html @@ -0,0 +1,18 @@ + + + + + Directionality + + + +

                                                        In Hebrew, the title פעילות הבינ×ו×, W3C + means "Internationalization Activity, W3C".

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir1xml.xml new file mode 100644 index 00000000000..8962c0c06e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir1xml.xml @@ -0,0 +1,12 @@ + + + + + + + + In Hebrew, the title פעילות הבינ×ו×, W3C + means Internationalization Activity, W3C. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir2xml.xml new file mode 100644 index 00000000000..da98efb7811 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir2xml.xml @@ -0,0 +1,11 @@ + + + + + + In Hebrew, the title פעילות הבינ×ו×, W3C + means Internationalization Activity, W3C. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir2xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir2xmlrules.xml new file mode 100644 index 00000000000..42b2feb006e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir2xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir3xml.xml new file mode 100644 index 00000000000..d7f1805d6c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir3xml.xml @@ -0,0 +1,7 @@ + + + In Arabic, the title نشاط التدويل، W3C + means Internationalization Activity, W3C. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir4xml.xml new file mode 100644 index 00000000000..1a0b77ca8e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir4xml.xml @@ -0,0 +1,6 @@ + + + In Arabic, the title "نشاط التدويل، W3C" + means "Internationalization Activity, W3C". + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir5xml.xml new file mode 100644 index 00000000000..b8c56ac211f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir5xml.xml @@ -0,0 +1,13 @@ + + + + rtlText + + + + + In Hebrew, the title פעילות הבינ×ו×, W3C + means Internationalization Activity, W3C. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir6xml.xml new file mode 100644 index 00000000000..0d60fb0cc2a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir6xml.xml @@ -0,0 +1,11 @@ + + + + + + In Hebrew, the title פעילות הבינ×ו×, W3C + means Internationalization Activity, W3C. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir6xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir6xmlrules.xml new file mode 100644 index 00000000000..8ade2458f8d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/directionality/xml/dir6xmlrules.xml @@ -0,0 +1,4 @@ + + rtlText + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain1html.html new file mode 100644 index 00000000000..4705f414349 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain1html.html @@ -0,0 +1,13 @@ + + + + + + + Domain HTML + + +

                                                        The new car from XYZ - buy it now!

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain1htmlrules.xml new file mode 100644 index 00000000000..9387be964ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain1htmlrules.xml @@ -0,0 +1,5 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain2html.html new file mode 100644 index 00000000000..4ccce0f96b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain2html.html @@ -0,0 +1,13 @@ + + + + + + + Domain HTML + + +

                                                        The new car from XYZ - buy it now!

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain2htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain2htmlrules.xml new file mode 100644 index 00000000000..4446ffb6a09 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain2htmlrules.xml @@ -0,0 +1,6 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain3html.html new file mode 100644 index 00000000000..629e3578d27 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain3html.html @@ -0,0 +1,17 @@ + + + + + + +Sports law + + +

                                                        +Sports law is an umbrella term used to describe the legal issues at work in the world of both amateur and professional sports. +

                                                        +

                                                        +Sports law overlaps substantially with labor law, contract law, competition or antitrust law, and tort law. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain3htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain3htmlrules.xml new file mode 100644 index 00000000000..89aed8f1a0a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain3htmlrules.xml @@ -0,0 +1,4 @@ + +keywords + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain4html.html new file mode 100644 index 00000000000..80a1da8114b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/html/domain4html.html @@ -0,0 +1,18 @@ + + + + + + + +Sports law + + +

                                                        Some text about sport and law.

                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain1xml.xml new file mode 100644 index 00000000000..b3fd0f716d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain1xml.xml @@ -0,0 +1,13 @@ + + + + + + + + +

                                                        The new car from XYZ - buy it now!

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain2xml.xml new file mode 100644 index 00000000000..2c7674a247d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain2xml.xml @@ -0,0 +1,14 @@ + + + + + + + + +

                                                        The new car from XYZ - buy it now!

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain4xml.xml new file mode 100644 index 00000000000..c08211fca93 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain4xml.xml @@ -0,0 +1,10 @@ + + + + + + +

                                                        Sports law is an umbrella term used to describe the legal issues at work in the world of both amateur and professional sports.

                                                        +

                                                        Sports law overlaps substantially with labor law, contract law, competition or antitrust law, and tort law.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain4xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain4xmlrules.xml new file mode 100644 index 00000000000..2660698c923 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain4xmlrules.xml @@ -0,0 +1,6 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain5xml.xml new file mode 100644 index 00000000000..8831dcb2bd5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain5xml.xml @@ -0,0 +1,17 @@ + + + + + + + + + + +

                                                        +Sports law is an umbrella term used to describe the legal issues at work in the world of both amateur and professional sports. +Sports law overlaps substantially with labor law, contract law, competition or antitrust law, and tort law. +

                                                        +Unlike intercollegiate sports, international amateur sports are run by a variety of organizations. + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain5xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain5xmlrules.xml new file mode 100644 index 00000000000..472b38c58b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain5xmlrules.xml @@ -0,0 +1,6 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain6xml.xml new file mode 100644 index 00000000000..c62de54ac9e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain6xml.xml @@ -0,0 +1,19 @@ + + + +DC.type + + + + + +

                                                        + +A poem is a composition written in verse (although verse has also been used for epic and dramatic fiction). + + +Poems make use of the aesthetic qualities of language to suggest differential meanings and to evoke emotive responses. Poems rely heavily on imagery and metaphor; they may have a rhythmic structure based on patterns of stresses (metric feet) or on patterns of different-length syllables (as in classical prosody); and they may or may not utilize rhyme. + +

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain7xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain7xml.xml new file mode 100644 index 00000000000..472cbb75534 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain7xml.xml @@ -0,0 +1,16 @@ + + + + + + +

                                                        + +A poem is a composition written in verse (although verse has also been used for epic and dramatic fiction). + + +Poems make use of the aesthetic qualities of language to suggest differential meanings and to evoke emotive responses. Poems rely heavily on imagery and metaphor; they may have a rhythmic structure based on patterns of stresses (metric feet) or on patterns of different-length syllables (as in classical prosody); and they may or may not utilize rhyme. + +

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain7xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain7xmlrules.xml new file mode 100644 index 00000000000..b9e17bd7008 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/domain/xml/domain7xmlrules.xml @@ -0,0 +1,4 @@ + +DC.type + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext1html.html new file mode 100644 index 00000000000..d1a0595bd61 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext1html.html @@ -0,0 +1,33 @@ + + + + + + Appaloosa + + +
                                                        +

                                                        keywords

                                                        + horse + appaloosa +
                                                        +

                                                        + The Appaloosa + + The name comes from "Palouse horse" in reference to the Palouse River in Northern Idaho. + + are rugged horses originally breed by the + Nez-Perce + tribe in the US Northwest. +

                                                        +

                                                        + They are often characterized by their spotted coats, as shown here: + Appaloosa horses +

                                                        + +

                                                        + Copyright: + Zebulon Inc. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext1htmlrules.xml new file mode 100644 index 00000000000..5d49bbcd5b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext1htmlrules.xml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext2html.html new file mode 100644 index 00000000000..ed7e06095f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext2html.html @@ -0,0 +1,10 @@ + + + + + Within text test: Default + + +

                                                        Text with bold.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext3html.html new file mode 100644 index 00000000000..d76f7756b94 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext3html.html @@ -0,0 +1,33 @@ + + + + + + Appaloosa + + +
                                                        +

                                                        keywords

                                                        + horse + appaloosa +
                                                        +

                                                        + The Appaloosa + + The name comes from "Palouse horse" in reference to the Palouse River in Northern Idaho. + + are rugged horses originally breed by the + Nez-Perce + tribe in the US Northwest. +

                                                        +

                                                        + They are often characterized by their spotted coats, as shown here: + Appaloosa horses +

                                                        + +

                                                        + Copyright: + Zebulon Inc. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext3htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext3htmlrules.xml new file mode 100644 index 00000000000..127dea6b731 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext3htmlrules.xml @@ -0,0 +1,5 @@ + +firstkeyword + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext4html.html new file mode 100644 index 00000000000..ac41d6b3314 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/html/withintext4html.html @@ -0,0 +1,39 @@ + + + + + + Appaloosa + + +
                                                        +

                                                        keywords

                                                        + horse + appaloosa +
                                                        +

                                                        + The Appaloosa + + The name comes from "Palouse horse" in reference to the Palouse River in Northern Idaho. + + are rugged horses originally breed by the + Nez-Perce + tribe in the US Northwest. +

                                                        +

                                                        + They are often characterized by their spotted coats, as shown here: + Appaloosa horses +

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext1xml.xml new file mode 100644 index 00000000000..c4a44fc7b86 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext1xml.xml @@ -0,0 +1,12 @@ + + + + + + + + +

                                                        This is a paragraph with bold, italic, and underlined.

                                                        +

                                                        This is a paragraph with a footnoteThis is the text of the footnote at the middle.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext2xml.xml new file mode 100644 index 00000000000..c0d08106791 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext2xml.xml @@ -0,0 +1,25 @@ + + + + + + + Zebulon Fairfield + version 12, revision 2 - 2006-08-14 + horseappaloosa + articles-6D272BA9-3B89CAD8 + + +
                                                        + Appaloosa +

                                                        The AppaloosaThe name comes from "Palouse horse" in reference + to the Palouse River in Northern Idaho. are rugged horses + originally breed by the Nez-Perce tribe in the US Northwest.

                                                        +

                                                        They are often characterized by their spotted coats, as shown + here: Appaloosa horses

                                                        +
                                                        +

                                                        Copyright: Zebulon Inc.

                                                        +
                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext2xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext2xmlrules.xml new file mode 100644 index 00000000000..539af5b1e7a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext2xmlrules.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext3xml.xml new file mode 100644 index 00000000000..66debdc8f98 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext3xml.xml @@ -0,0 +1,11 @@ + + + Designing User Interfaces + Janice Prakash + user interface, ui, software interface + + +

                                                        The book Of Mice and Screens by Aldus + Brandywine is one of the best introductions to the vast topic of designing user interfaces.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext4xml.xml new file mode 100644 index 00000000000..1a4b3725f67 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext4xml.xml @@ -0,0 +1,12 @@ + + + Designing User Interfaces + Janice Prakash + user interface, ui, software interface + + +

                                                        The book Of Mice and Screens by Aldus + Brandywine is one of the best introductions to the vast topic of designing user interfaces.

                                                        + +
                                                        + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext5xml.xml new file mode 100644 index 00000000000..37db106f6c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext5xml.xml @@ -0,0 +1,25 @@ + + + +footnote + + + + + +

                                                        +This is a paragraph with +bold +, +italic +, and +underlined +. +

                                                        +

                                                        +This is a paragraph with a footnote +This is the text of the footnote +at the middle. +

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext6xml.xml new file mode 100644 index 00000000000..b96c3e90237 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext6xml.xml @@ -0,0 +1,21 @@ + + + + + +

                                                        +This is a paragraph with +bold +, +italic +, and +underlined +. +

                                                        +

                                                        +This is a paragraph with a footnote +This is the text of the footnote +at the middle. +

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext6xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext6xmlrules.xml new file mode 100644 index 00000000000..6f41dd04295 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/elementswithintext/xml/withintext6xmlrules.xml @@ -0,0 +1,5 @@ + +footnote + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource1html.html new file mode 100644 index 00000000000..2b03a254137 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource1html.html @@ -0,0 +1,15 @@ + + + + + + Video element example + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource1htmlrules.xml new file mode 100644 index 00000000000..21608edb30b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource1htmlrules.xml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource2html.html new file mode 100644 index 00000000000..17e79832c3c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource2html.html @@ -0,0 +1,17 @@ + + + + + + Video element example + + +

                                                        + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource2htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource2htmlrules.xml new file mode 100644 index 00000000000..34c66b5ec4d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource2htmlrules.xml @@ -0,0 +1,4 @@ + + 1 + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource3html.html new file mode 100644 index 00000000000..98c13a12e87 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/html/externalresource3html.html @@ -0,0 +1,20 @@ + + + + + + Video element example + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource1xml.xml new file mode 100644 index 00000000000..51b640e7eb9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource1xml.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + This video illustrates the proper way to assemble an inverting time distortion + device. + + It is imperative that the primary and secondary temporal couplings not be + mounted in the wrong order. Temporal catastrophe is the likely result. The + future you destroy may be your own. + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource2xml.xml new file mode 100644 index 00000000000..818766d0ec1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource2xml.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + This video illustrates the proper way to assemble an inverting time distortion + device. + + It is imperative that the primary and secondary temporal couplings not be + mounted in the wrong order. Temporal catastrophe is the likely result. The + future you destroy may be your own. + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource2xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource2xmlrules.xml new file mode 100644 index 00000000000..718135f5e3d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource2xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource3xml.xml new file mode 100644 index 00000000000..0528bb9c632 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource3xml.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + This video illustrates the proper way to assemble an inverting time distortion + device. + + It is imperative that the primary and secondary temporal couplings not be + mounted in the wrong order. Temporal catastrophe is the likely result. The + future you destroy may be your own. + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource3xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource3xmlrules.xml new file mode 100644 index 00000000000..383781cecec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource3xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource4xml.xml new file mode 100644 index 00000000000..76df2ccd97f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource4xml.xml @@ -0,0 +1,25 @@ + + + movie-frame.gif + + + + + + + + + + + This video illustrates the proper way to assemble an inverting time distortion + device. + + It is imperative that the primary and secondary temporal couplings not be + mounted in the wrong order. Temporal catastrophe is the likely result. The + future you destroy may be your own. + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource5xml.xml new file mode 100644 index 00000000000..d3e376467eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource5xml.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + This video illustrates the proper way to assemble an inverting time distortion + device. + + It is imperative that the primary and secondary temporal couplings not be + mounted in the wrong order. Temporal catastrophe is the likely result. The + future you destroy may be your own. + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource5xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource5xmlrules.xml new file mode 100644 index 00000000000..01209738e15 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/externalresource/xml/externalresource5xmlrules.xml @@ -0,0 +1,5 @@ + + movie-frame.gif + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue1html.html new file mode 100644 index 00000000000..b345f202f2a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue1html.html @@ -0,0 +1,16 @@ + + + + + Id Value + + + +

                                                        + Can't find settings file. + The module cannot find the default settings file. + You need to re-initialize the system. +

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue1htmlrules.xml new file mode 100644 index 00000000000..fb049999c4a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue1htmlrules.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue2html.html new file mode 100644 index 00000000000..8b53d3ddf43 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue2html.html @@ -0,0 +1,17 @@ + + + + + Id Value + + + +

                                                        + Can't find settings file. + The module cannot find the default settings file. + You need to re-initialize the system. + This computer is now crashing GOODBYE!! +

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue2htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue2htmlrules.xml new file mode 100644 index 00000000000..942af0dbe96 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue2htmlrules.xml @@ -0,0 +1,7 @@ + + text + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue3html.html new file mode 100644 index 00000000000..4030307b1ee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/html/idvalue3html.html @@ -0,0 +1,22 @@ + + + + + + Id Value + + +

                                                        + Can't find settings file. + The module cannot find the default settings file. + You need to re-initialize the system. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue1xml.xml new file mode 100644 index 00000000000..8b2869b12ac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue1xml.xml @@ -0,0 +1,20 @@ + + + + + + + OK + 1, 1 + sendOK + + + + + Cancel + 2, 1 + cancelAll + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue2xml.xml new file mode 100644 index 00000000000..a27ad31d8da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue2xml.xml @@ -0,0 +1,4 @@ + + Try Again + click this to re-run the process with the current settings. + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue3xml.xml new file mode 100644 index 00000000000..6b19c6378be --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue3xml.xml @@ -0,0 +1,13 @@ + + + + OK + 1, 1 + sendOK + + + Cancel + 2, 1 + cancelAll + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue3xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue3xmlrules.xml new file mode 100644 index 00000000000..5ff498f766a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue3xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue4xml.xml new file mode 100644 index 00000000000..909bfd270a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue4xml.xml @@ -0,0 +1,17 @@ + + + + + OK + 1, 1 + sendOK + + + + + Cancel + 2, 1 + cancelAll + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue4xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue4xmlrules.xml new file mode 100644 index 00000000000..59e7325ec1f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue4xmlrules.xml @@ -0,0 +1,4 @@ + + 1 + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue5xml.xml new file mode 100644 index 00000000000..4b356b09e2c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/idvalue/xml/idvalue5xml.xml @@ -0,0 +1,20 @@ + + + 1 + + + + + OK + 1, 1 + sendOK + + + + + Cancel + 2, 1 + cancelAll + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo1html.html new file mode 100644 index 00000000000..b41ecb6bf66 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo1html.html @@ -0,0 +1,16 @@ + + + + + + EXAMPLE + + +

                                                        The motto of Québec is: + Je me souviens + .

                                                        +

                                                        La devise du Québec est : + Je me souviens + .

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo1htmlrules.xml new file mode 100644 index 00000000000..d6bfe44e06a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo1htmlrules.xml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo2html.html new file mode 100644 index 00000000000..9d449eff57b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo2html.html @@ -0,0 +1,16 @@ + + + + + + EXAMPLE + + +

                                                        The motto of Québec is: + Je me souviens + .

                                                        +

                                                        La devise du Québec est : + Je me souviens + .

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo2htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo2htmlrules.xml new file mode 100644 index 00000000000..7babe27debd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo2htmlrules.xml @@ -0,0 +1,4 @@ + +fr-CA + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo3html.html new file mode 100644 index 00000000000..021a5375cbd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/html/languageinfo3html.html @@ -0,0 +1,21 @@ + + + + + + EXAMPLE + + +

                                                        The motto of Québec is: + Je me souviens + .

                                                        +

                                                        La devise du Québec est : + Je me souviens + .

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo1xml.xml new file mode 100644 index 00000000000..768cca6d0e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo1xml.xml @@ -0,0 +1,13 @@ + + + + + + + + + + The motto of Québec is: Je me souviens. + The one of Canada: A mari usque ad mare. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo2xml.xml new file mode 100644 index 00000000000..c534bcce7fc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo2xml.xml @@ -0,0 +1,19 @@ + + + + + + + + + + en + The motto of Québec is: Je me souviens. + + + fr-CA + La devise du Québec est : Je me souviens. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo2xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo2xmlrules.xml new file mode 100644 index 00000000000..bf7a0570da0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo2xmlrules.xml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo3xml.xml new file mode 100644 index 00000000000..80cd2bfd42e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo3xml.xml @@ -0,0 +1,20 @@ + + + +fr-CA + + + + + +The motto of Québec is: +Je me souviens +. + + +The one of Canada: +A mari usque ad mare +. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo4xml.xml new file mode 100644 index 00000000000..3b28792afca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo4xml.xml @@ -0,0 +1,24 @@ + + + + + + + +en + +The motto of Québec is: +Je me souviens +. + + + +fr-CA + +La devise du Québec est : +Je me souviens +. + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo4xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo4xmlrules.xml new file mode 100644 index 00000000000..517f4019980 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/languageinformation/xml/languageinfo4xmlrules.xml @@ -0,0 +1,4 @@ + +fr-CA + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale1html.html new file mode 100644 index 00000000000..72f9604045d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale1html.html @@ -0,0 +1,14 @@ + + + + + Locale filter + + + +
                                                        +

                                                        This legal notice is only for Canadian locales.

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale1htmlrules.xml new file mode 100644 index 00000000000..d87c7f94116 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale1htmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale2html.html new file mode 100644 index 00000000000..6e2870f609c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale2html.html @@ -0,0 +1,12 @@ + + + + + Locale filter + + +
                                                        +

                                                        This legal notice is only for Canadian locales.

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale3html.html new file mode 100644 index 00000000000..5f840801ef1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale3html.html @@ -0,0 +1,14 @@ + + + + + Locale filter + + + +
                                                        +

                                                        This legal notice is only for Canadian locales.

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale3htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale3htmlrules.xml new file mode 100644 index 00000000000..9f44ede5958 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale3htmlrules.xml @@ -0,0 +1,4 @@ + + Canada + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale4html.html new file mode 100644 index 00000000000..d8effcdf78b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale4html.html @@ -0,0 +1,18 @@ + + + + + + Locale filter + + +
                                                        +

                                                        This legal notice is only for Canadian locales.

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale5html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale5html.html new file mode 100644 index 00000000000..fe5b01665d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/html/locale5html.html @@ -0,0 +1,21 @@ + + + + + Locale filter + + +
                                                        +

                                                        Text for Canadian locales.

                                                        +
                                                        +
                                                        +

                                                        Text for non-Canadian locales.

                                                        +
                                                        +
                                                        +

                                                        Text for no locales.

                                                        +
                                                        +
                                                        +

                                                        Text for all locales.

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale1xml.xml new file mode 100644 index 00000000000..fbb4c617dc1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale1xml.xml @@ -0,0 +1,12 @@ + + + + + + + This legal notice is only for Canadian locales. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale2xml.xml new file mode 100644 index 00000000000..a97c8acd19a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale2xml.xml @@ -0,0 +1,9 @@ + + + + This legal notice is only for Canadian locales. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale3xml.xml new file mode 100644 index 00000000000..7a99e2d4e80 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale3xml.xml @@ -0,0 +1,10 @@ + + + + + This legal notice is only for Canadian locales. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale3xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale3xmlrules.xml new file mode 100644 index 00000000000..5eda8cc7fb0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale3xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale4xml.xml new file mode 100644 index 00000000000..d3eda11e379 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale4xml.xml @@ -0,0 +1,16 @@ + + + + + + + + This legal notice is only for Canadian locales. + + + This legal notice is only for German locales. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale4xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale4xmlrules.xml new file mode 100644 index 00000000000..5eda8cc7fb0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale4xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale5xml.xml new file mode 100644 index 00000000000..8e2e84a277d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale5xml.xml @@ -0,0 +1,8 @@ + + + + +This legal notice is only for Canadian locales. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale6xml.xml new file mode 100644 index 00000000000..e0881f2f1a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale6xml.xml @@ -0,0 +1,14 @@ + + + + Germany + + + + This legal notice is only for Canadian locales. + + + This legal notice is only for German locales. + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale7xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale7xml.xml new file mode 100644 index 00000000000..fb11bf93feb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale7xml.xml @@ -0,0 +1,13 @@ + + + + + This legal notice is only for Canadian locales. + + + This legal notice is only for German locales. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale7xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale7xmlrules.xml new file mode 100644 index 00000000000..3d851a22c90 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale7xmlrules.xml @@ -0,0 +1,4 @@ + + Germany + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale8xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale8xml.xml new file mode 100644 index 00000000000..ff7711929ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localefilter/xml/locale8xml.xml @@ -0,0 +1,18 @@ + + + + Text only for Canadian locales. + + + Text for non-Canadian locales. + + + Text for no locales. + + + Text for all locales. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote1html.html new file mode 100644 index 00000000000..6c33dd2d077 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote1html.html @@ -0,0 +1,11 @@ + + + + + Example + + + + The {0} has been disabled. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote1htmlrules.xml new file mode 100644 index 00000000000..87b8415aac0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote1htmlrules.xml @@ -0,0 +1,7 @@ + + + +The variable {0} has three possible values: 'printer', 'stacker' and 'stapler options'. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote2html.html new file mode 100644 index 00000000000..21937ae3fc3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote2html.html @@ -0,0 +1,22 @@ + + + + + Example + + + +
                                                        +

                                                        FileNotFound

                                                        +

                                                        + Indicates that the resource file {0} could not be loaded. +

                                                        + Cannot find the file {0}. +
                                                        +
                                                        +

                                                        FileNotFound

                                                        +

                                                        A division by 0 was going to be computed.

                                                        + Invalid parameter. +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote2htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote2htmlrules.xml new file mode 100644 index 00000000000..2da2d203e9f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote2htmlrules.xml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote3html.html new file mode 100644 index 00000000000..380ab5f88da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote3html.html @@ -0,0 +1,12 @@ + + + + + EXAMPLE + + + + Cannot find {0} on {1}. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote3htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote3htmlrules.xml new file mode 100644 index 00000000000..898225e4308 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote3htmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote4html.html new file mode 100644 index 00000000000..8cc2ffe190d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote4html.html @@ -0,0 +1,16 @@ + + + + + EXAMPLE + + + +

                                                        + Cannot find the file {0}. +

                                                        +

                                                        + Invalid parameter. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote4htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote4htmlrules.xml new file mode 100644 index 00000000000..2e0f1173e02 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote4htmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote5html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote5html.html new file mode 100644 index 00000000000..1db258ab101 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote5html.html @@ -0,0 +1,21 @@ + + + + + + EXAMPLE + + +

                                                        + This is a hippoptamus: + Hippo in the Chobe River + . +

                                                        +

                                                        + This is an elephant: + Elephants taking a mud bath + . +

                                                        +

                                                        The {0} has been disabled.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote5htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote5htmlrules.xml new file mode 100644 index 00000000000..c9d00868a25 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote5htmlrules.xml @@ -0,0 +1,15 @@ + + +Do not translate the word "Chobe" + + +This text will be displayed over the image. + + + +The variable +{0} +has three possible values: 'printer', 'stacker' and 'stapler options'. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote6html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote6html.html new file mode 100644 index 00000000000..eea2ad93e44 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote6html.html @@ -0,0 +1,21 @@ + + + + + EXAMPLE + + + + + This is a hippoptamus: + Hippo in the Chobe River + . + + + This is an elephant: + Elephants taking a mud bath + . + + The {0} has been disabled. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote6htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote6htmlrules.xml new file mode 100644 index 00000000000..d8a1ee4a70f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote6htmlrules.xml @@ -0,0 +1,15 @@ + + +This text will be displayed over the image. + + +Do not translate the word "Chobe" + + + +The variable +{0} +has three possible values: 'printer', 'stacker' and 'stapler options'. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote7html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote7html.html new file mode 100644 index 00000000000..4741c323d76 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote7html.html @@ -0,0 +1,10 @@ + + + + + LocNote test: Default + + +

                                                        This is a motherboard.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote8html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote8html.html new file mode 100644 index 00000000000..8913b8eada9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote8html.html @@ -0,0 +1,21 @@ + + + + + EXAMPLE + + + + + This is a hippoptamus: + Hippo in the Chobe River + . + + + This is an elephant: + Elephants taking a mud bath + . + + The {0} has been disabled. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote8htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote8htmlrules.xml new file mode 100644 index 00000000000..7d6c81f1edf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote8htmlrules.xml @@ -0,0 +1,16 @@ + +DisableInfo + +This text will be displayed over the image. + + +Do not translate the word "Chobe" + + + +The variable +{0} +has three possible values: 'printer', 'stacker' and 'stapler options'. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote9html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote9html.html new file mode 100644 index 00000000000..9adbbcd23e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/html/locnote9html.html @@ -0,0 +1,20 @@ + + + + + + Example + + +

                                                        The {0} has been disabled.

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote10xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote10xml.xml new file mode 100644 index 00000000000..aefe57b3a7c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote10xml.xml @@ -0,0 +1,33 @@ + + + +DisableInfo + +This text will be displayed over the image. + + +Do not translate the word "Chobe" + + + +The variable +{0} +has three possible values: 'printer', 'stacker' and 'stapler options'. + + + + + + +This is a hippoptamus: +Hippo in the Chobe River +. + + +This is an elephant: +Elephants taking a mud bath +. + +The {0} has been disabled. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote11xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote11xml.xml new file mode 100644 index 00000000000..20a697e98e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote11xml.xml @@ -0,0 +1,18 @@ + + + + + + +This is a hippoptamus: +Hippo in the Chobe River +. + + +This is an elephant: +Elephants taking a mud bath +. + +The {0} has been disabled. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote11xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote11xmlrules.xml new file mode 100644 index 00000000000..43b00c70cd8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote11xmlrules.xml @@ -0,0 +1,16 @@ + +DisableInfo + +This text will be displayed over the image. + + +Do not translate the word "Chobe" + + + +The variable +{0} +has three possible values: 'printer', 'stacker' and 'stapler options'. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote1xml.xml new file mode 100644 index 00000000000..4b509975728 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote1xml.xml @@ -0,0 +1,13 @@ + + + + + The variable {0} has three possible values: 'printer', + 'stacker' and 'stapler options'. + + + + + The {0} has been disabled. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote2xml.xml new file mode 100644 index 00000000000..166215d649e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote2xml.xml @@ -0,0 +1,19 @@ + + + + + + + + + + Indicates that the resource file {0} could not be loaded. + Cannot find the file {0}. + + + A division by 0 was going to be computed. + Invalid parameter. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote3xml.xml new file mode 100644 index 00000000000..3336af33d42 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote3xml.xml @@ -0,0 +1,12 @@ + + + + + + + + Cannot find {0} on {1}. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote4xml.xml new file mode 100644 index 00000000000..a98b30eba1b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote4xml.xml @@ -0,0 +1,16 @@ + + + + + + + + + Cannot find the file {0}. + + + Invalid parameter. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote5xml.xml new file mode 100644 index 00000000000..dac3607a355 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote5xml.xml @@ -0,0 +1,15 @@ + + + + + Do not translate the word "Chobe" + + + + + This is a hippoptamus: Hippo in the Chobe River. + This is an elephant: Elephants taking a mud bath. + The {0} has been disabled. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote5xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote5xmlrules.xml new file mode 100644 index 00000000000..8eb7b345b48 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote5xmlrules.xml @@ -0,0 +1,9 @@ + + + This text will be displayed over the image. + + + The variable {0} has three possible values: 'printer', + 'stacker' and 'stapler options'. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote6xml.xml new file mode 100644 index 00000000000..2df88380c1c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote6xml.xml @@ -0,0 +1,21 @@ + + + + + This text will be displayed over the image. + + + Do not translate the word "Chobe" + + + The variable {0} has three possible values: 'printer', + 'stacker' and 'stapler options'. + + + + + This is a hippoptamus: Hippo in the Chobe River. + This is an elephant: Elephants taking a mud bath. + The {0} has been disabled. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote7xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote7xml.xml new file mode 100644 index 00000000000..65021f8b26a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote7xml.xml @@ -0,0 +1,20 @@ + + + + + + + + + + +Indicates that the resource file {0} could not be loaded. + +Cannot find the file {0}. + + +A division by 0 was going to be computed. +Invalid parameter. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote8xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote8xml.xml new file mode 100644 index 00000000000..41049c9681e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote8xml.xml @@ -0,0 +1,17 @@ + + + + + Host {0} cannot be found. + + + The connection with {0} has been lost. + + + {0} not found. + + + Cannot log with this username. + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote9xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote9xml.xml new file mode 100644 index 00000000000..c726ea1d229 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/localizationnote/xml/locnote9xml.xml @@ -0,0 +1,8 @@ + + + +

                                                        Everything started when + Zebulon discovered that he had a doppelgänger + who was a serious baseball aficionado.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue10html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue10html.html new file mode 100644 index 00000000000..e4957ac5161 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue10html.html @@ -0,0 +1,26 @@ + + + + + + Example + + +

                                                        + music is an art form whose medium is sound and silence. + Musci acn take many different forms and is experienced by individuals in a range of social settings ranging from being alone to attending a large concert. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue1html.html new file mode 100644 index 00000000000..cc80dd325ac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue1html.html @@ -0,0 +1,14 @@ + + + + + Example + + + +

                                                        + music is an art form whose medium is sound and silence. + Musci acn take many different forms and is experienced by individuals in a range of social settings ranging from being alone to attending a large concert. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue1htmlrules.xml new file mode 100644 index 00000000000..e4b3e203908 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue1htmlrules.xml @@ -0,0 +1,10 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue2html.html new file mode 100644 index 00000000000..7d80d4b26a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue2html.html @@ -0,0 +1,14 @@ + + + + + Example + + + +

                                                        + music is an art form whose medium is sound and silence. + Musci acn take many different forms and is experienced by individuals in a range of social settings ranging from being alone to attending a large concert. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue2htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue2htmlrules.xml new file mode 100644 index 00000000000..1104dfd25dd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue2htmlrules.xml @@ -0,0 +1,10 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue3html.html new file mode 100644 index 00000000000..f9ba7d9180c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue3html.html @@ -0,0 +1,14 @@ + + + + + Example + + + +

                                                        + music is an art form whose medium is sound and silence. + Musci acn take many different forms and is experienced by individuals in a range of social settings ranging from being alone to attending a large concert. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue3htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue3htmlrules.xml new file mode 100644 index 00000000000..c4f45e00feb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue3htmlrules.xml @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue4html.html new file mode 100644 index 00000000000..82d2056436f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue4html.html @@ -0,0 +1,30 @@ + + + + + Telharmonium 1897 + + + +

                                                        Telharmonium (1897)

                                                        +

                                                        + Christian Bale(1867–1934) conceived of an instrument that could transmit its sound + from a power plant for hundreds of miles to listeners over telegraph wiring. Beginning in + 1889 the sound quality of regular telephone concerts was very poor on account of the buzzing + generated by carbon-granule microphones. As a result Cahill decided to set a new standard in + perfection of sound qaulity with his instrument, a standard that would not only satisfy listeners but that + would overcome all the flaws of traditional instruments.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue5html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue5html.html new file mode 100644 index 00000000000..951cfddb7eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue5html.html @@ -0,0 +1,31 @@ + + + + + Telharmonium 1897 + + + +

                                                        Telharmonium (1897)

                                                        +

                                                        + Christian Bale(1867–1934) conceived of an instrument that could transmit its sound + from a power plant for hundreds of miles to listeners over telegraph wiring. Beginning in + 1889 the sound quality of regular telephone concerts was very poor on account of the buzzing + generated by carbon-granule microphones. As a result Cahill decided to set a new standard in + perfection of sound qulaity with his instrument, a standard that would not only satisfy listeners but that + would overcome all the flaws of traditional instruments.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue6html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue6html.html new file mode 100644 index 00000000000..ac35ca5ef2d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue6html.html @@ -0,0 +1,37 @@ + + + + + Telharmonium 1897 + + + +

                                                        Telharmonium (1897)

                                                        +

                                                        + Christian Bale(1867–1934) conceived of an instrument that could transmit its sound + from a power plant for hundreds of miles to listeners over telegraph wiring. Beginning in + 1889 the sound quality of regular telephone concerts was very poor on account of the buzzing + generated by carbon-granule microphones. As a result Cahill decided to set a new standard in + perfection of sound qulaity with his instrument, a standard that would not only satisfy listeners but that + would overcome all the flaws of traditional instruments.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue7html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue7html.html new file mode 100644 index 00000000000..01beb027e71 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue7html.html @@ -0,0 +1,20 @@ + + + + + Test + + + + +

                                                        + c'es pourquoi il n'était pas coupable

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue8html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue8html.html new file mode 100644 index 00000000000..1af8d79867a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue8html.html @@ -0,0 +1,14 @@ + + + + + Example + + + +

                                                        + music is an art form whose medium is sound and silence. + Musci acn take many different forms and is experienced by individuals in a range of social settings ranging from being alone to attending a large concert. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue8htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue8htmlrules.xml new file mode 100644 index 00000000000..b6b7ae996eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue8htmlrules.xml @@ -0,0 +1,13 @@ + + q1 + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue9html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue9html.html new file mode 100644 index 00000000000..da42fa05dc1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue9html.html @@ -0,0 +1,11 @@ + + + + + Test + + +

                                                        + c'es pourquoi il n'était pas coupable

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue9htmlstandoff.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue9htmlstandoff.xml new file mode 100644 index 00000000000..d81222e66ee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/html/locqualityissue9htmlstandoff.xml @@ -0,0 +1,13 @@ + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue10xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue10xml.xml new file mode 100644 index 00000000000..c1d164462bc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue10xml.xml @@ -0,0 +1,4 @@ + + +transport or transportation is the movement of people, animals and goods from one location to another.Modes of tranport inc. air, rail, road, water, cable, pipeline, and space. + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue11xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue11xml.xml new file mode 100644 index 00000000000..399e6671319 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue11xml.xml @@ -0,0 +1,21 @@ + + +
                                                        + + q1 + + + +
                                                        + + transport or transportation is the movement of people, animals and goods from one location to another. + Modes of tranport inc. air, rail, road, water, cable, pipeline, and space. + +
                                                        + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue12xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue12xml.xml new file mode 100644 index 00000000000..1574e8c7708 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue12xml.xml @@ -0,0 +1,11 @@ + + +
                                                        + +
                                                        + + transport or transportation is the movement of people, animals and goods from one location to another. + Modes of tranport inc. air, rail, road, water, cable, pipeline, and space. + +
                                                        + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue12xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue12xmlrules.xml new file mode 100644 index 00000000000..dc42a43b4af --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue12xmlrules.xml @@ -0,0 +1,11 @@ + + q1 + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue13xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue13xml.xml new file mode 100644 index 00000000000..b6722c4992f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue13xml.xml @@ -0,0 +1,24 @@ + + + +
                                                        + + + +
                                                        + + + This is the content + c'es le contenu + + + + + +
                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue1xml.xml new file mode 100644 index 00000000000..ee70d1d8bbc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue1xml.xml @@ -0,0 +1,18 @@ + + +
                                                        + + + + +
                                                        + + transport or transportation is the movement of people, animals and goods from one location to another. + Modes of tranport inc. air, rail, road, water, cable, pipeline, and space. + +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue2xml.xml new file mode 100644 index 00000000000..5be4462920e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue2xml.xml @@ -0,0 +1,18 @@ + + +
                                                        + + + + +
                                                        + + transport or transportation is the movement of people, animals and goods from one location to another. + Modes of tranport inc. air, rail, road, water, cable, pipeline, and space. + +
                                                        + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue3xml.xml new file mode 100644 index 00000000000..a51fbc0a355 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue3xml.xml @@ -0,0 +1,22 @@ + + +
                                                        + + + + +
                                                        + + transport or transportation is the movement of people, animals and goods from one location to another. + Modes of tranport inc. air, rail, road, water, cable, pipeline, and space. + +
                                                        + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue4xml.xml new file mode 100644 index 00000000000..d50f903baee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue4xml.xml @@ -0,0 +1,24 @@ + + +
                                                        + + + + +
                                                        + + transport or transportation is the movement of people, animals and goods from one location to another. + Modes of tranport inc. air, rail, road, water, cable, pipeline, and space. + + + + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue5xml.xml new file mode 100644 index 00000000000..b5fcceabf80 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue5xml.xml @@ -0,0 +1,11 @@ + + +
                                                        + +
                                                        + + transport or transportation is the movement of people, animals and goods from one location to another. + Modes of tranport inc. air, rail, road, water, cable, pipeline, and space. + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue5xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue5xmlrules.xml new file mode 100644 index 00000000000..a778ffc9bde --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue5xmlrules.xml @@ -0,0 +1,10 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue6xml.xml new file mode 100644 index 00000000000..e8c41ebfc7d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue6xml.xml @@ -0,0 +1,4 @@ + + + transport or transportation is the movement of people, animals and goods from one location to another.Modes of tranport inc. air, rail, road, water, cable, pipeline, and space. + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue7xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue7xml.xml new file mode 100644 index 00000000000..e81339948e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue7xml.xml @@ -0,0 +1,4 @@ + + + transport or transportation is the movement of people, animals and goods from one location to another.Modes of tranport inc. air, rail, road, water, cable, pipeline, and space. + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue8xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue8xml.xml new file mode 100644 index 00000000000..2fffc914869 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue8xml.xml @@ -0,0 +1,4 @@ + + +transport or transportation is the movement of people, animals and goods from one location to another.Modes of tranport inc. air, rail, road, water, cable, pipeline, and space. + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue9xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue9xml.xml new file mode 100644 index 00000000000..fa4a1088510 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityissue/xml/locqualityissue9xml.xml @@ -0,0 +1,4 @@ + + +transport or transportation is the movement of people, animals and goods from one location to another.Modes of tranport inc. air, rail, road, water, cable, pipeline, and space. + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/html/locqualityrating1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/html/locqualityrating1html.html new file mode 100644 index 00000000000..668b3323e1a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/html/locqualityrating1html.html @@ -0,0 +1,18 @@ + + + + + Rikki-tikki-tavi + + +

                                                        This is the story of the great war that Rikki-tikki-tavi fought single-handed, + through the bath-rooms of the big bungalow in Segowlee cantonment. Darzee, the + Tailorbird, helped him, and Chuchundra, the musk-rat, who never comes out into + the middle of the floor, but always creeps round by the wall, gave him advice, + but Rikki-tikki did the real fighting.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/html/locqualityrating2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/html/locqualityrating2html.html new file mode 100644 index 00000000000..df7ff857371 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/html/locqualityrating2html.html @@ -0,0 +1,18 @@ + + + + + Rikki-tikki-tavi + + +

                                                        This is the story of the great war that Rikki-tikki-tavi fought single-handed, + through the bath-rooms of the big bungalow in Segowlee cantonment. Darzee, the + Tailorbird, helped him, and Chuchundra, the musk-rat, who never comes out into + the middle of the floor, but always creeps round by the wall, gave him advice, + but Rikki-tikki did the real fighting.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/xml/locqualityrating1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/xml/locqualityrating1xml.xml new file mode 100644 index 00000000000..e08b1d0bf94 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/xml/locqualityrating1xml.xml @@ -0,0 +1,11 @@ + + The Adventures of Tom Sawyer + He got home pretty late that night, and when he climbed cautiously in at + the window, he uncovered an ambuscade, in the person of his aunt; and when + she saw the state his clothes were in her resolution to turn his Saturday + holiday into captivity at hard labor became adamantine in its + firmness. + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/xml/locqualityrating2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/xml/locqualityrating2xml.xml new file mode 100644 index 00000000000..437fdd26f2d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/xml/locqualityrating2xml.xml @@ -0,0 +1,11 @@ + + The Adventures of Tom Sawyer + He got home pretty late that night, and when he climbed cautiously in at + the window, he uncovered an ambuscade, in the person of his aunt; and when + she saw the state his clothes were in her resolution to turn his Saturday + holiday into captivity at hard labor became adamantine in its + firmness. + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/xml/locqualityrating3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/xml/locqualityrating3xml.xml new file mode 100644 index 00000000000..28b60154bed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/xml/locqualityrating3xml.xml @@ -0,0 +1,11 @@ + + The Adventures of Tom Sawyer + + He got home pretty late that night, and when he climbed cautiously in at + the window, he uncovered an ambuscade, in the person of his aunt; and when + she saw the state his clothes were in her resolution to turn his Saturday + holiday into captivity at hard labor became adamantine in its + firmness. + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/xml/locqualityrating4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/xml/locqualityrating4xml.xml new file mode 100644 index 00000000000..101566abb73 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/locqualityrating/xml/locqualityrating4xml.xml @@ -0,0 +1,10 @@ + + The Adventures of Tom Sawyer + He got home pretty late that night, and when he climbed cautiously in at + the window, he uncovered an ambuscade, in the person of his aunt; and when + she saw the state his clothes were in her resolution to turn his Saturday + holiday into captivity at hard labor became adamantine in its + firmness. + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence1html.html new file mode 100644 index 00000000000..91f6c3b7391 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence1html.html @@ -0,0 +1,15 @@ + + + + + Sentences about European capitals. + + +

                                                        + Dublin is the capital of Ireland. + The capital of the Czech Republic is Prague. + Madrid is the capital of Spain. + Berlin is the capital of Germany. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence2html.html new file mode 100644 index 00000000000..7a57318c01b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence2html.html @@ -0,0 +1,16 @@ + + + + + Sentences about Dublin and Prague MTed from Czech with mtConfidence locally. + + + +

                                                        + Dublin is the capital of Ireland. + The capital of the Czech Republic is Prague. + Madrid is the capital of Spain. + Berlin is the capital of Germany. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence2htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence2htmlrules.xml new file mode 100644 index 00000000000..19cb15483f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence2htmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence3html.html new file mode 100644 index 00000000000..c0f99ac8f0e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence3html.html @@ -0,0 +1,16 @@ + + + + + Sentences about Dublin and Prague MTed from Czech with mtConfidence locally. + + + +

                                                        + Dublin is the capital of Ireland. + The capital of the Czech Republic is Prague. + Berlin is the capital of Germany. + London is the capital of England +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence3htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence3htmlrules.xml new file mode 100644 index 00000000000..f6e20179a11 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence3htmlrules.xml @@ -0,0 +1,5 @@ + + ireland + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence4html.html new file mode 100644 index 00000000000..580aee97ca2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence4html.html @@ -0,0 +1,16 @@ + + + + + Example of MT Confidence with annotator references. + + + +

                                                        + Dublin is the capital city of Ireland and has the 50th biggest population density in Europe. + Madrid is the capital of Spain. + Berlin is the capital of Germany. + London is the capital of England +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence4htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence4htmlrules.xml new file mode 100644 index 00000000000..151a0ff17d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence4htmlrules.xml @@ -0,0 +1,4 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence5html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence5html.html new file mode 100644 index 00000000000..fe343db0be0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/html/mtconfidence5html.html @@ -0,0 +1,21 @@ + + + + + Sentences about European capitals. + + + +

                                                        + Dublin is the capital of Ireland. + The capital of the Czech Republic is Prague. + Madrid is the capital of Spain. + Berlin is the capital of Germany. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence1xml.xml new file mode 100644 index 00000000000..c3cdedad0ab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence1xml.xml @@ -0,0 +1,22 @@ + + + + + + + + + + +

                                                        + Dublin is the capital city of Ireland and has the 50th biggest population density in Europe. + Madrid is the capital of Spain. + Berlin is the capital of Germany. + London is the capital of England +

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence2xml.xml new file mode 100644 index 00000000000..2f494163771 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence2xml.xml @@ -0,0 +1,13 @@ + + + + + +

                                                        + Dublin is the capital city of Ireland and has the 50th biggest population density in Europe. + Madrid is the capital of Spain. + Berlin is the capital of Germany. + London is the capital of England +

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence2xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence2xmlrules.xml new file mode 100644 index 00000000000..36b0450b96d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence2xmlrules.xml @@ -0,0 +1,10 @@ + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence3xml.xml new file mode 100644 index 00000000000..31be4342c91 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence3xml.xml @@ -0,0 +1,10 @@ + + +

                                                        + Dublin is the capital city of Ireland and has the 50th biggest population density in Europe. + Madrid is the capital of Spain. + Berlin is the capital of Germany. + London is the capital of England +

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence4xml.xml new file mode 100644 index 00000000000..04efe69da15 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence4xml.xml @@ -0,0 +1,10 @@ + + +

                                                        + Dublin is the capital city of Ireland. + Madrid is the capital of Spain. + Berlin is the capital of Germany. + London is the capital of England +

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence5xml.xml new file mode 100644 index 00000000000..3e8484cec6d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence5xml.xml @@ -0,0 +1,13 @@ + + + + + +

                                                        + Dublin is the capital city of Ireland and has the 50th biggest population density in Europe. + Madrid is the capital of Spain. + Berlin is the capital of Germany. + London is the capital of England +

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence5xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence5xmlrules.xml new file mode 100644 index 00000000000..296ff363ace --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence5xmlrules.xml @@ -0,0 +1,4 @@ + + ireland + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence6xml.xml new file mode 100644 index 00000000000..c846e6c7c00 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence6xml.xml @@ -0,0 +1,16 @@ + + + + ireland + + + + +

                                                        + Dublin is the capital city of Ireland and has the 50th biggest population density in Europe. + Madrid is the capital of Spain. + Berlin is the capital of Germany. + London is the capital of England +

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence7xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence7xml.xml new file mode 100644 index 00000000000..b0d545b8cfd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/mtconfidence/xml/mtconfidence7xml.xml @@ -0,0 +1,16 @@ + + + + + + + +

                                                        + Dublin is the capital city of Ireland and has the 50th biggest population density in Europe. + Madrid is the capital of Spain. + Berlin is the capital of Germany. + London is the capital of England +

                                                        + +
                                                        \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace1xml.xml new file mode 100644 index 00000000000..16330a2ee5e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace1xml.xml @@ -0,0 +1,13 @@ + + + + + + + + 'Twas brillig, and the slithy toves + Did gyre and gimble in the wabe; + All mimsy were the borogoves, + And the mome raths outgrabe. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace2xml.xml new file mode 100644 index 00000000000..b131356abd7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace2xml.xml @@ -0,0 +1,8 @@ + + + 'Twas brillig, and the slithy toves + Did gyre and gimble in the wabe; + All mimsy were the borogoves, + And the mome raths outgrabe. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace3xml.xml new file mode 100644 index 00000000000..e16d438d68e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace3xml.xml @@ -0,0 +1,11 @@ + + + + + +'Twas brillig, and the slithy toves + Did gyre and gimble in the wabe; + All mimsy were the borogoves, + And the mome raths outgrabe. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace3xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace3xmlrules.xml new file mode 100644 index 00000000000..8b05d415e58 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace3xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace4xml.xml new file mode 100644 index 00000000000..a9d919dd246 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace4xml.xml @@ -0,0 +1,8 @@ + + + 'Twas brillig, and the slithy toves + Did gyre and gimble in the wabe; + All mimsy were the borogoves, + And the mome raths outgrabe. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace5xml.xml new file mode 100644 index 00000000000..57b47e17475 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace5xml.xml @@ -0,0 +1,14 @@ + + + + firstverse + + + + + 'Twas brillig, and the slithy toves + Did gyre and gimble in the wabe; + All mimsy were the borogoves, + And the mome raths outgrabe. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace6xml.xml new file mode 100644 index 00000000000..ac3cc628648 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace6xml.xml @@ -0,0 +1,9 @@ + + + + 'Twas brillig, and the slithy toves + Did gyre and gimble in the wabe; + All mimsy were the borogoves, + And the mome raths outgrabe. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace6xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace6xmlrules.xml new file mode 100644 index 00000000000..d626b57f267 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/preservespace/xml/preservespace6xmlrules.xml @@ -0,0 +1,4 @@ + + firstverse + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance1html.html new file mode 100644 index 00000000000..3254d61dd33 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance1html.html @@ -0,0 +1,32 @@ + + + + + Test + + + + + +

                                                        This paragraph was translated from the machine.

                                                        +

                                                        This text was translated directly by a person.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance1htmlrules.xml new file mode 100644 index 00000000000..5fe84aeb203 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance1htmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance2html.html new file mode 100644 index 00000000000..214693ff72a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance2html.html @@ -0,0 +1,36 @@ + + + + + Test + + + + + +

                                                        This paragraph was translated from the machine.

                                                        +

                                                        This text was translated directly by a person.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance3html.html new file mode 100644 index 00000000000..75a99a36947 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance3html.html @@ -0,0 +1,31 @@ + + + + + Test + + + + +

                                                        This paragraph was translated from the machine.

                                                        +

                                                        This text was translated directly by a person.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance4html.html new file mode 100644 index 00000000000..0f387daccb0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance4html.html @@ -0,0 +1,23 @@ + + + + + Translation Revision Provenance Agent: Local Test in HTML5 + + +

                                                        This paragraph was translated from the machine.

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance5html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance5html.html new file mode 100644 index 00000000000..bb2f6bf0bac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance5html.html @@ -0,0 +1,35 @@ + + + + + Test + + + + + +

                                                        This paragraph was translated from the machine and subsequently revised.

                                                        +

                                                        This text was translated directly by a person.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance5htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance5htmlrules.xml new file mode 100644 index 00000000000..de701d979ed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance5htmlrules.xml @@ -0,0 +1,4 @@ + + prov-records-ref1 + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance6html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance6html.html new file mode 100644 index 00000000000..a4952fc6647 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance6html.html @@ -0,0 +1,10 @@ + + + + + Test + + +

                                                        This paragraph was translated from the machine and subsequently revised.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance6htmlstandoff.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance6htmlstandoff.xml new file mode 100644 index 00000000000..0be1638a674 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance6htmlstandoff.xml @@ -0,0 +1,14 @@ + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance7html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance7html.html new file mode 100644 index 00000000000..7ddd66a606f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance7html.html @@ -0,0 +1,10 @@ + + + + + Test + + +

                                                        This paragraph was translated from the machine and subsequently revised.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance7htmlstandoff.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance7htmlstandoff.html new file mode 100644 index 00000000000..04e0070558b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance7htmlstandoff.html @@ -0,0 +1,23 @@ + + + + + Test + + + +

                                                        Here is the information of provenance.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance8html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance8html.html new file mode 100644 index 00000000000..a0fc83300c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/html/provenance8html.html @@ -0,0 +1,37 @@ + + + + + Test + + + + + +

                                                        This paragraph was translated from the machine.

                                                        +

                                                        This text was translated directly by a person.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance1xml.xml new file mode 100644 index 00000000000..9c154797e17 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance1xml.xml @@ -0,0 +1,28 @@ + + John Doe + + + + + + + + + + Translation Revision Provenance Agent: Global Test in XML + + This paragraph was translated from the machine. + This text was translated directly by a person. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance2xml.xml new file mode 100644 index 00000000000..c30afe8d39c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance2xml.xml @@ -0,0 +1,29 @@ + + John Doe + + + + + + + + + + Translation Revision Provenance Agent: Global Test in XML + + This paragraph was translated from the machine. + This text was + translated directly by a person. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance3xml.xml new file mode 100644 index 00000000000..a356db347ec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance3xml.xml @@ -0,0 +1,27 @@ + + John Doe + + + + + + + + Translation Revision Provenance Agent: Global Test in XML + + This paragraph was translated from the machine. + This text was + translated directly by a person. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance3xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance3xmlrules.xml new file mode 100644 index 00000000000..30f00d3e87a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance3xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance4xml.xml new file mode 100644 index 00000000000..dde7dbb1c74 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance4xml.xml @@ -0,0 +1,27 @@ + + John Doe + + + + + + + + Translation Revision Provenance Agent: Global Test in XML + + This paragraph was translated from the machine. + This text was + translated directly by a person. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance4xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance4xmlrules.xml new file mode 100644 index 00000000000..0b1e34ea8ae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance4xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance5xml.xml new file mode 100644 index 00000000000..f82e8994b5f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance5xml.xml @@ -0,0 +1,30 @@ + + John Doe + + + + + + + + #pr1 + + + Translation Revision Provenance Agent: Global Test in XML + + This paragraph was translated from the machine. + This text was + translated directly by a person. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance6xml.xml new file mode 100644 index 00000000000..0b51543800b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance6xml.xml @@ -0,0 +1,27 @@ + + John Doe + + + + + + + + Translation Revision Provenance Agent: Global Test in XML + + This paragraph was translated from the machine. + This text was + translated directly by a person. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance6xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance6xmlrules.xml new file mode 100644 index 00000000000..e7e74a831b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance6xmlrules.xml @@ -0,0 +1,4 @@ + + #pr1 + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance7xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance7xml.xml new file mode 100644 index 00000000000..e099e157ebf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance7xml.xml @@ -0,0 +1,20 @@ + + Translation Revision Provenance Agent: Local Test in XML + + This paragraph was translated from the machine. + This text was translated directly by a person. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance8xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance8xml.xml new file mode 100644 index 00000000000..c905730fcbc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/provenance/xml/provenance8xml.xml @@ -0,0 +1,20 @@ + + Translation Revision Provenance Agent: Local Test in XML + + This paragraph was translated from the machine. + This text was translated directly by a person. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize1html.html new file mode 100644 index 00000000000..fb701737625 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize1html.html @@ -0,0 +1,12 @@ + + + + + Storage Size + + +

                                                        String to translate:

                                                        +

                                                        Papua New-Guinea

                                                        +

                                                        Dominican Replubic

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize2html.html new file mode 100644 index 00000000000..0e1a720d9e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize2html.html @@ -0,0 +1,13 @@ + + + + + Storage Size + + + + String to translate: +

                                                        Papua New-Guinea

                                                        +

                                                        Dominican Replubic

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize2htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize2htmlrules.xml new file mode 100644 index 00000000000..93d0bfa61f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize2htmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize3html.html new file mode 100644 index 00000000000..4cc8f4256cd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize3html.html @@ -0,0 +1,13 @@ + + + + + Storage Size + + + + String to translate: +

                                                        Papua New-Guinea

                                                        +

                                                        Dominican Replubic

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize3htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize3htmlrules.xml new file mode 100644 index 00000000000..4e8b23d3d50 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize3htmlrules.xml @@ -0,0 +1,4 @@ + + 123 + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize4html.html new file mode 100644 index 00000000000..4ec272a4d3c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/html/storagesize4html.html @@ -0,0 +1,20 @@ + + + + + + Storage Size + + + String to translate: +

                                                        Papua New-Guinea

                                                        +

                                                        Dominican Replubic

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize1xml.xml new file mode 100644 index 00000000000..c003af2ce73 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize1xml.xml @@ -0,0 +1,10 @@ + + + + + + Papouasie-Nouvelle-Guinée + République Dominicaine + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize2xml.xml new file mode 100644 index 00000000000..343b4b4a9f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize2xml.xml @@ -0,0 +1,8 @@ + + + + + Papouasie-Nouvelle-Guinée + République Dominicaine + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize3xml.xml new file mode 100644 index 00000000000..02b07d946c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize3xml.xml @@ -0,0 +1,8 @@ + + + + Papouasie-Nouvelle-Guinée + République Dominicaine + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize3xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize3xmlrules.xml new file mode 100644 index 00000000000..08135110202 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize3xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize4xml.xml new file mode 100644 index 00000000000..a48879007bc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize4xml.xml @@ -0,0 +1,6 @@ + + + Papouasie-Nouvelle-Guinée + République Dominicaine + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize4xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize4xmlrules.xml new file mode 100644 index 00000000000..50be2ad8030 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize4xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize5xml.xml new file mode 100644 index 00000000000..cf7ff610302 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize5xml.xml @@ -0,0 +1,5 @@ + + CONTINUE + STOP + CANCEL + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize6xml.xml new file mode 100644 index 00000000000..21cfbae15d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize6xml.xml @@ -0,0 +1,5 @@ + + CONTINUE + STOP + CANCEL + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize7xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize7xml.xml new file mode 100644 index 00000000000..d090b0da643 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize7xml.xml @@ -0,0 +1,8 @@ + + + + Papouasie-Nouvelle-Guinée + République Dominicaine + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize7xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize7xmlrules.xml new file mode 100644 index 00000000000..8df636ef7a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize7xmlrules.xml @@ -0,0 +1,4 @@ + + 123 + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize8xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize8xml.xml new file mode 100644 index 00000000000..8044869de4e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize8xml.xml @@ -0,0 +1,11 @@ + + + 123 + + + + Papouasie-Nouvelle-Guinée + République Dominicaine + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize9xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize9xml.xml new file mode 100644 index 00000000000..e464ed6d04d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/storagesize/xml/storagesize9xml.xml @@ -0,0 +1,5 @@ + + CONTINUE + STOP + CANCEL + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer1html.html new file mode 100644 index 00000000000..bca5036b46a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer1html.html @@ -0,0 +1,21 @@ + + + + + Target Pointer + + + +
                                                        +

                                                        Remember last folder

                                                        +

                                                        lastFolder

                                                        +
                                                        +
                                                        +

                                                        Custom file filter:

                                                        +

                                                        testFile.txt

                                                        +
                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer1htmlrules.xml new file mode 100644 index 00000000000..93318581b62 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer1htmlrules.xml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer2html.html new file mode 100644 index 00000000000..bbcbc52eb3d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer2html.html @@ -0,0 +1,19 @@ + + + + + Target Pointer + + + +
                                                        +

                                                        Remember last folder

                                                        +

                                                        lastFolder

                                                        +
                                                        +
                                                        +

                                                        Custom file filter:

                                                        +

                                                        testFile.txt

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer2htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer2htmlrules.xml new file mode 100644 index 00000000000..b26379aaf53 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer2htmlrules.xml @@ -0,0 +1,8 @@ + + targetfolder + targetfile + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer3html.html new file mode 100644 index 00000000000..301911b2a79 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/html/targetpointer3html.html @@ -0,0 +1,24 @@ + + + + + + Target Pointer + + +
                                                        +

                                                        Remember last folder

                                                        +

                                                        lastFolder

                                                        +
                                                        +
                                                        +

                                                        Custom file filter:

                                                        +

                                                        testFile.txt

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer1xml.xml new file mode 100644 index 00000000000..0c32dc293d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer1xml.xml @@ -0,0 +1,14 @@ + + + + + + Remember last folder + lastFolder + + + Custom file filter: + testFile.txt + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer2xml.xml new file mode 100644 index 00000000000..91350392de8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer2xml.xml @@ -0,0 +1,12 @@ + + + + Remember last folder + lastFolder + + + Custom file filter: + testFile.txt + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer2xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer2xmlrules.xml new file mode 100644 index 00000000000..b8fc4ed9a75 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer2xmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer3xml.xml new file mode 100644 index 00000000000..2af95ca8b7a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer3xml.xml @@ -0,0 +1,17 @@ + + + firstfolder + firstfile + + + + + Remember last folders + firstFolder + + + Custom file filter: + firstFile.txt + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer4xml.xml new file mode 100644 index 00000000000..8f818262d15 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer4xml.xml @@ -0,0 +1,11 @@ + + + + Remember last folders + firstFolder + + + Custom file filter: + firstFile.txt + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer4xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer4xmlrules.xml new file mode 100644 index 00000000000..0ed1d81ce7b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/targetpointer/xml/targetpointer4xmlrules.xml @@ -0,0 +1,6 @@ + + firstfolder + firstfile + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology1html.html new file mode 100644 index 00000000000..0636d3f268b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology1html.html @@ -0,0 +1,18 @@ + + + + + + EXAMPLE + + +

                                                        + We may define + discoursal point of view + as + + the relationship, expressed through discourse structure, between the implied author or some other addresser, and the fiction. + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology1htmlrules.xml new file mode 100644 index 00000000000..0326b23d444 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology1htmlrules.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology2html.html new file mode 100644 index 00000000000..a64eb18ef7a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology2html.html @@ -0,0 +1,28 @@ + + + + + + EXAMPLE + + +

                                                        + We may define + discoursal point of view + as + the relationship, expressed through discourse structure, between the implied author or some other addresser, and the fiction + . +

                                                        +

                                                        + We may define + refulgence + as + a radiant or resplendent quality or state +

                                                        +

                                                        + But I'm not sure how + quincunx + can be defined. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology2htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology2htmlrules.xml new file mode 100644 index 00000000000..2e4eea326bd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology2htmlrules.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology3html.html new file mode 100644 index 00000000000..4274b3f7028 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology3html.html @@ -0,0 +1,11 @@ + + + + + Terminology test: default + + +

                                                        We need a new motherboard +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology4html.html new file mode 100644 index 00000000000..b84e5af63ef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology4html.html @@ -0,0 +1,28 @@ + + + + + + EXAMPLE + + +

                                                        + We may define + discoursal point of view + as + the relationship, expressed through discourse structure, between the implied author or some other addresser, and the fiction + . +

                                                        +

                                                        + We may define + refulgence + as + a radiant or resplendent quality or state +

                                                        +

                                                        + But I'm not sure how + quincunx + can be defined. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology4htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology4htmlrules.xml new file mode 100644 index 00000000000..d405064dedb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology4htmlrules.xml @@ -0,0 +1,7 @@ + +keywords + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology5html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology5html.html new file mode 100644 index 00000000000..c0ce5e2dc6c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology5html.html @@ -0,0 +1,11 @@ + + + + + Terminology test: default + + +

                                                        We need a new motherboard +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology6html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology6html.html new file mode 100644 index 00000000000..d35fd0b0e03 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/html/terminology6html.html @@ -0,0 +1,23 @@ + + + + + + EXAMPLE + + +

                                                        + We may define + discoursal point of view + as + + the relationship, expressed through discourse structure, between the implied author or some other addresser, and the fiction. + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology1xml.xml new file mode 100644 index 00000000000..55273b10bf5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology1xml.xml @@ -0,0 +1,11 @@ + + + + +

                                                        We may define discoursal point of view + as the relationship, expressed through discourse + structure, between the implied author or some other addresser, + and the fiction. +

                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology2xml.xml new file mode 100644 index 00000000000..33d794a6e36 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology2xml.xml @@ -0,0 +1,9 @@ + + + + +

                                                        We may define discoursal point of view +as the relationship, expressed through discourse +structure, between the implied author or some other addresser, +and the fiction.

                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology3xml.xml new file mode 100644 index 00000000000..3d913c81e0b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology3xml.xml @@ -0,0 +1,10 @@ + + + + +

                                                        We may define discoursal point of view +as the relationship, expressed through discourse +structure, between the implied author or some other addresser, +and the fiction.

                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology4xml.xml new file mode 100644 index 00000000000..33d122b297b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology4xml.xml @@ -0,0 +1,19 @@ + + + + + + + terms, rare words + +

                                                        We may define discoursal point of view +as the relationship, expressed through discourse +structure, between the implied author or some other addresser, +and the fiction.

                                                        +

                                                        We may define refulgence +as a radiant or resplendent quality or state.

                                                        +

                                                        But I'm not sure how quincunx can be defined.

                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology4xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology4xmlrules.xml new file mode 100644 index 00000000000..7946cee28f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology4xmlrules.xml @@ -0,0 +1,5 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology5xml.xml new file mode 100644 index 00000000000..3ff4c769b99 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology5xml.xml @@ -0,0 +1,7 @@ + +
                                                        + A motherboard, + also known as a logic board on Apple Computers, + is the primary circuit board making up a modern computer. +
                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology6xml.xml new file mode 100644 index 00000000000..52bd0ecd41c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology6xml.xml @@ -0,0 +1,7 @@ + +
                                                        + A motherboard, + also known as a logic board on Apple Computers, + is the primary circuit board making up a modern computer. +
                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology7xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology7xml.xml new file mode 100644 index 00000000000..440004956d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology7xml.xml @@ -0,0 +1,17 @@ + + +2 + + +

                                                        +This is a glossary of terms. +

                                                        +

                                                        +We may define +discoursal point of view +as + +the relationship, expressed through discourse structure, between the implied author or some other addresser, and the fiction. + +

                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology8xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology8xml.xml new file mode 100644 index 00000000000..b53f730930b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology8xml.xml @@ -0,0 +1,14 @@ + + +

                                                        +This is a glossary of terms. +

                                                        +

                                                        +We may define +discoursal point of view +as + +the relationship, expressed through discourse structure, between the implied author or some other addresser, and the fiction. + +

                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology8xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology8xmlrules.xml new file mode 100644 index 00000000000..26501b63beb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology8xmlrules.xml @@ -0,0 +1,4 @@ + +2 + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology9xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology9xml.xml new file mode 100644 index 00000000000..bf74f2669bd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/terminology/xml/terminology9xml.xml @@ -0,0 +1,6 @@ + + Sample file + +

                                                        And he said: you need a new motherboard

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis1html.html new file mode 100644 index 00000000000..3202821838b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis1html.html @@ -0,0 +1,12 @@ + + + + + + Text Analysis: Local Test + + +

                                                        + Dublin is the capital of Ireland.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis1htmlrules.xml new file mode 100644 index 00000000000..c6245b71e17 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis1htmlrules.xml @@ -0,0 +1,9 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis2html.html new file mode 100644 index 00000000000..39c45f9ccee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis2html.html @@ -0,0 +1,12 @@ + + + + + + Text Analysis: Local Test + + +

                                                        + Dublin is the capital of Ireland.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis2htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis2htmlrules.xml new file mode 100644 index 00000000000..c5601a9ed78 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis2htmlrules.xml @@ -0,0 +1,11 @@ + + dublin + capital + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis3html.html new file mode 100644 index 00000000000..bf5e466578b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis3html.html @@ -0,0 +1,15 @@ + + + + + + Text Analysis: Local Test + + +

                                                        Dublin is + the capital of Ireland.

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis3htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis3htmlrules.xml new file mode 100644 index 00000000000..d88271f30c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis3htmlrules.xml @@ -0,0 +1,5 @@ + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis4html.html new file mode 100644 index 00000000000..42ff1d37b53 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis4html.html @@ -0,0 +1,20 @@ + + + + + Text Analysis: Local Test + + +

                                                        Dublin + is the capital of Ireland.

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis5html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis5html.html new file mode 100644 index 00000000000..8f673df4ce7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/html/textanalysis5html.html @@ -0,0 +1,23 @@ + + + + + + Textanalysis: Local Test + + +

                                                        Dublin is the capital of Ireland.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis1xml.xml new file mode 100644 index 00000000000..0aa9803ac3b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis1xml.xml @@ -0,0 +1,15 @@ + + + + + + + +

                                                        Dublin is the capital of Ireland.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis2xml.xml new file mode 100644 index 00000000000..74ffc81194d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis2xml.xml @@ -0,0 +1,7 @@ + + + + +

                                                        Dublin is the capital of Ireland.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis2xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis2xmlrules.xml new file mode 100644 index 00000000000..eb25afba0cf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis2xmlrules.xml @@ -0,0 +1,9 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis3xml.xml new file mode 100644 index 00000000000..108061ce8a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis3xml.xml @@ -0,0 +1,17 @@ + + + + dublin + capital + + + + +

                                                        Dublin is the capital of Ireland.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis4xml.xml new file mode 100644 index 00000000000..e90c6c33fcd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis4xml.xml @@ -0,0 +1,7 @@ + + + + +

                                                        Dublin is the capital of Ireland.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis4xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis4xmlrules.xml new file mode 100644 index 00000000000..1a437e6cd10 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis4xmlrules.xml @@ -0,0 +1,11 @@ + + dublin + capital + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis5xml.xml new file mode 100644 index 00000000000..b570404cb05 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis5xml.xml @@ -0,0 +1,6 @@ + + + +

                                                        Dublin is the capital of Ireland.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis6xml.xml new file mode 100644 index 00000000000..1ffc6516988 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis6xml.xml @@ -0,0 +1,7 @@ + + + +

                                                        Dublin is the capital of Ireland.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis7xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis7xml.xml new file mode 100644 index 00000000000..f69754392f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis7xml.xml @@ -0,0 +1,14 @@ + + + + + + + +

                                                        Dublin is the capital of Ireland.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis8xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis8xml.xml new file mode 100644 index 00000000000..563d4fac055 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis8xml.xml @@ -0,0 +1,7 @@ + + + + +

                                                        Dublin is the capital of Ireland.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis8xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis8xmlrules.xml new file mode 100644 index 00000000000..05894fcaaf0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/textanalysis/xml/textanalysis8xmlrules.xml @@ -0,0 +1,8 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate1html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate1html.html new file mode 100644 index 00000000000..e31fcae0f55 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate1html.html @@ -0,0 +1,17 @@ + + + + + HTML Link Example + + + + Smiley face +

                                                        + This is the first paragraph. It has some + un-translatable code + . +

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate1htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate1htmlrules.xml new file mode 100644 index 00000000000..bd51763afdc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate1htmlrules.xml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate2html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate2html.html new file mode 100644 index 00000000000..576eaea3a34 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate2html.html @@ -0,0 +1,18 @@ + + + + + The Life of a Simple Man + + +

                                                        + Smiley face + Everything started when Zebulon discovered that he had a + doppelgänger + who was a serious baseball + aficionado + . +

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate3html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate3html.html new file mode 100644 index 00000000000..a88bd1ac6d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate3html.html @@ -0,0 +1,24 @@ + + + + + EXAMPLE + + + + The Life of a Simple Man + +
                                                        +

                                                        section one

                                                        +

                                                        + Everything started when Zebulon discovered that he had a + doppelgänger + who was a serious baseball + aficionado + . +

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate3htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate3htmlrules.xml new file mode 100644 index 00000000000..6193ec01dd8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate3htmlrules.xml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate4html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate4html.html new file mode 100644 index 00000000000..a2a4d958561 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate4html.html @@ -0,0 +1,24 @@ + + + + + EXAMPLE + + + + The Life of a Simple Man + +
                                                        +

                                                        section

                                                        +

                                                        + Everything started when Zebulon discovered that he had a + doppelgänger + who was a serious baseball + aficionado + . +

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate4htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate4htmlrules.xml new file mode 100644 index 00000000000..c252a2de85f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate4htmlrules.xml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate5html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate5html.html new file mode 100644 index 00000000000..c64c0cd5012 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate5html.html @@ -0,0 +1,35 @@ + + + + + The ITS Topic + + + +
                                                        +

                                                        Data category

                                                        + + Data category + + ITS defines + data category + as an abstract concept for a particular type of information for internationalization and localization of XML schemas and documents. + + +
                                                        +

                                                        + For the implementation of ITS, apply the rules in the order: +

                                                        +
                                                          +
                                                        • Default
                                                        • +
                                                        • Rules in the schema
                                                        • +
                                                        • Rules in the document instance
                                                        • +
                                                        • Local attributes
                                                        • +
                                                        +

                                                        + Et voila ! + The last rule wins. +

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate5htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate5htmlrules.xml new file mode 100644 index 00000000000..6193ec01dd8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate5htmlrules.xml @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate6html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate6html.html new file mode 100644 index 00000000000..82cc62c9888 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate6html.html @@ -0,0 +1,35 @@ + + + + + The ITS Topic + + + +
                                                        +

                                                        Data category

                                                        + + Data category + + ITS defines + data category + as an abstract concept for a particular type of information for internationalization and localization of XML schemas and documents. + + +
                                                        +

                                                        + For the implementation of ITS, apply the rules in the order: +

                                                        +
                                                          +
                                                        • Default
                                                        • +
                                                        • Rules in the schema
                                                        • +
                                                        • Rules in the document instance
                                                        • +
                                                        • Local attributes
                                                        • +
                                                        +

                                                        + Et voila ! + The last rule wins. +

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate6htmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate6htmlrules.xml new file mode 100644 index 00000000000..dadbad16754 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate6htmlrules.xml @@ -0,0 +1,6 @@ + +tDataCat + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate7html.html b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate7html.html new file mode 100644 index 00000000000..c17322df8ce --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/html/translate7html.html @@ -0,0 +1,19 @@ + + + + + + Example + + +

                                                        Login names can only use letters from A to Z (upper or lowercase) + For example: Huck_Finn.

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate10xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate10xml.xml new file mode 100644 index 00000000000..0559c51c95b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate10xml.xml @@ -0,0 +1,7 @@ + + + Create a folder + フォルダーを作æˆã™ã‚‹ + Erstellen Sie einen Ordner + Créer un dossier + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate10xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate10xmlrules.xml new file mode 100644 index 00000000000..5b32c690592 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate10xmlrules.xml @@ -0,0 +1,5 @@ + + 409 + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate1xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate1xml.xml new file mode 100644 index 00000000000..5649d70af49 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate1xml.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + Text with an image: Image description. + This is the first paragraph. It has some un-translatable + code with an image: Image description. + + + + The Lord of the Rings + The Return of the King + J.R.R. Tolkein + + + Minas Tirith + Pippin looked out from the shelter of Gandalf's cloak. + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate2xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate2xml.xml new file mode 100644 index 00000000000..68bfd3f28a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate2xml.xml @@ -0,0 +1,10 @@ + + + + + + + This is the first paragraph. It has some un-translatable code. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate2xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate2xmlrules.xml new file mode 100644 index 00000000000..69de855fc33 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate2xmlrules.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate3xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate3xml.xml new file mode 100644 index 00000000000..fcccc69841a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate3xml.xml @@ -0,0 +1,13 @@ + + + + + + + + + This is the first paragraph. It has some un-translatable code. + Some additional text. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate3xmlrules.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate3xmlrules.xml new file mode 100644 index 00000000000..0a45c97553b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate3xmlrules.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate4xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate4xml.xml new file mode 100644 index 00000000000..bc1ee7d64fa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate4xml.xml @@ -0,0 +1,11 @@ + + + The Life of a Simple Man + + + Smiley face +

                                                        Everything started when Zebulon discovered that he had + a doppelgänger who was a + serious baseball aficionado.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate5xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate5xml.xml new file mode 100644 index 00000000000..9dceba576a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate5xml.xml @@ -0,0 +1,13 @@ + + + The Life of a Simple Man + + +

                                                        Everything started when Zebulon discovered that he had + a doppelgänger who was a + serious baseball aficionado.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate6xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate6xml.xml new file mode 100644 index 00000000000..28bbea14d90 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate6xml.xml @@ -0,0 +1,19 @@ + + + + + + + + + The Life of a Simple Man + + Dec-05-2006 + + +

                                                        Everything started when Zebulon discovered that he had + a doppelgänger who was a + serious baseball aficionado.

                                                        +
                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate7xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate7xml.xml new file mode 100644 index 00000000000..20e9ea70b3d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate7xml.xml @@ -0,0 +1,19 @@ + + + + + + + + + The Life of a Simple Man + + Dec-05-2006 + + +

                                                        Everything started when Zebulon discovered that he had + a doppelgänger who was a + serious baseball aficionado.

                                                        +
                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate8xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate8xml.xml new file mode 100644 index 00000000000..4692cdb0870 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate8xml.xml @@ -0,0 +1,28 @@ + + The ITS Topic + + + + + + + + +
                                                        + +
                                                        Data category
                                                        +
                                                        ITS defines data category as an abstract concept for a particular + type of information for internationalization and localization of XML schemas and documents.
                                                        +
                                                        +
                                                        +

                                                        For the implementation of ITS, apply the rules in the order:

                                                        +
                                                          +
                                                        • Default
                                                        • +
                                                        • Rules in the schema
                                                        • +
                                                        • Rules in the document instance
                                                        • +
                                                        • Local attributes
                                                        • +
                                                        +

                                                        Et voilà ! The last rule wins.

                                                        + +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate9xml.xml b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate9xml.xml new file mode 100644 index 00000000000..f8606b68ff5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-its/translate/xml/translate9xml.xml @@ -0,0 +1,11 @@ + + + 409 + + + + Create a folder + フォルダーを作æˆã™ã‚‹ + Erstellen Sie einen Ordner + Créer un dossier + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0001-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0001-isvalid.html new file mode 100644 index 00000000000..c7c2d8b33dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0001-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0001 + + +

                                                        This photo was taken by Mark Birbeck.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0006-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0006-isvalid.html new file mode 100644 index 00000000000..6c5e168cfa1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0006-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0006 + + +

                                                        + This photo was taken by + Mark Birbeck. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0007-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0007-isvalid.html new file mode 100644 index 00000000000..1e6df222ac2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0007-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0007 + + +

                                                        This photo was taken by + Mark Birbeck. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0008-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0008-isvalid.html new file mode 100644 index 00000000000..d01fcb497ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0008-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0008 + + +

                                                        This document is licensed under a + + Creative Commons + . +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0009-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0009-isvalid.html new file mode 100644 index 00000000000..e7f426e5be4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0009-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0009 + + + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0010-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0010-isvalid.html new file mode 100644 index 00000000000..6fb8854f0d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0010-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0010 + + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0014-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0014-isvalid.html new file mode 100644 index 00000000000..6902a4aee74 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0014-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0014 + + +

                                                        + ten +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0015-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0015-isvalid.html new file mode 100644 index 00000000000..94742da735d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0015-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0015 + + + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0017-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0017-isvalid.html new file mode 100644 index 00000000000..a0fe4745321 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0017-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0017 + + +

                                                        + Manu Sporny + knows + Ralph Swick. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0018-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0018-isvalid.html new file mode 100644 index 00000000000..89130ca0449 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0018-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0018 + + +

                                                        + This photo was taken by + Mark Birbeck. +

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0019-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0019-novalid.html new file mode 100644 index 00000000000..a2ea7a0eb5a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0019-novalid.html @@ -0,0 +1,11 @@ + + + + + Test 0019 + + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0020-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0020-isvalid.html new file mode 100644 index 00000000000..26740993bde --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0020-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0020 + + +
                                                        + this photo was taken by + Mark Birbeck + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0021-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0021-isvalid.html new file mode 100644 index 00000000000..21b9f42112e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0021-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0021 + + +
                                                        + this photo was taken by + Mark Birbeck + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0023-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0023-isvalid.html new file mode 100644 index 00000000000..5859d457881 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0023-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0023 + + +
                                                        + This photo was taken by + Mark Birbeck +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0025-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0025-isvalid.html new file mode 100644 index 00000000000..dd7f91f3385 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0025-isvalid.html @@ -0,0 +1,17 @@ + + + + + Test 0025 + + +

                                                        + This paper was written by + + Ben Adida. + +

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0026-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0026-isvalid.html new file mode 100644 index 00000000000..42bbb1b38c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0026-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0026 + + +

                                                        + +

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0027-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0027-isvalid.html new file mode 100644 index 00000000000..31c2c97fd5c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0027-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0027 + + +

                                                        + Mark B. + +

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0029-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0029-isvalid.html new file mode 100644 index 00000000000..cccb4b277f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0029-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0029 + + +

                                                        + Mark Birbeck. +

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0030-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0030-isvalid.html new file mode 100644 index 00000000000..7fd1a85ec7a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0030-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0030 + + +

                                                        This document is licensed under a + + Creative Commons License + . +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0031-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0031-isvalid.html new file mode 100644 index 00000000000..29f2e68fe63 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0031-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0031 + + +

                                                        + The book Weaving the Web (hardcover) has the ISBN + 0752820907. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0032-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0032-isvalid.html new file mode 100644 index 00000000000..6a2cf7c1931 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0032-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0032 + + +

                                                        + The book Weaving the Web (hardcover) has the ISBN + 0752820907. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0033-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0033-isvalid.html new file mode 100644 index 00000000000..20201d54dbc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0033-isvalid.html @@ -0,0 +1,17 @@ + + + + + Test 0033 + + +

                                                        + This paper was written by + + Ben Adida. + +

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0034-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0034-isvalid.html new file mode 100644 index 00000000000..c1ef19cc554 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0034-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0034 + + +
                                                        + A photo depicting Michael +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0035-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0035-novalid.html new file mode 100644 index 00000000000..ad3b7e815eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0035-novalid.html @@ -0,0 +1,16 @@ + + + + + Test 0035 + + +
                                                        + A photo depicting Michael +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0036-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0036-isvalid.html new file mode 100644 index 00000000000..1538f755773 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0036-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0036 + + +
                                                        + A photo depicting Michael +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0037-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0037-novalid.html new file mode 100644 index 00000000000..8b4798201b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0037-novalid.html @@ -0,0 +1,17 @@ + + + + + Test 0037 + + +
                                                        + A photo depicting Michael +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0038-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0038-isvalid.html new file mode 100644 index 00000000000..e105718c996 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0038-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0038 + + +
                                                        + A photo depicting Michael +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0039-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0039-novalid.html new file mode 100644 index 00000000000..e95a49f0a55 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0039-novalid.html @@ -0,0 +1,16 @@ + + + + + Test 0039 + + +
                                                        + A photo depicting Michael +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0041-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0041-novalid.html new file mode 100644 index 00000000000..a7839adbe73 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0041-novalid.html @@ -0,0 +1,17 @@ + + + + + Test 0041 + + +
                                                        + A photo depicting Michael +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0048-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0048-isvalid.html new file mode 100644 index 00000000000..b11a63dba34 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0048-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0048 + + +
                                                        +

                                                        John Doe

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0049-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0049-isvalid.html new file mode 100644 index 00000000000..f26ef8878d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0049-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0049 + + +
                                                        +

                                                        John Doe

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0050-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0050-isvalid.html new file mode 100644 index 00000000000..94e28c88b6c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0050-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0050 + + +
                                                        +

                                                        John Doe

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0051-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0051-isvalid.html new file mode 100644 index 00000000000..c132724b087 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0051-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0051 + + +

                                                        John Doe

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0052-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0052-isvalid.html new file mode 100644 index 00000000000..8e4d02f7bf2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0052-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0052 + + +

                                                        + John Doe +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0053-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0053-isvalid.html new file mode 100644 index 00000000000..f5d2172923c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0053-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0053 + + +

                                                        + John Doe +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0054-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0054-isvalid.html new file mode 100644 index 00000000000..e689de8aaf8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0054-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0054 + + +

                                                        + This document was authored and published by + Fabien Gandon. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0055-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0055-isvalid.html new file mode 100644 index 00000000000..db2748fd1e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0055-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0055 + + +

                                                        + This document was authored and published by + Fabien Gandon. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0056-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0056-isvalid.html new file mode 100644 index 00000000000..aa80de4568a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0056-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0056 + + +
                                                        +

                                                        Mark Birbeck

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0057-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0057-isvalid.html new file mode 100644 index 00000000000..41974cbedd0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0057-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0057 + + +
                                                        +

                                                        Mark Birbeck

                                                        +

                                                        Ivan Herman

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0059-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0059-isvalid.html new file mode 100644 index 00000000000..95fbc278a78 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0059-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0059 + + +

                                                        This document was authored and published by:

                                                        +
                                                          +
                                                        • Manu Sporny
                                                        • +
                                                        • Fabien Gandon
                                                        • +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0060-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0060-isvalid.html new file mode 100644 index 00000000000..1563ffa73b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0060-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0060 + + +
                                                        +

                                                        æ¾æœ¬ åŽå­

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0063-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0063-isvalid.html new file mode 100644 index 00000000000..d5808b29b7b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0063-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0063 + + + +

                                                        This is the 63rd test. The next test is #64.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0064-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0064-isvalid.html new file mode 100644 index 00000000000..0fc82f94d6c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0064-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0064 + + +

                                                        Michael knows + Manu. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0065-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0065-isvalid.html new file mode 100644 index 00000000000..843c6d3c39e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0065-isvalid.html @@ -0,0 +1,21 @@ + + + + + Test 0065 + + +
                                                        + Manu Sporny can be reached via + email. + He knows Michael. +
                                                        + +
                                                        + Michael can be reached via + email. +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0066-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0066-isvalid.html new file mode 100644 index 00000000000..dc8642ac734 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0066-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0066 + + +

                                                        This is test #66.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0067-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0067-isvalid.html new file mode 100644 index 00000000000..e60e30e04da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0067-isvalid.html @@ -0,0 +1,9 @@ + + + + Test 0067 + + +

                                                        This is test #67.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0068-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0068-isvalid.html new file mode 100644 index 00000000000..cfd05482227 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0068-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0068 + + +

                                                        + The previous test was + Test 0067. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0069-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0069-isvalid.html new file mode 100644 index 00000000000..bc166fb75ed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0069-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0069 + + +

                                                        The next test will be + Test 0070. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0070-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0070-isvalid.html new file mode 100644 index 00000000000..e2efe67daa3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0070-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0070 + + +

                                                        The previous test was + Test 0069. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0071-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0071-isvalid.html new file mode 100644 index 00000000000..511e0b7107b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0071-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0071 + + +

                                                        This page is under a Creative Commons + + Attribution-No Derivatives 3.0 license. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0072-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0072-isvalid.html new file mode 100644 index 00000000000..e72327b9542 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0072-isvalid.html @@ -0,0 +1,14 @@ + + + + + + Test 0072 + + +

                                                        + Learn more by reading the example.org + Example FAQ. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0073-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0073-isvalid.html new file mode 100644 index 00000000000..f614cafbca0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0073-isvalid.html @@ -0,0 +1,14 @@ + + + + + + Test 0073 + + +

                                                        + This article was written by + Jane. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0074-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0074-isvalid.html new file mode 100644 index 00000000000..d25af2d5323 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0074-isvalid.html @@ -0,0 +1,14 @@ + + + + + + Test 0074 + + +

                                                        + This article was written by + Jane. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0075-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0075-isvalid.html new file mode 100644 index 00000000000..15f0dd01927 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0075-isvalid.html @@ -0,0 +1,14 @@ + + + + + + Test 0075 + + +

                                                        + This page is under a Creative Commons + Attribution-No Derivatives 3.0 license. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0079-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0079-novalid.html new file mode 100644 index 00000000000..0946e189f39 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0079-novalid.html @@ -0,0 +1,14 @@ + + + + + Test 0079 + + +
                                                        +

                                                        Ivan Herman

                                                        +

                                                        Tim Berners Lee

                                                        +

                                                        Dan Brickley

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0080-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0080-isvalid.html new file mode 100644 index 00000000000..543e474d3a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0080-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0080 + + +
                                                        +

                                                        Dan Brickley

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0083-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0083-isvalid.html new file mode 100644 index 00000000000..049f0f741f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0083-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0083 + + +
                                                        +

                                                        Ivan Herman

                                                        +

                                                        mailto:ivan@w3.org

                                                        +

                                                        Dan Brickley

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0084-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0084-isvalid.html new file mode 100644 index 00000000000..c61f1051bba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0084-isvalid.html @@ -0,0 +1,17 @@ + + + + + Test 0084 + + +
                                                        +
                                                        +

                                                        Ivan Herman

                                                        +

                                                        mailto:ivan@w3.org

                                                        +

                                                        Dan Brickley

                                                        + +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0085-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0085-novalid.html new file mode 100644 index 00000000000..a910e1e9077 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0085-novalid.html @@ -0,0 +1,16 @@ + + + + + Test 0085 + + +
                                                        +
                                                        +

                                                        Ivan Herman

                                                        +

                                                        Tim Berners Lee

                                                        +

                                                        Dan Brickley

                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0087-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0087-isvalid.html new file mode 100644 index 00000000000..269e193f967 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0087-isvalid.html @@ -0,0 +1,35 @@ + + + + + Test 0087 + + +

                                                        + alternate + appendix + bookmark + cite + chapter + contents + copyright + glossary + help + icon + index + first + last + license + meta + next + p3pv1 + prev + role + section + subsection + start + stylesheet + up +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0088-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0088-isvalid.html new file mode 100644 index 00000000000..b43ca20f34f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0088-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0088 + + +
                                                        +

                                                        Dan Brickley

                                                        +

                                                        Dan Brickley again:-)

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0089-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0089-isvalid.html new file mode 100644 index 00000000000..e85d6d7522f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0089-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0089 + + +
                                                        + example image +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0091-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0091-isvalid.html new file mode 100644 index 00000000000..67badc59dab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0091-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0091 + + +

                                                        + A human is + a bi-pedal primate. + They are quite possibly one of the most + confused animals residing in the + Milky Way. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0093-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0093-isvalid.html new file mode 100644 index 00000000000..682c65669e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0093-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0093 + + +
                                                        + Author: Albert Einstein +

                                                        E = mc2: The Most Urgent Problem of Our Time

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0099-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0099-isvalid.html new file mode 100644 index 00000000000..4c33702182c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0099-isvalid.html @@ -0,0 +1,19 @@ + + + + + Test 0099 + + +

                                                        + We put thirty spokes together and call it a wheel; + But it is on the space where there is nothing that the usefulness of the wheel depends. + We turn clay to make a vessel; + But it is on the space where there is nothing that the usefulness of the vessel depends. + We pierce doors and windows to make a house; + And it is on these spaces where there is nothing that the usefulness of the house depends. + Therefore just as we take advantage of what is, we should recognize the usefulness of what is not. + + Lao Tzu: Tao Te Ching

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0104-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0104-isvalid.html new file mode 100644 index 00000000000..03e0dd192c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0104-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0104 + + +

                                                        + The word "interfenestration" has + + 17 + characters. + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0106-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0106-isvalid.html new file mode 100644 index 00000000000..9c04bab32a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0106-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0106 + + +
                                                        + Manu created this page. +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0107-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0107-isvalid.html new file mode 100644 index 00000000000..75d30d72e9c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0107-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0107 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0109-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0109-novalid.html new file mode 100644 index 00000000000..7ca6adb3e12 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0109-novalid.html @@ -0,0 +1,13 @@ + + + + + Test 0109 + + + +
                                                        +

                                                        This is Test 0109.

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0110-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0110-isvalid.html new file mode 100644 index 00000000000..39287ec2986 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0110-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0110 + + +
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0111-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0111-isvalid.html new file mode 100644 index 00000000000..195aa7a3768 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0111-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0111 + + +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0112-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0112-isvalid.html new file mode 100644 index 00000000000..f28691f89c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0112-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0112 + + +

                                                        + not an XML Literal, +whitespace preserved + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0114-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0114-isvalid.html new file mode 100644 index 00000000000..363cc1b0400 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0114-isvalid.html @@ -0,0 +1,19 @@ + + + + + Test 0114 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0115-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0115-isvalid.html new file mode 100644 index 00000000000..cde9b6e40d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0115-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0115 + + +

                                                        Description: XML entities in the RDFa content

                                                        +

                                                        + > + Ben & Co. + @ + @ +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0117-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0117-isvalid.html new file mode 100644 index 00000000000..4f3957b825a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0117-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0117 + + +

                                                        + Mark Birbeck + added this triple test. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0118-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0118-isvalid.html new file mode 100644 index 00000000000..2af4127f264 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0118-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0118 + + +

                                                        + Check to see if parsers get confused when "" is + interpreted as NULL in some chaining cases. + Ben +

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0119-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0119-isvalid.html new file mode 100644 index 00000000000..187a42ea189 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0119-isvalid.html @@ -0,0 +1,17 @@ + + + + + Test 0119 + + +
                                                        +

                                                        + The + Example Website + is used in many W3C tutorials. +

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0120-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0120-isvalid.html new file mode 100644 index 00000000000..fc44b1e2c00 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0120-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0120 + + +

                                                        + The + The XHTML Vocabulary Document + is the default prefix for XHTML+RDFa 1.0. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0122-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0122-isvalid.html new file mode 100644 index 00000000000..e3472f54146 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0122-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0122 + + +

                                                        + This section is contained below the main site. +

                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0126-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0126-isvalid.html new file mode 100644 index 00000000000..419edd91e11 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0126-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0126 + + +
                                                        +

                                                        My article

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0131-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0131-novalid.html new file mode 100644 index 00000000000..2de7ecef6e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0131-novalid.html @@ -0,0 +1,10 @@ + + + + + Test + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0134-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0134-isvalid.html new file mode 100644 index 00000000000..2e77ec5ad34 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0134-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0140-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0140-isvalid.html new file mode 100644 index 00000000000..d2a71239296 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0140-isvalid.html @@ -0,0 +1,11 @@ + + + + + Blank-node as Predicate Test + + +

                                                        Blank Nodes are not allowed to be predicate identifiers in RDF:

                                                        +

                                                        Test

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0147-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0147-novalid.html new file mode 100644 index 00000000000..23adadedf12 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0147-novalid.html @@ -0,0 +1,10 @@ + + + + + Test + + +

                                                        Test

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0174-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0174-isvalid.html new file mode 100644 index 00000000000..a7564eb7637 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0174-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0174 + + +

                                                        + This test ensures that single-character prefixes are allowed. + My name is: + John Doe +

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0175-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0175-isvalid.html new file mode 100644 index 00000000000..b02fab0b3c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0175-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0175 + + +

                                                        My name is + Gregg Kellogg. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0176-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0176-isvalid.html new file mode 100644 index 00000000000..2983e2e038d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0176-isvalid.html @@ -0,0 +1,22 @@ + + + + + Test 0176 + + +
                                                        + Manu can be reached via + email. + He knows Gregg. + Who knows Manu. +
                                                        + +
                                                        + Gregg can be reached via + email. +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0177-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0177-isvalid.html new file mode 100644 index 00000000000..622a68562a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0177-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0177 + + + +
                                                        +

                                                        Ivan Herman

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0178-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0178-isvalid.html new file mode 100644 index 00000000000..27c81d93da4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0178-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0178 + + + +
                                                        +

                                                        A particular agent

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0179-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0179-novalid.html new file mode 100644 index 00000000000..80cac4fa336 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0179-novalid.html @@ -0,0 +1,14 @@ + + + + + Test 0179 + + + + +
                                                        +

                                                        Ivan Herman

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0180-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0180-novalid.html new file mode 100644 index 00000000000..1d5c4fcfeee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0180-novalid.html @@ -0,0 +1,13 @@ + + + + + Test 0180 + + + +
                                                        +

                                                        Ivan Herman

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0181-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0181-isvalid.html new file mode 100644 index 00000000000..66950be4481 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0181-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0181 + + +
                                                        +

                                                        Ivan Herman

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0182-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0182-isvalid.html new file mode 100644 index 00000000000..0026e32eee4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0182-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0182 + + + +
                                                        +
                                                        +

                                                        A particular agent

                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0183-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0183-novalid.html new file mode 100644 index 00000000000..d3a9a55d21d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0183-novalid.html @@ -0,0 +1,15 @@ + + + + + Test 0183 + + + +
                                                        +
                                                        +

                                                        A particular agent

                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0186-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0186-isvalid.html new file mode 100644 index 00000000000..798d2b5637a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0186-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0186 + + + +
                                                        +

                                                        Ivan Herman

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0187-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0187-isvalid.html new file mode 100644 index 00000000000..5a32f133604 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0187-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0187 + + + +
                                                        +
                                                        +

                                                        Ivan Herman

                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0188-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0188-isvalid.html new file mode 100644 index 00000000000..a9569c9dc11 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0188-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0188 + + + +
                                                        +
                                                        +

                                                        Ivan Herman

                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0189-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0189-isvalid.html new file mode 100644 index 00000000000..ff7804d24c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0189-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0189 + + +
                                                        +

                                                        Ivan Herman

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0190-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0190-isvalid.html new file mode 100644 index 00000000000..d8f0f98b9ee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0190-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0190 + + +
                                                        +

                                                        Ivan Herman

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0196-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0196-isvalid.html new file mode 100644 index 00000000000..6b764dbd55a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0196-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0196 + + +
                                                        +

                                                        This is an XMLLiteral

                                                        +

                                                        This is a plain literal

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0197-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0197-isvalid.html new file mode 100644 index 00000000000..57d2a2fb0c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0197-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0197 + + + +

                                                        Gregg Kellogg

                                                        +

                                                        Ruby

                                                        +

                                                        Kellogg Associates

                                                        +

                                                        Ruby Gem

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0206-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0206-isvalid.html new file mode 100644 index 00000000000..cdcf64a4b1f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0206-isvalid.html @@ -0,0 +1,13 @@ + + + + + Default context test 0206 + + +

                                                        + An OWL Axiom: "xsd:maxExclusive" is a Datatype Property in OWL. +

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0207-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0207-isvalid.html new file mode 100644 index 00000000000..db3c87de8fd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0207-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0207 + + +

                                                        + Weekend off in Iona: + Oct 21st + to Oct 23rd. + See FreeTime.Example.org for + info on Iona, UK. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0213-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0213-isvalid.html new file mode 100644 index 00000000000..b07bab2066f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0213-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0213 + + + +
                                                        +

                                                        E = mc2: The Most Urgent Problem of Our Time

                                                        +
                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0214-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0214-isvalid.html new file mode 100644 index 00000000000..395e645fb87 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0214-isvalid.html @@ -0,0 +1,9 @@ + + + + Test 0214 + + +

                                                        This document has a title.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0216-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0216-isvalid.html new file mode 100644 index 00000000000..005731efe2b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0216-isvalid.html @@ -0,0 +1,31 @@ + + + + + Test 0216 + + + +

                                                        Iván

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0217-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0217-isvalid.html new file mode 100644 index 00000000000..b6de9ce76c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0217-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0217 + + + +
                                                        +

                                                        Gregg Kellogg

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0218-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0218-isvalid.html new file mode 100644 index 00000000000..f8bb147def0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0218-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0218 + + +
                                                        +

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0219-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0219-isvalid.html new file mode 100644 index 00000000000..3865401f396 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0219-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0219 + + +
                                                        +

                                                        Foo

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0220-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0220-isvalid.html new file mode 100644 index 00000000000..a171f2d472d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0220-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0220 + + +
                                                        + Foo +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0221-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0221-isvalid.html new file mode 100644 index 00000000000..b01b83ae9bd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0221-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0221 + + +
                                                        +

                                                        Foo

                                                        + Foo +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0222-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0222-novalid.html new file mode 100644 index 00000000000..09bc1b56e25 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0222-novalid.html @@ -0,0 +1,13 @@ + + + + + Test 0222 + + +
                                                        +

                                                        Foo

                                                        +

                                                        Bar

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0223-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0223-novalid.html new file mode 100644 index 00000000000..662fe5124aa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0223-novalid.html @@ -0,0 +1,14 @@ + + + + + Test 0223 + + +
                                                        +

                                                        Foo

                                                        +

                                                        Bar

                                                        +

                                                        Baz

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0224-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0224-isvalid.html new file mode 100644 index 00000000000..08b39cf2cdc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0224-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0224 + + +
                                                        +
                                                          +
                                                        1. Foo
                                                        2. +
                                                        3. Bar
                                                        4. +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0225-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0225-isvalid.html new file mode 100644 index 00000000000..f513aabb661 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0225-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0225 + + +
                                                        +

                                                        Foo

                                                        +
                                                        +
                                                        +

                                                        Bar

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0226-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0226-novalid.html new file mode 100644 index 00000000000..bf6103ea9b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0226-novalid.html @@ -0,0 +1,15 @@ + + + + + Test 0226 + + +
                                                        +

                                                        Foo

                                                        + +

                                                        Bar

                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0227-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0227-novalid.html new file mode 100644 index 00000000000..a0a961fd57a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0227-novalid.html @@ -0,0 +1,15 @@ + + + + + Test 0227 + + +
                                                        +

                                                        Foo

                                                        + +

                                                        Bar

                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0228-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0228-isvalid.html new file mode 100644 index 00000000000..bc3578d57eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0228-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0228 + + + +
                                                        + A photo depicting Michael +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0229-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0229-isvalid.html new file mode 100644 index 00000000000..3d37f5c4349 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0229-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0042 + + +
                                                        + A photo depicting Michael +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0230-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0230-novalid.html new file mode 100644 index 00000000000..8e19185af69 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0230-novalid.html @@ -0,0 +1,16 @@ + + + + + Test 0230 + + +
                                                        + example image +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0231-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0231-isvalid.html new file mode 100644 index 00000000000..19160913db6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0231-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0231 + + +
                                                        + example image +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0232-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0232-isvalid.html new file mode 100644 index 00000000000..6a3eac21945 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0232-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0232 + + +
                                                        +

                                                        John Doe

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0233-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0233-isvalid.html new file mode 100644 index 00000000000..586778ecf3e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0233-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0233 + + +
                                                        +

                                                        John Doe

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0234-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0234-novalid.html new file mode 100644 index 00000000000..3dfbdaa03d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0234-novalid.html @@ -0,0 +1,14 @@ + + + + + Test 0234 + + +

                                                        + describedby + license + role +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0235-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0235-isvalid.html new file mode 100644 index 00000000000..183956137e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0235-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0235 + + +

                                                        + The rdfagraph should not generate triples when + looking only at the processor graph. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0237-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0237-novalid.html new file mode 100644 index 00000000000..cf5b022224c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0237-novalid.html @@ -0,0 +1,12 @@ + + + + + Test 0237 + + + Malformed Prefix + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0238-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0238-isvalid.html new file mode 100644 index 00000000000..92feca27aed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0238-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0238 + + + Undefined Term + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0239-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0239-isvalid.html new file mode 100644 index 00000000000..a28850ee58e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0239-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0239 + + + Undefined Prefix + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0240-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0240-isvalid.html new file mode 100644 index 00000000000..9938beaa8f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0240-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0240 + + + Using the property subProp + should cause a triple with baseProp to be added. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0241-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0241-isvalid.html new file mode 100644 index 00000000000..eb6b77a98db --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0241-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0241 + + + Using the property eqProp + should cause a triple with baseProp to be added. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0242-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0242-isvalid.html new file mode 100644 index 00000000000..7b6a59078d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0242-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0242 + + + Using the property eqProp + should cause a triple with eqProp to be added. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0243-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0243-isvalid.html new file mode 100644 index 00000000000..7a21da41350 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0243-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0243 + + + Using the type SubClass + should cause a triple with BaseClass to be added. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0244-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0244-isvalid.html new file mode 100644 index 00000000000..654009bb4b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0244-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0244 + + + Using the type EqClass + should cause a triple with BaseClass to be added. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0245-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0245-isvalid.html new file mode 100644 index 00000000000..513d80060c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0245-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0245 + + + Using the type BaseClass + should cause a triple with EqClass to be added. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0246-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0246-isvalid.html new file mode 100644 index 00000000000..fd59c141cb2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0246-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0246 + + +
                                                        +

                                                        Mark Birbeck

                                                        +

                                                        Ivan Herman

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0247-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0247-isvalid.html new file mode 100644 index 00000000000..b0b8ca07114 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0247-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0247 + + +
                                                        +

                                                        Ivan Herman

                                                        +

                                                        mailto:ivan@w3.org

                                                        +

                                                        Mark Birbeck

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0248-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0248-isvalid.html new file mode 100644 index 00000000000..b2a3e3f6ed6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0248-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0248 + + +
                                                        +

                                                        Ivan Herman

                                                        +

                                                        mailto:ivan@w3.org

                                                        +

                                                        Mark Birbeck

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0249-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0249-isvalid.html new file mode 100644 index 00000000000..f84895c29ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0249-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0249 + + +
                                                        +

                                                        Ivan Herman

                                                        +

                                                        mailto:ivan@w3.org

                                                        +

                                                        Mark Birbeck

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0250-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0250-isvalid.html new file mode 100644 index 00000000000..61b8dbe7a96 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0250-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0250 + + +

                                                        Ivan Herman

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0251-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0251-isvalid.html new file mode 100644 index 00000000000..1a39f19879b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0251-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 251 + + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0252-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0252-isvalid.html new file mode 100644 index 00000000000..ba7d228fc7e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0252-isvalid.html @@ -0,0 +1,10 @@ + + + + Test 0252 + + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0253-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0253-isvalid.html new file mode 100644 index 00000000000..858aed8b247 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0253-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0108 + + +

                                                        ελληνικό +άσπÏο διάστημα +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0254-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0254-isvalid.html new file mode 100644 index 00000000000..845a787757f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0254-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0254 + + + +

                                                        A plain literal with a lang tag.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0255-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0255-isvalid.html new file mode 100644 index 00000000000..1d4bbb23952 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0255-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0255 + + + +

                                                        Just a plain literal.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0257-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0257-isvalid.html new file mode 100644 index 00000000000..01e194240cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0257-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0257 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0258-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0258-novalid.html new file mode 100644 index 00000000000..9f9a48c3d9b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0258-novalid.html @@ -0,0 +1,14 @@ + + + + + Undescore Prefix is Ignored Test + + +

                                                        Ensure that the "_" prefix is ignored.

                                                        +

                                                        Test

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0259-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0259-isvalid.html new file mode 100644 index 00000000000..e2c8e5d600f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0259-isvalid.html @@ -0,0 +1,48 @@ + + + + + Test 0259 + + +
                                                        + Vocabulary Prefixes + GRDDL + MA + OWL + RDF + RDFa + RDFS + RIF + SKOS + SKOS-XL + WDR + VOID + WDRS + XHV + XML + XSD +
                                                        +
                                                        + Widely Used prefixes + CC + CTAG + DC + DCTERMS + FOAF + GR + ICAL + OG + REV + SIOC + V + VCARD + Schema +
                                                        +
                                                        + Vocabulary Terms + DescribedBy + License + Role +
                                                        + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0261-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0261-isvalid.html new file mode 100644 index 00000000000..6f887d1b62d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0261-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0261 + + +
                                                        +

                                                        This is +an XMLLiteral

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0262-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0262-isvalid.html new file mode 100644 index 00000000000..5293ec2916b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0262-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0262 + + +

                                                        This photo was taken by Mark Birbeck.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0263-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0263-isvalid.html new file mode 100644 index 00000000000..d8ef4b0b279 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0263-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0263 + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0264-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0264-isvalid.html new file mode 100644 index 00000000000..62cefe5013d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0264-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0264 + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0265-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0265-isvalid.html new file mode 100644 index 00000000000..b4bcf8057a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0265-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0265 + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0266-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0266-isvalid.html new file mode 100644 index 00000000000..5f30516f23f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0266-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0266 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0267-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0267-isvalid.html new file mode 100644 index 00000000000..291dad06caf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0267-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0267 + + +
                                                        +

                                                        Ivan Herman

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0268-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0268-isvalid.html new file mode 100644 index 00000000000..77c2bc5e3d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0268-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0268 + + +
                                                        + Ivan Herman +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0269-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0269-isvalid.html new file mode 100644 index 00000000000..3ff53585f11 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0269-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0269 + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0271-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0271-isvalid.html new file mode 100644 index 00000000000..50a8e8a84ec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0271-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0269 + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0272-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0272-isvalid.html new file mode 100644 index 00000000000..ddd86e6b6d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0272-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0272 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0273-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0273-isvalid.html new file mode 100644 index 00000000000..3bbf607f8a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0273-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0273 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0274-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0274-isvalid.html new file mode 100644 index 00000000000..faf6d451ed0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0274-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0274 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0275-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0275-isvalid.html new file mode 100644 index 00000000000..c53311b6457 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0275-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0275 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0276-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0276-isvalid.html new file mode 100644 index 00000000000..6ca34862b6b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0276-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0275 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0277-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0277-isvalid.html new file mode 100644 index 00000000000..61922bf18ff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0277-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0277 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0278-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0278-isvalid.html new file mode 100644 index 00000000000..7490cf0f18d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0278-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0278 + + +

                                                        The value of @content has a higher priority than @datetime

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0279-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0279-isvalid.html new file mode 100644 index 00000000000..da3798d085e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0279-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0279 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0280-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0280-novalid.html new file mode 100644 index 00000000000..dbe94dfd0ac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0280-novalid.html @@ -0,0 +1,10 @@ + + + + + Test 0280 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0281-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0281-isvalid.html new file mode 100644 index 00000000000..1158dc9361e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0281-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0281 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0282-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0282-isvalid.html new file mode 100644 index 00000000000..1fd9cb1a1fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0282-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0282 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0283-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0283-isvalid.html new file mode 100644 index 00000000000..3be86a46f53 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0283-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0283 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0284-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0284-isvalid.html new file mode 100644 index 00000000000..e2b0254b9a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0284-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0284 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0285-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0285-novalid.html new file mode 100644 index 00000000000..58d276f28b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0285-novalid.html @@ -0,0 +1,12 @@ + + + + + Test 0285 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0287-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0287-isvalid.html new file mode 100644 index 00000000000..17aa3007488 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0287-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0287 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0289-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0289-isvalid.html new file mode 100644 index 00000000000..09af29ea572 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0289-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0289 + + +

                                                        @href becomes subject when @property and @content are present

                                                        + ignored + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0290-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0290-isvalid.html new file mode 100644 index 00000000000..12ac353b2d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0290-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0290 + + +

                                                        @href becomes subject when @property and @datatype are present

                                                        + value + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0291-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0291-isvalid.html new file mode 100644 index 00000000000..dddb87e2b68 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0291-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0291 + + +

                                                        @href as subject overridden by @about

                                                        + ignored + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0292-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0292-isvalid.html new file mode 100644 index 00000000000..1a9e85b467c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0292-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0292 + + +

                                                        @about overriding @href as subject is used as parent resource

                                                        + + value two + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0293-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0293-isvalid.html new file mode 100644 index 00000000000..2202603d775 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0293-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0293 + + +

                                                        Testing the ':' character usage in a CURIE

                                                        +
                                                        +

                                                        Test

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0296-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0296-isvalid.html new file mode 100644 index 00000000000..bdf56c40ed3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0296-isvalid.html @@ -0,0 +1,27 @@ + + + + + Test 0296 + + +
                                                        + Gregg + Knows + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0297-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0297-isvalid.html new file mode 100644 index 00000000000..5832089565b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0297-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0297: Testing @typeof and @about=[] + + +
                                                        Alex Milowski
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0298-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0298-isvalid.html new file mode 100644 index 00000000000..54ab6d91d4f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0298-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0298: Testing @typeof and @about=[] + + +
                                                        + Alex Milowski +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0299-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0299-isvalid.html new file mode 100644 index 00000000000..c529090d729 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0299-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0299: Testing @resource=[] + + + The Foo Document + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0300-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0300-isvalid.html new file mode 100644 index 00000000000..38741f14bc2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0300-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0300: Testing @resource=[] + + + The Foo Document + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0301-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0301-isvalid.html new file mode 100644 index 00000000000..f6dce1da965 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0301-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0301: Typed Property + + +

                                                        + Fizzbit +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0302-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0302-isvalid.html new file mode 100644 index 00000000000..21020d0fc4c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0302-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0302: various types of tokens in @typeof + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0303-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0303-novalid.html new file mode 100644 index 00000000000..64442095904 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0303-novalid.html @@ -0,0 +1,13 @@ + + + + + Test 0303: @rel/@rev terms removed if @property exists + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0305-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0305-isvalid.html new file mode 100644 index 00000000000..3ee7f486038 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0305-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0305 + + +
                                                        +

                                                        Some contents that are a header

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0306-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0306-isvalid.html new file mode 100644 index 00000000000..8abd9fd7409 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0306-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0306 + + + +
                                                        +

                                                        Some contents that are a header

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0307-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0307-isvalid.html new file mode 100644 index 00000000000..c9b99557abb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0307-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0307 + + +
                                                        +

                                                        Some contents that are a header

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0308-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0308-novalid.html new file mode 100644 index 00000000000..56f9a3930d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0308-novalid.html @@ -0,0 +1,12 @@ + + + + + Test 0308 + + +
                                                        +

                                                        Some contents that are a header

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0309-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0309-novalid.html new file mode 100644 index 00000000000..e9ca319beb2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0309-novalid.html @@ -0,0 +1,12 @@ + + + + + Test 0309 + + +
                                                        +

                                                        Some contents that are a header

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0310-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0310-novalid.html new file mode 100644 index 00000000000..89793d797a9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0310-novalid.html @@ -0,0 +1,12 @@ + + + + + Test 0310 + + +
                                                        +

                                                        Some contents that are a header

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0311-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0311-isvalid.html new file mode 100644 index 00000000000..e8991e4aed3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0311-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0311 + + +
                                                        + this photo was taken by + Stéphane Corlosquet + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0312-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0312-isvalid.html new file mode 100644 index 00000000000..af489fe88b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0312-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0312 + + +

                                                        + The homepage of Some Body. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0313-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0313-isvalid.html new file mode 100644 index 00000000000..e4b4b760da0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0313-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0313 + + +

                                                        Foo

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0314-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0314-novalid.html new file mode 100644 index 00000000000..a8e1c160845 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0314-novalid.html @@ -0,0 +1,36 @@ + + + + + Test 0314 + + + + +
                                                        +

                                                        This is the primary content of this page. It has some sections.

                                                        +
                                                        +

                                                        Some contents that are a header

                                                        +

                                                        Section 1 needs some content!

                                                        +
                                                        +
                                                        +

                                                        This is Section 2

                                                        +

                                                        Section 2 is pretty boring.

                                                        +
                                                        +
                                                        +

                                                        This is Appendix 1

                                                        +

                                                        It is a note about the document - not a primary content + item.

                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0315-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0315-isvalid.html new file mode 100644 index 00000000000..79bf76a0232 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0315-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0315 + + +
                                                        +
                                                        + Director +
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0316-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0316-isvalid.html new file mode 100644 index 00000000000..7063dd3aa62 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0316-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0316 + + +
                                                        +
                                                        + Director +
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0317-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0317-isvalid.html new file mode 100644 index 00000000000..a8d0f895009 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0317-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0316 + + +
                                                        +
                                                        + Director +
                                                        +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0318-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0318-isvalid.html new file mode 100644 index 00000000000..cd81dd3291a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0318-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0318 + + +
                                                        +
                                                        +

                                                        Ivan Herman

                                                        + +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0319-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0319-novalid.html new file mode 100644 index 00000000000..86dd40e1221 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0319-novalid.html @@ -0,0 +1,11 @@ + + + + + + Test 0319 + + +

                                                        value

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0320-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0320-novalid.html new file mode 100644 index 00000000000..19816e4c849 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0320-novalid.html @@ -0,0 +1,14 @@ + + + + + Test 0320 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0321-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0321-isvalid.html new file mode 100644 index 00000000000..f8d6066fff1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0321-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0321 + + +
                                                        + +
                                                        +

                                                        Name: Amanda

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0322-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0322-isvalid.html new file mode 100644 index 00000000000..ec2126ea706 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0322-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0322 + + +
                                                        +

                                                        My name is Gregg

                                                        + +
                                                        +

                                                        My name is Kellogg

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0323-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0323-isvalid.html new file mode 100644 index 00000000000..3e40723b2c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0323-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0323 + + +
                                                        + +
                                                        +
                                                        + +
                                                        +

                                                        Name: Amanda

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0324-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0324-isvalid.html new file mode 100644 index 00000000000..4c05270fde2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0324-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0324 + + +
                                                        + + +
                                                        +

                                                        Name: Amanda

                                                        +

                                                        Jazz Band

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0325-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0325-isvalid.html new file mode 100644 index 00000000000..004ba800598 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0325-isvalid.html @@ -0,0 +1,17 @@ + + + + + + Test 0325 + + +
                                                        +
                                                        +
                                                        +
                                                        + Amanda +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0326-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0326-isvalid.html new file mode 100644 index 00000000000..95ae06a7fe9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0326-isvalid.html @@ -0,0 +1,15 @@ + + + + + + Test 0326 + + +
                                                        + +
                                                        +

                                                        Name: Bella

                                                        +

                                                        Name: Lola

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0327-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0327-isvalid.html new file mode 100644 index 00000000000..25f14e7575b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0327-isvalid.html @@ -0,0 +1,24 @@ + + + + + + Test 0327 + + +
                                                        + + +
                                                        +

                                                        Name: Amanda

                                                        +
                                                        +
                                                        + +
                                                        +
                                                        +
                                                        +

                                                        Band: Jazz Band

                                                        +

                                                        Size: 12 players

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0328-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0328-isvalid.html new file mode 100644 index 00000000000..11fdf077bd5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0328-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0328 + + +

                                                        The value of @content has a higher priority than the content of the element

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0329-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0329-isvalid.html new file mode 100644 index 00000000000..996183c848e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0329-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0329 + + +
                                                        + John + Doe +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0330-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0330-isvalid.html new file mode 100644 index 00000000000..2ce3e07ede2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0330-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0330 + + +
                                                        2010-11-12
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0331-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0331-isvalid.html new file mode 100644 index 00000000000..f54979398d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfa/0331-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0331 + + +
                                                        Afrikaans
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0015-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0015-novalid.html new file mode 100644 index 00000000000..94742da735d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0015-novalid.html @@ -0,0 +1,12 @@ + + + + + Test 0015 + + + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0021-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0021-isvalid.html new file mode 100644 index 00000000000..21b9f42112e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0021-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0021 + + +
                                                        + this photo was taken by + Mark Birbeck + +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0023-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0023-isvalid.html new file mode 100644 index 00000000000..5859d457881 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0023-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0023 + + +
                                                        + This photo was taken by + Mark Birbeck +
                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0030-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0030-novalid.html new file mode 100644 index 00000000000..7fd1a85ec7a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0030-novalid.html @@ -0,0 +1,15 @@ + + + + + Test 0030 + + +

                                                        This document is licensed under a + + Creative Commons License + . +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0050-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0050-isvalid.html new file mode 100644 index 00000000000..94e28c88b6c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0050-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0050 + + +
                                                        +

                                                        John Doe

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0052-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0052-isvalid.html new file mode 100644 index 00000000000..8e4d02f7bf2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0052-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0052 + + +

                                                        + John Doe +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0053-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0053-isvalid.html new file mode 100644 index 00000000000..f5d2172923c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0053-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0053 + + +

                                                        + John Doe +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0066-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0066-isvalid.html new file mode 100644 index 00000000000..dc8642ac734 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0066-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0066 + + +

                                                        This is test #66.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0067-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0067-isvalid.html new file mode 100644 index 00000000000..e60e30e04da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0067-isvalid.html @@ -0,0 +1,9 @@ + + + + Test 0067 + + +

                                                        This is test #67.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0071-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0071-novalid.html new file mode 100644 index 00000000000..511e0b7107b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0071-novalid.html @@ -0,0 +1,14 @@ + + + + + Test 0071 + + +

                                                        This page is under a Creative Commons + + Attribution-No Derivatives 3.0 license. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0074-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0074-novalid.html new file mode 100644 index 00000000000..d25af2d5323 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0074-novalid.html @@ -0,0 +1,14 @@ + + + + + + Test 0074 + + +

                                                        + This article was written by + Jane. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0075-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0075-isvalid.html new file mode 100644 index 00000000000..15f0dd01927 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0075-isvalid.html @@ -0,0 +1,14 @@ + + + + + + Test 0075 + + +

                                                        + This page is under a Creative Commons + Attribution-No Derivatives 3.0 license. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0089-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0089-isvalid.html new file mode 100644 index 00000000000..e85d6d7522f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0089-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0089 + + +
                                                        + example image +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0115-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0115-isvalid.html new file mode 100644 index 00000000000..cde9b6e40d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0115-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0115 + + +

                                                        Description: XML entities in the RDFa content

                                                        +

                                                        + > + Ben & Co. + @ + @ +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0117-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0117-isvalid.html new file mode 100644 index 00000000000..4f3957b825a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0117-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0117 + + +

                                                        + Mark Birbeck + added this triple test. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0134-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0134-isvalid.html new file mode 100644 index 00000000000..2e77ec5ad34 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0134-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0140-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0140-isvalid.html new file mode 100644 index 00000000000..d2a71239296 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0140-isvalid.html @@ -0,0 +1,11 @@ + + + + + Blank-node as Predicate Test + + +

                                                        Blank Nodes are not allowed to be predicate identifiers in RDF:

                                                        +

                                                        Test

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0147.novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0147.novalid.html new file mode 100644 index 00000000000..23adadedf12 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0147.novalid.html @@ -0,0 +1,10 @@ + + + + + Test + + +

                                                        Test

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0214-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0214-isvalid.html new file mode 100644 index 00000000000..395e645fb87 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0214-isvalid.html @@ -0,0 +1,9 @@ + + + + Test 0214 + + +

                                                        This document has a title.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0235-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0235-isvalid.html new file mode 100644 index 00000000000..183956137e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0235-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0235 + + +

                                                        + The rdfagraph should not generate triples when + looking only at the processor graph. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0238-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0238-isvalid.html new file mode 100644 index 00000000000..92feca27aed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0238-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0238 + + + Undefined Term + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0239-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0239-isvalid.html new file mode 100644 index 00000000000..a28850ee58e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0239-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0239 + + + Undefined Prefix + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0240-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0240-isvalid.html new file mode 100644 index 00000000000..9938beaa8f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0240-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0240 + + + Using the property subProp + should cause a triple with baseProp to be added. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0241-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0241-isvalid.html new file mode 100644 index 00000000000..eb6b77a98db --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0241-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0241 + + + Using the property eqProp + should cause a triple with baseProp to be added. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0242-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0242-isvalid.html new file mode 100644 index 00000000000..7b6a59078d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0242-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0242 + + + Using the property eqProp + should cause a triple with eqProp to be added. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0255-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0255-isvalid.html new file mode 100644 index 00000000000..1d4bbb23952 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0255-isvalid.html @@ -0,0 +1,11 @@ + + + + + Test 0255 + + + +

                                                        Just a plain literal.

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0259-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0259-isvalid.html new file mode 100644 index 00000000000..e2c8e5d600f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0259-isvalid.html @@ -0,0 +1,48 @@ + + + + + Test 0259 + + +
                                                        + Vocabulary Prefixes + GRDDL + MA + OWL + RDF + RDFa + RDFS + RIF + SKOS + SKOS-XL + WDR + VOID + WDRS + XHV + XML + XSD +
                                                        +
                                                        + Widely Used prefixes + CC + CTAG + DC + DCTERMS + FOAF + GR + ICAL + OG + REV + SIOC + V + VCARD + Schema +
                                                        +
                                                        + Vocabulary Terms + DescribedBy + License + Role +
                                                        + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0263-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0263-isvalid.html new file mode 100644 index 00000000000..d8ef4b0b279 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0263-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0263 + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0264-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0264-isvalid.html new file mode 100644 index 00000000000..62cefe5013d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0264-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0264 + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0272-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0272-isvalid.html new file mode 100644 index 00000000000..ddd86e6b6d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0272-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0272 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0273-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0273-isvalid.html new file mode 100644 index 00000000000..3bbf607f8a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0273-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0273 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0274-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0274-isvalid.html new file mode 100644 index 00000000000..faf6d451ed0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0274-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0274 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0275-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0275-isvalid.html new file mode 100644 index 00000000000..c53311b6457 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0275-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0275 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0276-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0276-isvalid.html new file mode 100644 index 00000000000..6ca34862b6b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0276-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0275 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0277-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0277-isvalid.html new file mode 100644 index 00000000000..61922bf18ff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0277-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0277 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0281-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0281-isvalid.html new file mode 100644 index 00000000000..1158dc9361e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0281-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0281 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0282-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0282-isvalid.html new file mode 100644 index 00000000000..1fd9cb1a1fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0282-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0282 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0283-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0283-isvalid.html new file mode 100644 index 00000000000..3be86a46f53 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0283-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0283 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0287-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0287-isvalid.html new file mode 100644 index 00000000000..17aa3007488 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0287-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0287 + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0296-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0296-isvalid.html new file mode 100644 index 00000000000..bdf56c40ed3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0296-isvalid.html @@ -0,0 +1,27 @@ + + + + + Test 0296 + + +
                                                        + Gregg + Knows + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0301-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0301-isvalid.html new file mode 100644 index 00000000000..f6dce1da965 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0301-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0301: Typed Property + + +

                                                        + Fizzbit +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0302-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0302-isvalid.html new file mode 100644 index 00000000000..21020d0fc4c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0302-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0302: various types of tokens in @typeof + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0305-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0305-isvalid.html new file mode 100644 index 00000000000..3ee7f486038 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0305-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0305 + + +
                                                        +

                                                        Some contents that are a header

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0306-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0306-isvalid.html new file mode 100644 index 00000000000..8abd9fd7409 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0306-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0306 + + + +
                                                        +

                                                        Some contents that are a header

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0307-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0307-isvalid.html new file mode 100644 index 00000000000..c9b99557abb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0307-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0307 + + +
                                                        +

                                                        Some contents that are a header

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0311-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0311-isvalid.html new file mode 100644 index 00000000000..e8991e4aed3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0311-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0311 + + +
                                                        + this photo was taken by + Stéphane Corlosquet + +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0312-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0312-isvalid.html new file mode 100644 index 00000000000..af489fe88b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0312-isvalid.html @@ -0,0 +1,12 @@ + + + + + Test 0312 + + +

                                                        + The homepage of Some Body. +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0313-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0313-isvalid.html new file mode 100644 index 00000000000..e4b4b760da0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0313-isvalid.html @@ -0,0 +1,10 @@ + + + + + Test 0313 + + +

                                                        Foo

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0319-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0319-novalid.html new file mode 100644 index 00000000000..86dd40e1221 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0319-novalid.html @@ -0,0 +1,11 @@ + + + + + + Test 0319 + + +

                                                        value

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0321-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0321-isvalid.html new file mode 100644 index 00000000000..f8d6066fff1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0321-isvalid.html @@ -0,0 +1,13 @@ + + + + + Test 0321 + + +
                                                        + +
                                                        +

                                                        Name: Amanda

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0322-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0322-isvalid.html new file mode 100644 index 00000000000..ec2126ea706 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0322-isvalid.html @@ -0,0 +1,14 @@ + + + + + Test 0322 + + +
                                                        +

                                                        My name is Gregg

                                                        + +
                                                        +

                                                        My name is Kellogg

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0323-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0323-isvalid.html new file mode 100644 index 00000000000..3e40723b2c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0323-isvalid.html @@ -0,0 +1,16 @@ + + + + + Test 0323 + + +
                                                        + +
                                                        +
                                                        + +
                                                        +

                                                        Name: Amanda

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0324-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0324-isvalid.html new file mode 100644 index 00000000000..4c05270fde2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0324-isvalid.html @@ -0,0 +1,15 @@ + + + + + Test 0324 + + +
                                                        + + +
                                                        +

                                                        Name: Amanda

                                                        +

                                                        Jazz Band

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0325-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0325-isvalid.html new file mode 100644 index 00000000000..004ba800598 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0325-isvalid.html @@ -0,0 +1,17 @@ + + + + + + Test 0325 + + +
                                                        +
                                                        +
                                                        +
                                                        + Amanda +
                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0326-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0326-isvalid.html new file mode 100644 index 00000000000..95ae06a7fe9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0326-isvalid.html @@ -0,0 +1,15 @@ + + + + + + Test 0326 + + +
                                                        + +
                                                        +

                                                        Name: Bella

                                                        +

                                                        Name: Lola

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0327-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0327-isvalid.html new file mode 100644 index 00000000000..25f14e7575b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html-rdfalite/0327-isvalid.html @@ -0,0 +1,24 @@ + + + + + + Test 0327 + + +
                                                        + + +
                                                        +

                                                        Name: Amanda

                                                        +
                                                        +
                                                        + +
                                                        +
                                                        +
                                                        +

                                                        Band: Jazz Band

                                                        +

                                                        Size: 12 players

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/Makefile b/tests/wpt/web-platform-tests/conformance-checkers/html/Makefile new file mode 100644 index 00000000000..332591348fb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/Makefile @@ -0,0 +1,20 @@ +PYTHON=python +PYTHONFLAGS= +META_EXTENSIONS=http://help.whatwg.org/extensions/meta-name/ +CURL=curl +CURLFLAGS= +PYTHON=python +PYTHONFLAGS= + +.PHONY: ins-del-datetime .FORCE + +all: ins-del-datetime tools/meta-extensions elements/meta/names-registered-isvalid.html + +ins-del-datetime: tools/ins-del-datetime.py + $(PYTHON) $(PYTHONFLAGS) $< + +tools/meta-extensions: .FORCE + $(CURL) $(CURLFLAGS) $(META_EXTENSIONS) > $@ + +elements/meta/names-registered-isvalid.html: .FORCE + $(PYTHON) $(PYTHONFLAGS) tools/meta-name.py diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/accesskey/duplicate-key-labels-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/accesskey/duplicate-key-labels-novalid.html new file mode 100644 index 00000000000..1c9800d6273 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/accesskey/duplicate-key-labels-novalid.html @@ -0,0 +1,9 @@ + + + +accesskey attribute with duplicate key labels + + +foo + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/accesskey/multi-character-key-label-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/accesskey/multi-character-key-label-novalid.html new file mode 100644 index 00000000000..303e1ea92e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/accesskey/multi-character-key-label-novalid.html @@ -0,0 +1,9 @@ + + + +accesskey attribute with multi-character key label + + +foo + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/data/no-characters-after-hyphen-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/data/no-characters-after-hyphen-novalid.html new file mode 100644 index 00000000000..b30b1f9a715 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/data/no-characters-after-hyphen-novalid.html @@ -0,0 +1,4 @@ + + +starts with the string "data-", has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters +

                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/data/not-xml-serializable-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/data/not-xml-serializable-novalid.html new file mode 100644 index 00000000000..7bcbfcbf5e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/data/not-xml-serializable-novalid.html @@ -0,0 +1,4 @@ + + +starts with the string "data-", has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters +

                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/data/value-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/data/value-isvalid.html new file mode 100644 index 00000000000..96f0917d484 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/data/value-isvalid.html @@ -0,0 +1,7 @@ + + +valid data- + +

                                                        + +

                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/deprecated-tag-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/deprecated-tag-haswarn.html new file mode 100644 index 00000000000..4fc1aaaafc6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/deprecated-tag-haswarn.html @@ -0,0 +1,9 @@ + + + +must be a valid BCP 47 language tag, or the empty string + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/empty-isvalid.html new file mode 100644 index 00000000000..f88354d019a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/empty-isvalid.html @@ -0,0 +1,10 @@ + + + + +must be a valid BCP 47 language tag, or the empty string + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/extlang-bad-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/extlang-bad-novalid.html new file mode 100644 index 00000000000..7908f08c3f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/extlang-bad-novalid.html @@ -0,0 +1,9 @@ + + + +must be a valid BCP 47 language tag, or the empty string + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/xmllang-different-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/xmllang-different-value-novalid.html new file mode 100644 index 00000000000..8e9f82fe515 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/xmllang-different-value-novalid.html @@ -0,0 +1,10 @@ + + + + +When "xml:lang" is specified, the element must also have "lang" present with the same value + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/xmllang-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/xmllang-only-novalid.html new file mode 100644 index 00000000000..7f4571ef12e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/xmllang-only-novalid.html @@ -0,0 +1,10 @@ + + + + +When "xml:lang" is specified, the element must also have "lang" present with the same value + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/xmllang-same-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/xmllang-same-isvalid.html new file mode 100644 index 00000000000..71418a5f623 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/lang/xmllang-same-isvalid.html @@ -0,0 +1,10 @@ + + + + +When "xml:lang" is specified, the element must also have "lang" present with the same value + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/role/unrecognized-role-name-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/role/unrecognized-role-name-novalid.html new file mode 100644 index 00000000000..b7b7f726b8c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/role/unrecognized-role-name-novalid.html @@ -0,0 +1,5 @@ + + +The attribute value MUST allow a token list as the value + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/spellcheck/value-bad-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/spellcheck/value-bad-novalid.html new file mode 100644 index 00000000000..6cbf57e7872 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/spellcheck/value-bad-novalid.html @@ -0,0 +1,10 @@ + + + + +spellcheck="badvalue" + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/spellcheck/value-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/spellcheck/value-isvalid.html new file mode 100644 index 00000000000..2ce71c581b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/attributes/spellcheck/value-isvalid.html @@ -0,0 +1,11 @@ + + + + +valid spellcheck + + +

                                                        +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/download-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/download-isvalid.html new file mode 100644 index 00000000000..0d1fe6f1e18 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/download-isvalid.html @@ -0,0 +1,5 @@ + + +valid download +foo +foo diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href-isvalid.html new file mode 100644 index 00000000000..504ec6e37be --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href-isvalid.html @@ -0,0 +1,92 @@ + + +valid href + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/fragment-backslash-novalid.html new file mode 100644 index 00000000000..0bcbffd205e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..5810a3d8e73 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..f1c73cbb7c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-cr-novalid.html new file mode 100644 index 00000000000..8d7d4d8e492 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..20914774bc3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..28ede588d83 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-empty-novalid.html new file mode 100644 index 00000000000..cdd21ebff83 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..c4bcebfc9c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..33305eda818 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..8e99033b28a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..2efec483058 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..faf12df1904 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-newline-novalid.html new file mode 100644 index 00000000000..20a24039bf5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid href: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-space-novalid.html new file mode 100644 index 00000000000..28fbf6839c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..2032854dc37 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-tab-novalid.html new file mode 100644 index 00000000000..0b08104983c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..fefaeb29c84 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..91bca31a02f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..d473c10fce0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-contains-space-novalid.html new file mode 100644 index 00000000000..2084b1f258f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..5e3bad4e2a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..c6a6de865cd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..333461a2aec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-leading-space-novalid.html new file mode 100644 index 00000000000..a247910e493 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..3547c071f32 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..3ca2e6da1e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-tab-novalid.html new file mode 100644 index 00000000000..6ed16e83c24 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-trailing-space-novalid.html new file mode 100644 index 00000000000..98b950ea551 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-u0091-novalid.html new file mode 100644 index 00000000000..9a5f8af70e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-cr-novalid.html new file mode 100644 index 00000000000..beef30828a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..9d5839c7a04 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-leading-colon-novalid.html new file mode 100644 index 00000000000..b5c692d8a99 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-leading-dash-novalid.html new file mode 100644 index 00000000000..1a47b2e8b96 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..47d9fd856ff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-newline-novalid.html new file mode 100644 index 00000000000..5b1d95d5c5c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid href: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-single-letter-novalid.html new file mode 100644 index 00000000000..9c289ff93e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-space-novalid.html new file mode 100644 index 00000000000..219c7345ad8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-tab-novalid.html new file mode 100644 index 00000000000..266dc9f222e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/query-leading-space-novalid.html new file mode 100644 index 00000000000..d786b5896a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/query-trailing-space-novalid.html new file mode 100644 index 00000000000..7754c45a26e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..069e6ab3899 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..8474eed4b68 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..76564e13b24 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..fecd0b75339 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..bf05a0bfa1e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..52a9131f0cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..a885cdf3322 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..90bf03e8f71 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..4c9df61456e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..6797c6be38c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..3f3acb11d54 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..e88638d1373 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..40325a5c305 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..391c317a11f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..e818ba76b54 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..784922f5108 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..12bbe55a706 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid href: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..975a72eb89c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..38a4e338d12 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..c147fea4984 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..6f344e19a42 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..26add769898 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..a7c56342bf8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..6571b3846ad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/media-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/media-novalid.html new file mode 100644 index 00000000000..756ab76420f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/media-novalid.html @@ -0,0 +1,4 @@ + + +anchor element with "media" attribute +foo diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/model-isvalid.html new file mode 100644 index 00000000000..4704893e2c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/model-isvalid.html @@ -0,0 +1,4 @@ + + +valid anchor element + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/model-novalid.html new file mode 100644 index 00000000000..86bcdf3fc08 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/model-novalid.html @@ -0,0 +1,4 @@ + + +anchor with flow content and phrasing parent +

                                                        foo

                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/name-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/name-empty-novalid.html new file mode 100644 index 00000000000..21eec58c10e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/a/name-empty-novalid.html @@ -0,0 +1,10 @@ + + + +invalid empty value for a/@name + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/abbr/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/abbr/model-isvalid.html new file mode 100644 index 00000000000..59518af2882 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/abbr/model-isvalid.html @@ -0,0 +1,24 @@ + + + + + <abbr> + + + +

                                                        text

                                                        + + +

                                                        text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/abbr/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/abbr/model-novalid.html new file mode 100644 index 00000000000..924c98ea30d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/abbr/model-novalid.html @@ -0,0 +1,18 @@ + + + + + <abbr> + + + + text + + +

                                                        • text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/address/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/address/model-isvalid.html new file mode 100644 index 00000000000..94934bba1f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/address/model-isvalid.html @@ -0,0 +1,17 @@ + + + + + <address> + + + +
                                                        text
                                                        + + +
                                                        text
                                                        + + +
                                                        text elem
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/address/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/address/model-novalid.html new file mode 100644 index 00000000000..3c4575944fb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/address/model-novalid.html @@ -0,0 +1,17 @@ + + + + + <address> + + + +
                                                        text
                                                        + + +
                                                        text
                                                        + + +
                                                        text
                                                        elem
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/download-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/download-isvalid.html new file mode 100644 index 00000000000..12a881fc6eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/download-isvalid.html @@ -0,0 +1,5 @@ + + +valid download +foo +foo diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href-empty-isvalid.html new file mode 100644 index 00000000000..06fd9ac77c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href-empty-isvalid.html @@ -0,0 +1,4 @@ + + +empty href is valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href-isvalid.html new file mode 100644 index 00000000000..ea068dccf96 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href-isvalid.html @@ -0,0 +1,91 @@ + + +valid href + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/fragment-backslash-novalid.html new file mode 100644 index 00000000000..2c6df4076c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..6e785fcf708 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..6d361df80cd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-cr-novalid.html new file mode 100644 index 00000000000..f5d426039df --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..b4231d3fcb9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..98cb2ac4a3e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-empty-novalid.html new file mode 100644 index 00000000000..22684d89dc0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..d29da936022 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..5ca0ed76485 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..c60734adfc3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..c7d11111968 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..ef79d37f596 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-newline-novalid.html new file mode 100644 index 00000000000..ece26cf6ad3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid href: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-space-novalid.html new file mode 100644 index 00000000000..65a3611a457 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..b3a16395478 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-tab-novalid.html new file mode 100644 index 00000000000..cc58fb54c6a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..1200b50e054 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..fc52797d4e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..12a06504b23 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-contains-space-novalid.html new file mode 100644 index 00000000000..ef2889cd752 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..667e6313c9d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..7f9994a76e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..7eede5dec58 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-leading-space-novalid.html new file mode 100644 index 00000000000..ff17389544e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..9e5f0e8e1ae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..69b04b4f21c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-tab-novalid.html new file mode 100644 index 00000000000..a6f023c403d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-trailing-space-novalid.html new file mode 100644 index 00000000000..65b1e02a4bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-u0091-novalid.html new file mode 100644 index 00000000000..aa0fcde344c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-cr-novalid.html new file mode 100644 index 00000000000..b38c7ba8fe8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..f6668e1518a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-leading-colon-novalid.html new file mode 100644 index 00000000000..6de34e1adaa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-leading-dash-novalid.html new file mode 100644 index 00000000000..215197e7b55 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..548f239273c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-newline-novalid.html new file mode 100644 index 00000000000..0efb34e3be2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid href: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-single-letter-novalid.html new file mode 100644 index 00000000000..5efc977c0a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-space-novalid.html new file mode 100644 index 00000000000..85c7e60dbdf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-tab-novalid.html new file mode 100644 index 00000000000..591c3c736d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/query-leading-space-novalid.html new file mode 100644 index 00000000000..3843fe55385 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/query-trailing-space-novalid.html new file mode 100644 index 00000000000..7e2e981f8b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..ba727f5339e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +href warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..79ee412f8e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..e21e8173d4c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..dbb9912cfdf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..07276a244ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..e92a75d01a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..180e0d27219 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..d1281c4de0d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..4986f1a2249 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..2d3ba5b5bfd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..bc4ddc247bf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..eb2cb78f9d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..84e8a816c68 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..cc6ea3237ab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..bb12e65f532 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..5031456354f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..422c685e5bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid href: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..aa877fe965c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..fb9055a41c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..9419fd0a766 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..f9d210a0641 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..48131d7fb36 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..6404378f37d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..ecbd4bffbb9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/media-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/media-novalid.html new file mode 100644 index 00000000000..c88391e4e67 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/media-novalid.html @@ -0,0 +1,4 @@ + + +area element with "media" attribute + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/model-isvalid.html new file mode 100644 index 00000000000..6f4504fc8f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/model-isvalid.html @@ -0,0 +1,30 @@ + + + + + <area> + + + +

                                                        p + + text + + + text + text + text + text + + + text + text + + + text + text + text +

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/model-novalid.html new file mode 100644 index 00000000000..921ac4494e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/area/model-novalid.html @@ -0,0 +1,53 @@ + + + + + <area> + + + + + text + + + text + text + text + + + text + text + text + text + + + text + text + + + text + text + text + + + text + text + text + text + text + + text + text + text + text + text + + text + text + text + text + text + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/model-isvalid.html new file mode 100644 index 00000000000..6588326bd16 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/model-isvalid.html @@ -0,0 +1,4 @@ + + +audio with flow content and flow parent +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/model-novalid.html new file mode 100644 index 00000000000..0c3d590c68a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/model-novalid.html @@ -0,0 +1,4 @@ + + +audio with flow content and phrasing parent + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src-empty-novalid.html new file mode 100644 index 00000000000..96deecbb685 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty audio src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src-isvalid.html new file mode 100644 index 00000000000..c13d03b6178 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src-isvalid.html @@ -0,0 +1,91 @@ + + +valid src + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src-whitespace-only-novalid.html new file mode 100644 index 00000000000..73508d33447 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty audio src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/fragment-backslash-novalid.html new file mode 100644 index 00000000000..7c18367b52f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..aed50092d88 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..98ed32230fb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-cr-novalid.html new file mode 100644 index 00000000000..2e585b92720 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..4cb4a9acf58 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..856db00f6bf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-empty-novalid.html new file mode 100644 index 00000000000..e10355480ed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..49b2e028c8d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..c1b63d760fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..11a047f3763 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..75195b59c7d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..afcc32114bc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-newline-novalid.html new file mode 100644 index 00000000000..511ca147103 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-space-novalid.html new file mode 100644 index 00000000000..b7cd4ed45de --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..0455fffea73 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-tab-novalid.html new file mode 100644 index 00000000000..518010071f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..04fab6d158a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..b9cc63cb5c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..2ee3f09377e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-contains-space-novalid.html new file mode 100644 index 00000000000..8def346ca0f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..56ee3535133 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..edc0cbfa722 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..3f6aa0319e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-leading-space-novalid.html new file mode 100644 index 00000000000..9a512c35e7a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..d84fd0c3bc7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..3efbb56b3a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-tab-novalid.html new file mode 100644 index 00000000000..1e368d11725 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-trailing-space-novalid.html new file mode 100644 index 00000000000..9751a76b864 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-u0091-novalid.html new file mode 100644 index 00000000000..453e2095fae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-cr-novalid.html new file mode 100644 index 00000000000..26ac72f8a5a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..c8a549b4e0b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-leading-colon-novalid.html new file mode 100644 index 00000000000..836a94eb725 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-leading-dash-novalid.html new file mode 100644 index 00000000000..822e666a767 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..55b0a0c507b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-newline-novalid.html new file mode 100644 index 00000000000..e9a34b0ee70 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-single-letter-novalid.html new file mode 100644 index 00000000000..5f7f44ef320 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-space-novalid.html new file mode 100644 index 00000000000..a931754b86f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-tab-novalid.html new file mode 100644 index 00000000000..80c169a686b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/query-leading-space-novalid.html new file mode 100644 index 00000000000..76bab5cc9af --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/query-trailing-space-novalid.html new file mode 100644 index 00000000000..009d5044925 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..d96f8742f43 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..693bd23c9b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..a84f17e15a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..473c5219fe9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..941f34e21e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..9798091d4c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..fa86c3a4840 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..5a9d6a89f77 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..bb71cdeed51 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..7f795d50f36 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..ed81ac62cf5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..51b81964450 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..8f67ab00f99 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..be23c7b20a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..7d37b16afcb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..3e40e8a831e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..79e9dd14fbe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..b09f7aad824 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..2f6137be58d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..0b95aa9799e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..c2823588c71 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..f8039e76b2b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..f50b2b25f94 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..fa769f894c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href-and-target-missing-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href-and-target-missing-novalid.html new file mode 100644 index 00000000000..32085fc8d2a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href-and-target-missing-novalid.html @@ -0,0 +1,10 @@ + + + + + +base element missing href and target attribute + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href-empty-isvalid.html new file mode 100644 index 00000000000..c3b766dfd62 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href-empty-isvalid.html @@ -0,0 +1,4 @@ + + +empty href is valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-backslash-novalid.html new file mode 100644 index 00000000000..6528b43cec6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..b5079588aed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-contains-pile-of-poo-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-contains-pile-of-poo-isvalid.html new file mode 100644 index 00000000000..2ac59a318b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-contains-pile-of-poo-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: fragment-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-contains-question-mark-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-contains-question-mark-isvalid.html new file mode 100644 index 00000000000..7c047912572 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-contains-question-mark-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: fragment-contains-question-mark + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-empty-hash-only-no-path-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-empty-hash-only-no-path-relative-isvalid.html new file mode 100644 index 00000000000..3d097006655 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-empty-hash-only-no-path-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: fragment-empty-hash-only-no-path-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..84150eadc17 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-non-ascii-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-non-ascii-relative-isvalid.html new file mode 100644 index 00000000000..15858fde1ae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-non-ascii-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: fragment-non-ascii-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-semicolon-question-mark-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-semicolon-question-mark-relative-isvalid.html new file mode 100644 index 00000000000..68a838c8d04 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-semicolon-question-mark-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: fragment-semicolon-question-mark-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-slash-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-slash-relative-isvalid.html new file mode 100644 index 00000000000..7edb0b4ed44 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/fragment-slash-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: fragment-slash-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-192.0x00A80001-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-192.0x00A80001-isvalid.html new file mode 100644 index 00000000000..75de62fdc87 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-192.0x00A80001-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: host-192.0x00A80001 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-IP-address-broken-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-IP-address-broken-isvalid.html new file mode 100644 index 00000000000..dc2e02080b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-IP-address-broken-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: host-IP-address-broken + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-IP-address-fullwidth-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-IP-address-fullwidth-isvalid.html new file mode 100644 index 00000000000..64535576d96 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-IP-address-fullwidth-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: host-IP-address-fullwidth + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-IP-address-percent-encoded-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-IP-address-percent-encoded-isvalid.html new file mode 100644 index 00000000000..8a092380d46 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-IP-address-percent-encoded-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: host-IP-address-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-cr-novalid.html new file mode 100644 index 00000000000..cb631459e17 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..fc44eee8a90 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..eaee5db8a1a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-empty-novalid.html new file mode 100644 index 00000000000..08ce416ef2f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..d41591fabe9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..47941b7235e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-exotic-dot-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-exotic-dot-isvalid.html new file mode 100644 index 00000000000..d0d1f0a1d1b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-exotic-dot-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: host-exotic-dot + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-exotic-whitespace-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-exotic-whitespace-isvalid.html new file mode 100644 index 00000000000..adcc57480ef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-exotic-whitespace-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: host-exotic-whitespace + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-fullwidth-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-fullwidth-isvalid.html new file mode 100644 index 00000000000..65108edd474 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-fullwidth-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: host-fullwidth + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..c25a1a3ffae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-idn-unicode-han-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-idn-unicode-han-isvalid.html new file mode 100644 index 00000000000..576badf53f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-idn-unicode-han-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: host-idn-unicode-han + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..4b206920177 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..4533dbc8872 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-ipv6-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-ipv6-isvalid.html new file mode 100644 index 00000000000..112eacd95af --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-ipv6-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: host-ipv6 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-ipv6-port-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-ipv6-port-isvalid.html new file mode 100644 index 00000000000..3495478c747 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-ipv6-port-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: host-ipv6-port + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-is-pile-of-poo-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-is-pile-of-poo-isvalid.html new file mode 100644 index 00000000000..f286407a0bd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-is-pile-of-poo-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: host-is-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-newline-novalid.html new file mode 100644 index 00000000000..44e53c36fc6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid href: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-space-novalid.html new file mode 100644 index 00000000000..4b02459e3c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..1839ee26884 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-tab-novalid.html new file mode 100644 index 00000000000..335d7c842dd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..94a2327129c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..bc934e67020 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..819a99d538f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-colon-colon-number-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-colon-colon-number-relative-isvalid.html new file mode 100644 index 00000000000..643b01f07d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-colon-colon-number-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-colon-colon-number-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-colon-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-colon-relative-isvalid.html new file mode 100644 index 00000000000..f1254de8d2a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-colon-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-colon-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-contains-pile-of-poo-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-contains-pile-of-poo-isvalid.html new file mode 100644 index 00000000000..f491b503f30 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-contains-pile-of-poo-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-contains-space-novalid.html new file mode 100644 index 00000000000..87c76dd3057 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..785ecad748a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..1e61b71c383 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..5ae57974b22 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-relative-isvalid.html new file mode 100644 index 00000000000..11b94a6e1c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-leading-colon-chars-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-colon-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-colon-relative-isvalid.html new file mode 100644 index 00000000000..0589f8ae2d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-colon-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-leading-colon-colon-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-hash-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-hash-relative-isvalid.html new file mode 100644 index 00000000000..7114dd5f5cf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-hash-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-leading-colon-hash-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-letter-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-letter-relative-isvalid.html new file mode 100644 index 00000000000..279c2ce4c17 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-letter-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-leading-colon-letter-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-number-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-number-relative-isvalid.html new file mode 100644 index 00000000000..c66670292f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-number-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-leading-colon-number-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-slash-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-slash-relative-isvalid.html new file mode 100644 index 00000000000..77ec3dd2d06 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-colon-slash-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-leading-colon-slash-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-space-novalid.html new file mode 100644 index 00000000000..3a6cc2f33a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-non-ascii-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-non-ascii-isvalid.html new file mode 100644 index 00000000000..e9d396b02ec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-non-ascii-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-non-ascii + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-dot-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-dot-isvalid.html new file mode 100644 index 00000000000..5921992d467 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-dot-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-percent-encoded-dot + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..c9cfe232895 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-mixed-case-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-mixed-case-isvalid.html new file mode 100644 index 00000000000..677a564bacb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-mixed-case-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-percent-encoded-mixed-case + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-multiple-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-multiple-isvalid.html new file mode 100644 index 00000000000..75a512babc4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-multiple-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-percent-encoded-multiple + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-plus-slashes-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-plus-slashes-relative-isvalid.html new file mode 100644 index 00000000000..f5ed17b9025 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-plus-slashes-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-percent-encoded-slash-plus-slashes-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-relative-isvalid.html new file mode 100644 index 00000000000..79e89e3abe2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-percent-encoded-slash-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-space-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-space-isvalid.html new file mode 100644 index 00000000000..cc9b8b850e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-space-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-percent-encoded-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0000-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0000-isvalid.html new file mode 100644 index 00000000000..515a7528edb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0000-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-percent-encoded-u0000 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0091-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0091-isvalid.html new file mode 100644 index 00000000000..16cec3605eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0091-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-percent-encoded-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..79af6ae6f84 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-simple-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-simple-relative-isvalid.html new file mode 100644 index 00000000000..7e4c99fab11 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-simple-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-simple-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-slash-colon-number-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-slash-colon-number-relative-isvalid.html new file mode 100644 index 00000000000..3834395ce82 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-slash-colon-number-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-slash-colon-number-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-slash-only-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-slash-only-relative-isvalid.html new file mode 100644 index 00000000000..83a89c09ae5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-slash-only-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-slash-only-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-starts-with-pile-of-poo-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-starts-with-pile-of-poo-isvalid.html new file mode 100644 index 00000000000..204b8b096ae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-starts-with-pile-of-poo-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-starts-with-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-tab-novalid.html new file mode 100644 index 00000000000..21f8b6e5d9e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-trailing-space-novalid.html new file mode 100644 index 00000000000..3a24cb6e411 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-u0091-novalid.html new file mode 100644 index 00000000000..78383c870fd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-u202E-u202D-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-u202E-u202D-isvalid.html new file mode 100644 index 00000000000..5d865b6409b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-u202E-u202D-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-u202E-u202D + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-uFEFF-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-uFEFF-isvalid.html new file mode 100644 index 00000000000..03c3a969ff4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-uFEFF-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-uFEFF + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-unicode-han-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-unicode-han-isvalid.html new file mode 100644 index 00000000000..e6c290bc261 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/path-unicode-han-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: path-unicode-han + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-0-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-0-isvalid.html new file mode 100644 index 00000000000..6dd7298b554 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-0-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: port-0 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-00000000000000-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-00000000000000-isvalid.html new file mode 100644 index 00000000000..314c8ad777e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-00000000000000-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: port-00000000000000 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-00000000000000000000080-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-00000000000000000000080-isvalid.html new file mode 100644 index 00000000000..34dd3d5624a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-00000000000000000000080-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: port-00000000000000000000080 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-999999-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-999999-isvalid.html new file mode 100644 index 00000000000..391b88094ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-999999-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: port-999999 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-cr-novalid.html new file mode 100644 index 00000000000..e5fe6bf6881 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..3bc673fe64c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-leading-colon-novalid.html new file mode 100644 index 00000000000..c526a758ffe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-leading-dash-novalid.html new file mode 100644 index 00000000000..2270e65c9c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..9d5ef78404a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-newline-novalid.html new file mode 100644 index 00000000000..bef3487e4d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid href: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-none-but-colon-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-none-but-colon-isvalid.html new file mode 100644 index 00000000000..4307c492cb8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-none-but-colon-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: port-none-but-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-single-letter-novalid.html new file mode 100644 index 00000000000..8daa066d605 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-space-novalid.html new file mode 100644 index 00000000000..77a3d576204 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-tab-novalid.html new file mode 100644 index 00000000000..e14664a74b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-contains-pile-of-poo-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-contains-pile-of-poo-isvalid.html new file mode 100644 index 00000000000..7ea7f410878 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-contains-pile-of-poo-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: query-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-contains-question-mark-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-contains-question-mark-isvalid.html new file mode 100644 index 00000000000..f78635c4e95 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-contains-question-mark-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: query-contains-question-mark + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-empty-no-path-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-empty-no-path-relative-isvalid.html new file mode 100644 index 00000000000..82b66f0644a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-empty-no-path-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: query-empty-no-path-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-leading-space-novalid.html new file mode 100644 index 00000000000..d26d8e19652 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-trailing-space-novalid.html new file mode 100644 index 00000000000..d099a9f0e4e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..a1e740045a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +href warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-data-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-data-no-slash-isvalid.html new file mode 100644 index 00000000000..e13d2677b47 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-data-no-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-data-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..1f938779acc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..fda3e3d0399 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-host-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-host-empty-isvalid.html new file mode 100644 index 00000000000..a90aa6c7164 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-host-empty-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-file-host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-host-included-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-host-included-isvalid.html new file mode 100644 index 00000000000..322773e2e93 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-host-included-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-file-host-included + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-no-slash-isvalid.html new file mode 100644 index 00000000000..3a31f957e12 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-no-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-file-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-scheme-only-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-scheme-only-isvalid.html new file mode 100644 index 00000000000..af318cdd9dd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-scheme-only-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-file-scheme-only + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..87d17ed6c23 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-isvalid.html new file mode 100644 index 00000000000..f67878f46cb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-file-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-only-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-only-isvalid.html new file mode 100644 index 00000000000..a8c329f33d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-only-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-file-slash-only + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-abc-bar-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-abc-bar-isvalid.html new file mode 100644 index 00000000000..4537d8c19f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-abc-bar-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-file-slash-slash-abc-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-c-bar-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-c-bar-isvalid.html new file mode 100644 index 00000000000..4d96a67da69 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-c-bar-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-file-slash-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-only-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-only-isvalid.html new file mode 100644 index 00000000000..dcef904aa56 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-only-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-file-slash-slash-only + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-slash-only-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-slash-only-isvalid.html new file mode 100644 index 00000000000..ffe97bb7217 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-slash-only-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-file-slash-slash-slash-only + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..06b8933be98 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-uppercase-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-uppercase-isvalid.html new file mode 100644 index 00000000000..58bb4a4799f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-file-uppercase-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-file-uppercase + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..49285d8082b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..7ff694c98be --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ftps-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ftps-no-slash-isvalid.html new file mode 100644 index 00000000000..bc0ac07fe82 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ftps-no-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-ftps-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ftps-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ftps-single-slash-isvalid.html new file mode 100644 index 00000000000..758a74e172e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ftps-single-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-ftps-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-gopher-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-gopher-no-slash-isvalid.html new file mode 100644 index 00000000000..ec35f0abb50 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-gopher-no-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-gopher-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-gopher-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-gopher-single-slash-isvalid.html new file mode 100644 index 00000000000..aa97811b3fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-gopher-single-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-gopher-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..5923cf1df1e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..8146e78bb6d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..6084b413f43 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..21f612d8a8e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..4684b7b2bc9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..76c139dfda2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..49d14bcec77 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..16b4187b80d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-javascript-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-javascript-single-slash-isvalid.html new file mode 100644 index 00000000000..cb6b793bcf2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-javascript-single-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-javascript-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-mailto-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-mailto-no-slash-isvalid.html new file mode 100644 index 00000000000..5c96deb1625 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-mailto-no-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-mailto-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-mailto-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-mailto-single-slash-isvalid.html new file mode 100644 index 00000000000..ca07ab15f2d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-mailto-single-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-mailto-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-none-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-none-relative-isvalid.html new file mode 100644 index 00000000000..672de82fb22 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-none-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-none-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-isvalid.html new file mode 100644 index 00000000000..d565575b57b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-private + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-no-slash-isvalid.html new file mode 100644 index 00000000000..207a8d6cbee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-no-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-private-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-path-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-path-isvalid.html new file mode 100644 index 00000000000..8e0552b703d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-path-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-private-path + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-chars-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-chars-isvalid.html new file mode 100644 index 00000000000..6fa812d7833 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-chars-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-private-path-leading-slashes-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-colon-slashes-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-colon-slashes-isvalid.html new file mode 100644 index 00000000000..3e5a44a0053 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-colon-slashes-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-private-path-leading-slashes-colon-slashes + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-only-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-only-isvalid.html new file mode 100644 index 00000000000..8d6c0c9f8db --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-only-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-private-path-leading-slashes-only + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-single-letter-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-single-letter-isvalid.html new file mode 100644 index 00000000000..bc82b8b7fe7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-single-letter-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-private-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-single-slash-isvalid.html new file mode 100644 index 00000000000..c3639a432cd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-single-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-private-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-slash-isvalid.html new file mode 100644 index 00000000000..d56b355cf9c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-private-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-slash-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-slash-slash-isvalid.html new file mode 100644 index 00000000000..39a6b25cf7d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-private-slash-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-private-slash-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-schemeless-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-schemeless-relative-isvalid.html new file mode 100644 index 00000000000..d86d3f68caf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-schemeless-relative-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-schemeless-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..e6097e4f790 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..acc6c91ffaa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid href: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..c03abd547c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..0e1f91bce62 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ws-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ws-single-slash-isvalid.html new file mode 100644 index 00000000000..63e24e9b6ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-ws-single-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-ws-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-wss-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-wss-no-slash-isvalid.html new file mode 100644 index 00000000000..2c4e88c3aaa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-wss-no-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-wss-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-wss-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-wss-single-slash-isvalid.html new file mode 100644 index 00000000000..a2b2b6fd59b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/scheme-wss-single-slash-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: scheme-wss-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..99a6d72075d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-empty-isvalid.html new file mode 100644 index 00000000000..8f641cf94b1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-empty-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-host-port-path-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-host-port-path-isvalid.html new file mode 100644 index 00000000000..e28a20b518f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-host-port-path-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: userinfo-host-port-path + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-isvalid.html new file mode 100644 index 00000000000..6f1d9eaea60 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..31a68b170a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..0fa8f05058c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-password-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-password-empty-isvalid.html new file mode 100644 index 00000000000..cedf7ae3b85 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-password-empty-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: userinfo-password-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-user-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-user-empty-isvalid.html new file mode 100644 index 00000000000..b6f323d2d0b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-user-empty-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: userinfo-user-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..c3a16ce8634 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-percent-encoded-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-percent-encoded-isvalid.html new file mode 100644 index 00000000000..2c2dfebd2e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-percent-encoded-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: userinfo-username-contains-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..0ff54c4c9dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-username-non-alpha-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-username-non-alpha-isvalid.html new file mode 100644 index 00000000000..f7507033730 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/base/href/userinfo-username-non-alpha-isvalid.html @@ -0,0 +1,4 @@ + + +valid href: userinfo-username-non-alpha + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/bdo/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/bdo/model-isvalid.html new file mode 100644 index 00000000000..17a9d2c9719 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/bdo/model-isvalid.html @@ -0,0 +1,28 @@ + + + + + <bdo> + + + +

                                                        text

                                                        + + +

                                                        text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/bdo/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/bdo/model-novalid.html new file mode 100644 index 00000000000..5dee57cf7a9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/bdo/model-novalid.html @@ -0,0 +1,21 @@ + + + + + <bdo> + + + + text + + +

                                                        text

                                                        + + +

                                                        • text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite-empty-isvalid.html new file mode 100644 index 00000000000..698d8634a86 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite-empty-isvalid.html @@ -0,0 +1,4 @@ + + +empty cite is valid +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite-isvalid.html new file mode 100644 index 00000000000..03d49827217 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite-isvalid.html @@ -0,0 +1,91 @@ + + +valid cite +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/fragment-backslash-novalid.html new file mode 100644 index 00000000000..3d547007028 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: fragment-backslash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..d754a5f0eea --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: fragment-contains-hash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..d5943ed30c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: fragment-leading-space +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-cr-novalid.html new file mode 100644 index 00000000000..ca67dfd5dec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-cr +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..9fd5b80a673 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-double-percent-encoded +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..b88dd6848dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-double-percent-encoded-percent-encoded +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-empty-novalid.html new file mode 100644 index 00000000000..d5745e8bb94 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-empty +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..5cfe6d18a5f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-empty-userinfo-empty +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..c6b78986aa9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-empty-with-userinfo +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..f3fedf4aea5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-hostname-in-brackets +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..c898f0a0d31 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-invalid-unicode +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..5701cee95cf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-invalid-unicode-percent-encoded +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-newline-novalid.html new file mode 100644 index 00000000000..8d82bfb3c17 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid cite: host-newline +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-space-novalid.html new file mode 100644 index 00000000000..16a942e4a63 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-space +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..30ee45d591e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-square-brackets-port-contains-colon +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-tab-novalid.html new file mode 100644 index 00000000000..2ce8d10bfe3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-tab +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..f9366ece0ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-u0000-percent-encoded +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..be3016d9fce --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-u0000-percent-encoded-percent-encoded +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..2bf77ec03db --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-bare-percent-sign +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-contains-space-novalid.html new file mode 100644 index 00000000000..59bbbfecf90 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-contains-space +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..6aa8ada46ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-backslash-at-sign +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..4b055ab47bc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-colon-backslash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..d87b41796e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-colon-chars-backslash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-leading-space-novalid.html new file mode 100644 index 00000000000..3d719228d2f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-space +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..28f0fb78fed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-percent-encoded-malformed +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..75717a0aa9d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-relative-square-brackets +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-tab-novalid.html new file mode 100644 index 00000000000..a963adb9b09 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-tab +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-trailing-space-novalid.html new file mode 100644 index 00000000000..cd6b5cf08f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-trailing-space +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-u0091-novalid.html new file mode 100644 index 00000000000..d0eb4bb4476 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-u0091 +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-cr-novalid.html new file mode 100644 index 00000000000..9a50760ebf6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-cr +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..083eb40ceef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-leading-colon-bracket-colon +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-novalid.html new file mode 100644 index 00000000000..439411bcfe7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-leading-colon +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-leading-dash-novalid.html new file mode 100644 index 00000000000..bb5fa178bfa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-leading-dash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..51f552ade49 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-multiple-letters +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-newline-novalid.html new file mode 100644 index 00000000000..47b709ba2de --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid cite: port-newline +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-single-letter-novalid.html new file mode 100644 index 00000000000..3764232b849 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-single-letter +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-space-novalid.html new file mode 100644 index 00000000000..19d23729135 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-space +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-tab-novalid.html new file mode 100644 index 00000000000..04330da7676 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-tab +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/query-leading-space-novalid.html new file mode 100644 index 00000000000..5d28efaf439 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: query-leading-space +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/query-trailing-space-novalid.html new file mode 100644 index 00000000000..ce0f5ff053b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: query-trailing-space +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..0eef9512a3a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..ac25010256c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-data-single-slash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..f00000b9bd6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-file-backslash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..cbf91993e3e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-file-single-slash-c-bar +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..b5a84d960cf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-file-triple-slash-c-bar +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..191211f0fd4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-ftp-no-slash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..5ba4d67794a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-ftp-single-slash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..9ba1e317b4e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-backslash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..ba549fc28c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-no-slash-colon +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..e103deb13b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-no-slash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..744a4f53260 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-no-slash-square-bracket +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..2b787b2736d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-single-slash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..7a09e93d5e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-https-no-slash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..ef32ee1e739 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-https-single-slash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..71df3f36e1d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-javascript-no-slash-malformed +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..cafe0190b56 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-trailing-cr +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..075d073f0e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid cite: scheme-trailing-newline +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..1ccfb41ae7f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-trailing-space +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..2c81a25df1c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-trailing-tab +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..dc16d1467bd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-backslash +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..4b5c9826d8c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-password-bad-chars +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..52388a2c20a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-password-contains-pile-of-poo +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..76b235fbc5f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-username-contains-at-sign +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..cdf71cc0b48 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/cite/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-username-contains-pile-of-poo +
                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/model-isvalid.html new file mode 100644 index 00000000000..62497d33d77 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/model-isvalid.html @@ -0,0 +1,18 @@ + + + + + <blockquote> + + + +
                                                        +

                                                        header

                                                        +

                                                        text

                                                        +

                                                        text2

                                                        +
                                                        + + +

                                                        text

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/model-novalid.html new file mode 100644 index 00000000000..2985ed899bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/blockquote/model-novalid.html @@ -0,0 +1,31 @@ + + + + + <blockquote> + + + +
                                                        +

                                                        header

                                                        +

                                                        text

                                                        +

                                                        text2

                                                        +
                                                        + + +

                                                        paragraph +

                                                        +

                                                        header

                                                        +

                                                        text

                                                        +
                                                        +

                                                        + + +

                                                        text

                                                        +

                                                        paragraph +

                                                        +

                                                        text

                                                        +
                                                        +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/br/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/br/model-isvalid.html new file mode 100644 index 00000000000..cdde875d6d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/br/model-isvalid.html @@ -0,0 +1,16 @@ + + + + + <br> + + + +

                                                        text

                                                        + + +

                                                        text

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/br/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/br/model-novalid.html new file mode 100644 index 00000000000..c27c261f8f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/br/model-novalid.html @@ -0,0 +1,10 @@ + + + + + <br> + + +

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction-empty-novalid.html new file mode 100644 index 00000000000..7c324e5f1f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty formaction is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction-isvalid.html new file mode 100644 index 00000000000..70e3ded983c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction-isvalid.html @@ -0,0 +1,91 @@ + + +valid formaction + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction-whitespace-only-novalid.html new file mode 100644 index 00000000000..37b4f02a48d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty formaction is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/fragment-backslash-novalid.html new file mode 100644 index 00000000000..f8dd366818e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..34aa42935cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..d5571acf0df --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-cr-novalid.html new file mode 100644 index 00000000000..99b23b4a79a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..f0a118b85a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..71cc7d12ba6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-empty-novalid.html new file mode 100644 index 00000000000..728cf8754f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..04279b9598e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..5dea89f1193 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..477d3871b24 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..52b2381dfe1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..6728b889d99 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-newline-novalid.html new file mode 100644 index 00000000000..7906dd26781 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid formaction: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-space-novalid.html new file mode 100644 index 00000000000..4aee6d7c4b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..27cb1909010 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-tab-novalid.html new file mode 100644 index 00000000000..e4bc59fffc5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..3d704263998 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..29836a9b8cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..09febe38a5f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-contains-space-novalid.html new file mode 100644 index 00000000000..a8e6d07bfb6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..f2c1e3bc4d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..9fbe511ec12 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..87158199184 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-leading-space-novalid.html new file mode 100644 index 00000000000..eda9780b945 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..d3d373ad8fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..afb7e3032a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-tab-novalid.html new file mode 100644 index 00000000000..85313dc98b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-trailing-space-novalid.html new file mode 100644 index 00000000000..4b47774e3a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-u0091-novalid.html new file mode 100644 index 00000000000..cc3929c6adf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-cr-novalid.html new file mode 100644 index 00000000000..6596879d57f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..2bda92d12f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-novalid.html new file mode 100644 index 00000000000..c5f0924d870 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-leading-dash-novalid.html new file mode 100644 index 00000000000..e0e1a6bd375 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..8a01f322ecc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-newline-novalid.html new file mode 100644 index 00000000000..088183e5de9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid formaction: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-single-letter-novalid.html new file mode 100644 index 00000000000..b73404884f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-space-novalid.html new file mode 100644 index 00000000000..1f0886661c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-tab-novalid.html new file mode 100644 index 00000000000..69ab282abf6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/query-leading-space-novalid.html new file mode 100644 index 00000000000..a18576e99cb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/query-trailing-space-novalid.html new file mode 100644 index 00000000000..f26027f9cd2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..3e48f2db484 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..612d2001915 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..63d96e3b012 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..85cf8539b52 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..901f6b05fa7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..1f094e3fc73 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..98389130df0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..4bfbe65fdd6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..648420993e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..146d1857205 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..fe7de887798 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..b2d7ef0fb13 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..85b13467b6e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..61ba3d6a308 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..74c1cbc8872 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..098a02a7173 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..4aec7d6c5ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid formaction: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..b08683c0cf3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..515d31626d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..658db365c2a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..62d5c233128 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..b20b35cc557 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..9cd569d30b1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..cde70e15eed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/canvas/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/canvas/model-isvalid.html new file mode 100644 index 00000000000..cff96ccfc25 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/canvas/model-isvalid.html @@ -0,0 +1,4 @@ + + +canvas with flow content and flow parent +

                                                        foo

                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/canvas/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/canvas/model-novalid.html new file mode 100644 index 00000000000..34a7e5ba5c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/canvas/model-novalid.html @@ -0,0 +1,4 @@ + + +canvas with flow content and phrasing parent +

                                                        foo

                                                        diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/cite/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/cite/model-isvalid.html new file mode 100644 index 00000000000..60fc8b74438 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/cite/model-isvalid.html @@ -0,0 +1,24 @@ + + + + + <cite> + + + +

                                                        text

                                                        + + +

                                                        text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/cite/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/cite/model-novalid.html new file mode 100644 index 00000000000..f1070dc4544 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/cite/model-novalid.html @@ -0,0 +1,18 @@ + + + + + <cite> + + + + text + + +

                                                        • text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/code/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/code/model-isvalid.html new file mode 100644 index 00000000000..0912e07d7d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/code/model-isvalid.html @@ -0,0 +1,22 @@ + + + + + <code> + + + +

                                                        text

                                                        + + +

                                                        text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/code/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/code/model-novalid.html new file mode 100644 index 00000000000..5d473d17f0f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/code/model-novalid.html @@ -0,0 +1,25 @@ + + + + + <code> + + + +

                                                        text

                                                        + + +

                                                        text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + +

                                                        text

                                                        • list
                                                        elem

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite-empty-isvalid.html new file mode 100644 index 00000000000..cc8201c6e4b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite-empty-isvalid.html @@ -0,0 +1,4 @@ + + +empty cite is valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite-isvalid.html new file mode 100644 index 00000000000..380207babb7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite-isvalid.html @@ -0,0 +1,91 @@ + + +valid cite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/fragment-backslash-novalid.html new file mode 100644 index 00000000000..a51b0575af5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..d0b217dc492 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..b54fd21d288 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-cr-novalid.html new file mode 100644 index 00000000000..2da16c9a3cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..18898a53324 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..dd81e9a4869 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-empty-novalid.html new file mode 100644 index 00000000000..afe922a1056 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..7e703bf9235 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..281333e0763 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..169318e9696 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..e7c77a41596 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..5591088fcf7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-newline-novalid.html new file mode 100644 index 00000000000..692baaa9226 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid cite: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-space-novalid.html new file mode 100644 index 00000000000..efadf49d07a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..54aaf1246bf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-tab-novalid.html new file mode 100644 index 00000000000..cf8d7e2ae45 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..20e4287a418 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..9f80ee3e380 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..f21b2f6f60c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-contains-space-novalid.html new file mode 100644 index 00000000000..cd189d60c61 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..dd0c500d7fa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..f34c59b3bcd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..c7e492f6523 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-leading-space-novalid.html new file mode 100644 index 00000000000..32480867d3d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..67bcccff311 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..f63045a202e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-tab-novalid.html new file mode 100644 index 00000000000..c45140beaf8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-trailing-space-novalid.html new file mode 100644 index 00000000000..88d758405e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-u0091-novalid.html new file mode 100644 index 00000000000..1dc17517fb7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-cr-novalid.html new file mode 100644 index 00000000000..872d3f3cf45 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..f5f93644031 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-leading-colon-novalid.html new file mode 100644 index 00000000000..66b076f2691 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-leading-dash-novalid.html new file mode 100644 index 00000000000..b3d1f790987 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..d830e1118c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-newline-novalid.html new file mode 100644 index 00000000000..3da1891ddad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid cite: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-single-letter-novalid.html new file mode 100644 index 00000000000..e7463d52b55 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-space-novalid.html new file mode 100644 index 00000000000..3756f82ed64 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-tab-novalid.html new file mode 100644 index 00000000000..e85fb7bf1ee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/query-leading-space-novalid.html new file mode 100644 index 00000000000..a05f6bdd427 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/query-trailing-space-novalid.html new file mode 100644 index 00000000000..c7cf9e808c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..fa04644fd1b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..185133b6640 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..d0cb7986c90 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..72a65284a3e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..23c40bd7204 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..fd4cbdaf072 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..2e373739e3f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..f3d6c90b589 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..b86a891cbe5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..12fd2cedb45 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..25625e7f4a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..6f95f1e0c42 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..6abda3c88a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..0e7f0addb07 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..4328b02e9b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..363641fc301 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..ec8f0c04e95 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid cite: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..31f418ca78a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..66d8ce3e067 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..99ba1d5e4f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..f0ab910ac8d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..16b6d271cbb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..06392ba644c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..e8bfa2b67ef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/cite/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-0004-02-29-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-0004-02-29-haswarn.html new file mode 100644 index 00000000000..c760319697a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-0004-02-29-haswarn.html @@ -0,0 +1,4 @@ + + +date-0004-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-0005-02-29-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-0005-02-29-novalid.html new file mode 100644 index 00000000000..f8b973fd407 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-0005-02-29-novalid.html @@ -0,0 +1,4 @@ + + +date-0005-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-0214-09-29-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-0214-09-29-haswarn.html new file mode 100644 index 00000000000..2f7a26ea101 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-0214-09-29-haswarn.html @@ -0,0 +1,4 @@ + + +date-0214-09-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-1900-02-29-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-1900-02-29-novalid.html new file mode 100644 index 00000000000..d645c2256b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-1900-02-29-novalid.html @@ -0,0 +1,4 @@ + + +date-1900-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-1969-02-29-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-1969-02-29-novalid.html new file mode 100644 index 00000000000..7821eaea15f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-1969-02-29-novalid.html @@ -0,0 +1,4 @@ + + +date-1969-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-20014-09-29-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-20014-09-29-haswarn.html new file mode 100644 index 00000000000..7b4099df6c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-20014-09-29-haswarn.html @@ -0,0 +1,4 @@ + + +date-20014-09-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-2014-02-29-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-2014-02-29-novalid.html new file mode 100644 index 00000000000..8a7909960a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-2014-02-29-novalid.html @@ -0,0 +1,4 @@ + + +date-2014-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-2100-02-29-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-2100-02-29-novalid.html new file mode 100644 index 00000000000..3b732b5b368 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-2100-02-29-novalid.html @@ -0,0 +1,4 @@ + + +date-2100-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-2200-02-29-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-2200-02-29-novalid.html new file mode 100644 index 00000000000..8c5ef2e344c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-2200-02-29-novalid.html @@ -0,0 +1,4 @@ + + +date-2200-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-01-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-01-32-novalid.html new file mode 100644 index 00000000000..1c4e3d3971e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-01-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-01-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-03-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-03-32-novalid.html new file mode 100644 index 00000000000..651c0bb6672 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-03-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-03-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-04-31-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-04-31-novalid.html new file mode 100644 index 00000000000..f3ab1140156 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-04-31-novalid.html @@ -0,0 +1,4 @@ + + +date-day-04-31 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-05-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-05-32-novalid.html new file mode 100644 index 00000000000..c4caeade95b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-05-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-05-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-06-31-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-06-31-novalid.html new file mode 100644 index 00000000000..3583295f3da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-06-31-novalid.html @@ -0,0 +1,4 @@ + + +date-day-06-31 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-07-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-07-32-novalid.html new file mode 100644 index 00000000000..0948cf57428 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-07-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-07-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-08-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-08-32-novalid.html new file mode 100644 index 00000000000..09830a83350 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-08-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-08-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-09-31-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-09-31-novalid.html new file mode 100644 index 00000000000..55c600cfa2f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-09-31-novalid.html @@ -0,0 +1,4 @@ + + +date-day-09-31 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-10-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-10-32-novalid.html new file mode 100644 index 00000000000..6aeefece6e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-10-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-10-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-11-31-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-11-31-novalid.html new file mode 100644 index 00000000000..bfb4c572dd3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-11-31-novalid.html @@ -0,0 +1,4 @@ + + +date-day-11-31 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-12-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-12-32-novalid.html new file mode 100644 index 00000000000..03b511c2f14 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-12-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-12-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-missing-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-missing-separator-novalid.html new file mode 100644 index 00000000000..8e31abfa6d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-missing-separator-novalid.html @@ -0,0 +1,4 @@ + + +date-day-missing-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-one-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-one-digit-novalid.html new file mode 100644 index 00000000000..b8994f93cdf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-one-digit-novalid.html @@ -0,0 +1,4 @@ + + +date-day-one-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-three-digits-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-three-digits-novalid.html new file mode 100644 index 00000000000..8ee427c5c87 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-day-three-digits-novalid.html @@ -0,0 +1,4 @@ + + +date-day-three-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-iso8601-YYYYMMDD-no-hyphen-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-iso8601-YYYYMMDD-no-hyphen-novalid.html new file mode 100644 index 00000000000..493d9de78ec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-iso8601-YYYYMMDD-no-hyphen-novalid.html @@ -0,0 +1,4 @@ + + +date-iso8601-YYYYMMDD-no-hyphen + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-leading-bom-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-leading-bom-novalid.html new file mode 100644 index 00000000000..48855e5542c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-leading-bom-novalid.html @@ -0,0 +1,4 @@ + + +date-leading-bom + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-leading-whitespace-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-leading-whitespace-novalid.html new file mode 100644 index 00000000000..5deaf01e4a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-leading-whitespace-novalid.html @@ -0,0 +1,4 @@ + + +date-leading-whitespace + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-00-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-00-novalid.html new file mode 100644 index 00000000000..798e23b8ffd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-00-novalid.html @@ -0,0 +1,4 @@ + + +date-month-00 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-13-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-13-novalid.html new file mode 100644 index 00000000000..63a8b4e7108 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-13-novalid.html @@ -0,0 +1,4 @@ + + +date-month-13 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-missing-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-missing-separator-novalid.html new file mode 100644 index 00000000000..b852207e5d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-missing-separator-novalid.html @@ -0,0 +1,4 @@ + + +date-month-missing-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-one-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-one-digit-novalid.html new file mode 100644 index 00000000000..baf20b49cf9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-one-digit-novalid.html @@ -0,0 +1,4 @@ + + +date-month-one-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-three-digits-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-three-digits-novalid.html new file mode 100644 index 00000000000..0ff8f8987fb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-month-three-digits-novalid.html @@ -0,0 +1,4 @@ + + +date-month-three-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-non-ascii-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-non-ascii-digit-novalid.html new file mode 100644 index 00000000000..73ef3927616 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-non-ascii-digit-novalid.html @@ -0,0 +1,4 @@ + + +date-non-ascii-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-trailing-U+0000-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-trailing-U+0000-novalid.html new file mode 100644 index 00000000000..4870c3dd38c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-trailing-U+0000-novalid.html @@ -0,0 +1,4 @@ + + +date-trailing-U+0000 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-trailing-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-trailing-pile-of-poo-novalid.html new file mode 100644 index 00000000000..4c38689078d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-trailing-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +date-trailing-pile-of-poo + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-trailing-whitespace-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-trailing-whitespace-novalid.html new file mode 100644 index 00000000000..70269cc3485 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-trailing-whitespace-novalid.html @@ -0,0 +1,4 @@ + + +date-trailing-whitespace + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-wrong-day-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-wrong-day-separator-novalid.html new file mode 100644 index 00000000000..84551710800 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-wrong-day-separator-novalid.html @@ -0,0 +1,4 @@ + + +date-wrong-day-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-wrong-month-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-wrong-month-separator-novalid.html new file mode 100644 index 00000000000..797cae4956a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-wrong-month-separator-novalid.html @@ -0,0 +1,4 @@ + + +date-wrong-month-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-year-0000-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-year-0000-novalid.html new file mode 100644 index 00000000000..267903239d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-year-0000-novalid.html @@ -0,0 +1,4 @@ + + +date-year-0000 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-year-five-digits-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-year-five-digits-haswarn.html new file mode 100644 index 00000000000..ed42c905309 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-year-five-digits-haswarn.html @@ -0,0 +1,4 @@ + + +date-year-five-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-year-negative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-year-negative-novalid.html new file mode 100644 index 00000000000..459f745a8f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-year-negative-novalid.html @@ -0,0 +1,4 @@ + + +date-year-negative + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-year-three-digits-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-year-three-digits-novalid.html new file mode 100644 index 00000000000..9574f97ded6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/date-year-three-digits-novalid.html @@ -0,0 +1,4 @@ + + +date-year-three-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/datetime-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/datetime-isvalid.html new file mode 100644 index 00000000000..3dff10cc0d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/datetime-isvalid.html @@ -0,0 +1,33 @@ + + +valid datetime + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/duration-P-form-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/duration-P-form-novalid.html new file mode 100644 index 00000000000..b7487e706e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/duration-P-form-novalid.html @@ -0,0 +1,4 @@ + + +duration-P-form + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/duration-time-component-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/duration-time-component-novalid.html new file mode 100644 index 00000000000..98a484d0fad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/duration-time-component-novalid.html @@ -0,0 +1,4 @@ + + +duration-time-component + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-2400-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-2400-novalid.html new file mode 100644 index 00000000000..5a3328aa9bf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-2400-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-2400 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-60-minutes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-60-minutes-novalid.html new file mode 100644 index 00000000000..5d4641c5244 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-60-minutes-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-60-minutes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-60-seconds-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-60-seconds-novalid.html new file mode 100644 index 00000000000..ec897dca823 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-60-seconds-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-60-seconds + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-bad-fraction-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-bad-fraction-separator-novalid.html new file mode 100644 index 00000000000..43fd39e7f3d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-bad-fraction-separator-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-bad-fraction-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-four-digit-fraction-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-four-digit-fraction-novalid.html new file mode 100644 index 00000000000..d17ece6f8b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-four-digit-fraction-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-four-digit-fraction + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-hour-one-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-hour-one-digit-novalid.html new file mode 100644 index 00000000000..5fcad235777 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-hour-one-digit-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-hour-one-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-hour-three-digits-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-hour-three-digits-novalid.html new file mode 100644 index 00000000000..3683a20df3d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-hour-three-digits-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-hour-three-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hh-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hh-novalid.html new file mode 100644 index 00000000000..95f4b3df084 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hh-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-iso8601-hh + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmm-no-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmm-no-colon-novalid.html new file mode 100644 index 00000000000..9b1c4df19b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmm-no-colon-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-iso8601-hhmm-no-colon + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html new file mode 100644 index 00000000000..4a66109f638 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-iso8601-hhmmss-no-colon + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-lowercase-z-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-lowercase-z-novalid.html new file mode 100644 index 00000000000..525f670a8d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-lowercase-z-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-lowercase-z + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-one-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-one-digit-novalid.html new file mode 100644 index 00000000000..ae1d238df71 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-one-digit-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-minutes-one-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-three-digits-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-three-digits-novalid.html new file mode 100644 index 00000000000..459d029c197 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-three-digits-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-minutes-three-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-missing-minutes-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-missing-minutes-separator-novalid.html new file mode 100644 index 00000000000..32b980237bc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-missing-minutes-separator-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-missing-minutes-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-missing-seconds-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-missing-seconds-separator-novalid.html new file mode 100644 index 00000000000..16694a381a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-missing-seconds-separator-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-missing-seconds-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-nbsp-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-nbsp-novalid.html new file mode 100644 index 00000000000..2074fcf466a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-nbsp-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-nbsp + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-one-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-one-digit-novalid.html new file mode 100644 index 00000000000..f879efad840 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-one-digit-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-seconds-one-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-three-digits-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-three-digits-novalid.html new file mode 100644 index 00000000000..2d616bd8c1a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-three-digits-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-seconds-three-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-space-before-timezone-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-space-before-timezone-novalid.html new file mode 100644 index 00000000000..c9da89f049d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-space-before-timezone-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-space-before-timezone + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-60-minutes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-60-minutes-novalid.html new file mode 100644 index 00000000000..26c4efd6cec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-60-minutes-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-60-minutes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-iso8601-two-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-iso8601-two-digit-novalid.html new file mode 100644 index 00000000000..307afcac7e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-iso8601-two-digit-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-iso8601-two-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-lowercase-t-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-lowercase-t-novalid.html new file mode 100644 index 00000000000..a705cd02ef1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-lowercase-t-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-lowercase-t + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-1300-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-1300-haswarn.html new file mode 100644 index 00000000000..ba2da94271b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-1300-haswarn.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-minus-1300 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-2400-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-2400-novalid.html new file mode 100644 index 00000000000..8db2fa3ea6c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-2400-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-minus-2400 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minutes-15-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minutes-15-haswarn.html new file mode 100644 index 00000000000..c371fb9024f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minutes-15-haswarn.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-minutes-15 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-multiple-spaces-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-multiple-spaces-novalid.html new file mode 100644 index 00000000000..be4acace100 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-multiple-spaces-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-multiple-spaces + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-non-T-character-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-non-T-character-novalid.html new file mode 100644 index 00000000000..420ea8a0f36 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-non-T-character-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-non-T-character + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-colon-start-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-colon-start-novalid.html new file mode 100644 index 00000000000..b91337fbbcc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-colon-start-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-offset-colon-start + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-space-start-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-space-start-novalid.html new file mode 100644 index 00000000000..81ace2b96d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-space-start-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-offset-space-start + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-hour-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-hour-novalid.html new file mode 100644 index 00000000000..cec77816f26 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-hour-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-one-digit-hour + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-minute-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-minute-novalid.html new file mode 100644 index 00000000000..c4755de1789 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-minute-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-one-digit-minute + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-1500-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-1500-haswarn.html new file mode 100644 index 00000000000..df2835a864b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-1500-haswarn.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-plus-1500 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-2400-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-2400-novalid.html new file mode 100644 index 00000000000..304557f30b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-2400-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-plus-2400 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-hour-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-hour-novalid.html new file mode 100644 index 00000000000..407eac2fa61 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-hour-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-three-digit-hour + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-minute-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-minute-novalid.html new file mode 100644 index 00000000000..eb0c21ac08c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-minute-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-three-digit-minute + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-with-seconds-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-with-seconds-novalid.html new file mode 100644 index 00000000000..616f3d20724 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-with-seconds-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-with-seconds + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-with-both-T-and-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-with-both-T-and-space-novalid.html new file mode 100644 index 00000000000..667c9bc378d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-with-both-T-and-space-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-with-both-T-and-space + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-minutes-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-minutes-separator-novalid.html new file mode 100644 index 00000000000..e3598136484 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-minutes-separator-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-wrong-minutes-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-seconds-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-seconds-separator-novalid.html new file mode 100644 index 00000000000..474a0505d15 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-seconds-separator-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-wrong-seconds-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-zero-digit-fraction-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-zero-digit-fraction-novalid.html new file mode 100644 index 00000000000..9e143966e9e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/global-date-and-time-zero-digit-fraction-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-zero-digit-fraction + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/local-date-and-time-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/local-date-and-time-novalid.html new file mode 100644 index 00000000000..ec874405297 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/local-date-and-time-novalid.html @@ -0,0 +1,4 @@ + + +local-date-and-time + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/model-isvalid.html new file mode 100644 index 00000000000..194678a657f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/model-isvalid.html @@ -0,0 +1,32 @@ + + + + + <del> + + + + + +

                                                        strictly inline + + text + +

                                                        + + +

                                                        paragraph + + link + +

                                                        +

                                                        strictly inline + + link + +

                                                        + +

                                                        foo

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/model-novalid.html new file mode 100644 index 00000000000..0cf5c1797b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/model-novalid.html @@ -0,0 +1,45 @@ + + + + + <del> + + + +

                                                        paragraph + + some

                                                        • inline
                                                        content + +

                                                        + + +

                                                        strictly inline + + text + +

                                                        + + + +

                                                        text

                                                        +
                                                        + + +

                                                        paragraph + + link + +

                                                        +

                                                        strictly inline + + link + +

                                                        + +

                                                        link

                                                        +
                                                        + +

                                                        foo

                                                        + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/month-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/month-novalid.html new file mode 100644 index 00000000000..0aa424db5ef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/month-novalid.html @@ -0,0 +1,4 @@ + + +month + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/time-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/time-novalid.html new file mode 100644 index 00000000000..c9dabd72c9d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/time-novalid.html @@ -0,0 +1,4 @@ + + +time + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/week-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/week-novalid.html new file mode 100644 index 00000000000..d4a806363a9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/week-novalid.html @@ -0,0 +1,4 @@ + + +week + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/year-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/year-novalid.html new file mode 100644 index 00000000000..560309cf5df --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/year-novalid.html @@ -0,0 +1,4 @@ + + +year + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/yearless-date-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/yearless-date-novalid.html new file mode 100644 index 00000000000..4374fafc331 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/del/yearless-date-novalid.html @@ -0,0 +1,4 @@ + + +yearless-date + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dfn/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dfn/model-isvalid.html new file mode 100644 index 00000000000..15c72b4fcb6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dfn/model-isvalid.html @@ -0,0 +1,24 @@ + + + + + <dfn> + + + +

                                                        text

                                                        + + +

                                                        text2

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + +

                                                        text4

                                                        +

                                                        text5

                                                        + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dfn/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dfn/model-novalid.html new file mode 100644 index 00000000000..7933d75dac7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dfn/model-novalid.html @@ -0,0 +1,18 @@ + + + + + <dfn> + + + + text + + +

                                                        • text

                                                        + + +

                                                        text

                                                        +

                                                        text

                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dialog/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dialog/model-novalid.html new file mode 100644 index 00000000000..f95676e374e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dialog/model-novalid.html @@ -0,0 +1,15 @@ + + + + + <dialog> + + + +
                                                        Foo
                                                        +
                                                        Bar
                                                        +

                                                        Blah

                                                        +

                                                        Bleh

                                                        +
                                                        + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/div/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/div/model-isvalid.html new file mode 100644 index 00000000000..8d1ad0bf855 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/div/model-isvalid.html @@ -0,0 +1,20 @@ + + + + + <div> + + + +
                                                        +

                                                        text

                                                        +

                                                        text2

                                                        +
                                                          +
                                                          + + +
                                                          +

                                                          text

                                                          +
                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/div/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/div/model-novalid.html new file mode 100644 index 00000000000..a7d8e4f60d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/div/model-novalid.html @@ -0,0 +1,27 @@ + + + + + <div> + + + +

                                                          text +

                                                          +

                                                          text

                                                          +
                                                          +

                                                          + + +

                                                          text +

                                                          +

                                                          text

                                                          +
                                                          +

                                                          + + +
                                                          + some text +
                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dl/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dl/model-isvalid.html new file mode 100644 index 00000000000..c7a5de96c03 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dl/model-isvalid.html @@ -0,0 +1,55 @@ + + + + + Definition List: <dl> <dt> <dd> + + + +
                                                          +
                                                          text
                                                          +
                                                          text
                                                          +
                                                          + + +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + + +
                                                          +
                                                          text
                                                          +
                                                          more text
                                                          +
                                                          text
                                                          +
                                                          more text
                                                          +
                                                          more text
                                                          +
                                                          text
                                                          +
                                                          text
                                                          +
                                                          text
                                                          +
                                                          more text
                                                          +
                                                          + + +
                                                          +
                                                          some text
                                                          +
                                                          more
                                                          text
                                                          +
                                                          + + +
                                                          +
                                                          some text
                                                          +
                                                          +

                                                          more

                                                          +

                                                          text

                                                          +
                                                          +
                                                          + + +
                                                          +
                                                          some text
                                                          +
                                                          more text
                                                          +
                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dl/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dl/model-novalid.html new file mode 100644 index 00000000000..0eacdf8dbff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/dl/model-novalid.html @@ -0,0 +1,75 @@ + + + + + Definition List: <dl> <dt> <dd> + + + +
                                                          +
                                                          text
                                                          +
                                                          text
                                                          +
                                                          + + +

                                                          paragraph +

                                                          +
                                                          text
                                                          +
                                                          text
                                                          +
                                                          +

                                                          + + +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + + +
                                                          +
                                                          text
                                                          +
                                                          more text
                                                          +
                                                          text
                                                          +
                                                          more text
                                                          +
                                                          more text
                                                          +
                                                          text
                                                          +
                                                          text
                                                          +
                                                          text
                                                          +
                                                          more text
                                                          +
                                                          + + +
                                                          +
                                                          some text
                                                          +
                                                          more
                                                          text
                                                          +
                                                          +

                                                          paragraph +

                                                          +
                                                          some text
                                                          +
                                                          more
                                                          text
                                                          +
                                                          +

                                                          + + +
                                                          +
                                                          some text
                                                          +
                                                          +

                                                          more

                                                          +

                                                          text

                                                          +
                                                          +
                                                          + + +
                                                          +
                                                          some text
                                                          +
                                                          more text
                                                          +
                                                          +

                                                          paragraph +

                                                          +
                                                          some text
                                                          +
                                                          more text
                                                          +
                                                          +

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/em/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/em/model-isvalid.html new file mode 100644 index 00000000000..a473a3479ff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/em/model-isvalid.html @@ -0,0 +1,22 @@ + + + + + <em> + + + +

                                                          text

                                                          + + +

                                                          text

                                                          + + +

                                                          text

                                                          +

                                                          text

                                                          + + +

                                                          text

                                                          +

                                                          text

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/em/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/em/model-novalid.html new file mode 100644 index 00000000000..1b721e7b581 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/em/model-novalid.html @@ -0,0 +1,25 @@ + + + + + <em> + + + +

                                                          text

                                                          + + +

                                                          text

                                                          + + +

                                                          text

                                                          +

                                                          text

                                                          + + +

                                                          text

                                                          +

                                                          text

                                                          + + +

                                                          text

                                                          • list
                                                          elem

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/height-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/height-novalid.html new file mode 100644 index 00000000000..62ca5efdf94 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/height-novalid.html @@ -0,0 +1,10 @@ + + + + +element embed with bad height value + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src-empty-novalid.html new file mode 100644 index 00000000000..fb5b6222dd2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src-isvalid.html new file mode 100644 index 00000000000..4b6e213ecfa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src-isvalid.html @@ -0,0 +1,91 @@ + + +valid src + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src-whitespace-only-novalid.html new file mode 100644 index 00000000000..e9259d6a311 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/fragment-backslash-novalid.html new file mode 100644 index 00000000000..28ac5498aa2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..9e05657cb0c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..3e2845abf8a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-cr-novalid.html new file mode 100644 index 00000000000..d8e03b52542 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..96442617523 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..83513733fe0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-empty-novalid.html new file mode 100644 index 00000000000..b0b4eab599b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..2d9d0d019be --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..be983e2ee32 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..a636d49204a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..a50f5435c2a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..2cd5dced045 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-newline-novalid.html new file mode 100644 index 00000000000..ce5e9c395bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-space-novalid.html new file mode 100644 index 00000000000..8e48edb2902 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..34ff35c85ae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-tab-novalid.html new file mode 100644 index 00000000000..54eb72adafb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..f9da71c715f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..cbb60db2206 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..8fece4c1f14 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-contains-space-novalid.html new file mode 100644 index 00000000000..729219ae033 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..daa9caf21dd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..dbd21679cbd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..fbb85e06f8a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-leading-space-novalid.html new file mode 100644 index 00000000000..826a9b66382 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..bd1cec37d86 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..0d664b33d0f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-tab-novalid.html new file mode 100644 index 00000000000..e567b2e1c4f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-trailing-space-novalid.html new file mode 100644 index 00000000000..813f1c09adc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-u0091-novalid.html new file mode 100644 index 00000000000..3725b447e1f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-cr-novalid.html new file mode 100644 index 00000000000..f91f00a5952 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..216c25b414a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-leading-colon-novalid.html new file mode 100644 index 00000000000..02f55037462 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-leading-dash-novalid.html new file mode 100644 index 00000000000..fab5f995e4e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..4c6f73d50ea --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-newline-novalid.html new file mode 100644 index 00000000000..f434a0f82b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-single-letter-novalid.html new file mode 100644 index 00000000000..a685bd3890e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-space-novalid.html new file mode 100644 index 00000000000..b21dc093292 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-tab-novalid.html new file mode 100644 index 00000000000..ee1329d15f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/query-leading-space-novalid.html new file mode 100644 index 00000000000..16c00ae10ec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/query-trailing-space-novalid.html new file mode 100644 index 00000000000..6e75ffc41c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..f13b3b66640 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +src warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..e29dbb42186 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..72babd1bb0e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..0d49b31e87e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..3f84b6e8b5a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..af6d96024d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..02cfc51d3fc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..6847bac4e7a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..1e5a0f2c8fa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..f97dfe838c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..524d4bb6d52 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..31e7be41bff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..1aeaae42242 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..7b3fec7e8e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..52aff9fb792 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..f0c5d930765 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..3829a82fe70 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..e3a98caec64 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..6a1610d619e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..d662052c126 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..ebd7452064c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..658d48c4657 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..d0963b79538 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..6f102c35315 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/type-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/type-novalid.html new file mode 100644 index 00000000000..c6d456e4666 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/type-novalid.html @@ -0,0 +1,10 @@ + + + + +element embed with bad type value + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/width-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/width-novalid.html new file mode 100644 index 00000000000..7e6e4449c9a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/embed/width-novalid.html @@ -0,0 +1,10 @@ + + + + +element embed with bad width value + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/footer/nested-footer-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/footer/nested-footer-novalid.html new file mode 100644 index 00000000000..1dd79e86476 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/footer/nested-footer-novalid.html @@ -0,0 +1,12 @@ + + + + +"footer" with "footer" descendant + + +
                                                          +
                                                          +
                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/footer/nested-header-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/footer/nested-header-novalid.html new file mode 100644 index 00000000000..26c60a31f54 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/footer/nested-header-novalid.html @@ -0,0 +1,12 @@ + + + + +"footer" with "header" descendant + + +
                                                          +
                                                          +
                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action-empty-novalid.html new file mode 100644 index 00000000000..4090e01ce61 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty action is not valid +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action-isvalid.html new file mode 100644 index 00000000000..a7fb1360d92 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action-isvalid.html @@ -0,0 +1,91 @@ + + +valid action +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action-whitespace-only-novalid.html new file mode 100644 index 00000000000..23222c775db --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty action is not valid +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/fragment-backslash-novalid.html new file mode 100644 index 00000000000..d5a014727bd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: fragment-backslash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..8dfcce917a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: fragment-contains-hash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..b95be6bed35 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: fragment-leading-space +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-cr-novalid.html new file mode 100644 index 00000000000..57be7114fb5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-cr +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..df5e0d4a08e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-double-percent-encoded +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..eab6133a82e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-double-percent-encoded-percent-encoded +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-empty-novalid.html new file mode 100644 index 00000000000..1879fc86dfe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-empty +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..e7689786458 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-empty-userinfo-empty +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..dceaae334d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-empty-with-userinfo +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..9d707cd4da7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-hostname-in-brackets +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..6613d7ae5c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-invalid-unicode +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..cbabc9d37c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-invalid-unicode-percent-encoded +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-newline-novalid.html new file mode 100644 index 00000000000..f3c90d5ef61 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid action: host-newline +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-space-novalid.html new file mode 100644 index 00000000000..a1155951197 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-space +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..88042b5ab8a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-square-brackets-port-contains-colon +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-tab-novalid.html new file mode 100644 index 00000000000..a36e6597f7a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-tab +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..fc500a0b08a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-u0000-percent-encoded +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..0f9f20a4a50 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: host-u0000-percent-encoded-percent-encoded +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..be8318b82c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: path-bare-percent-sign +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-contains-space-novalid.html new file mode 100644 index 00000000000..4194fbad8da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: path-contains-space +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..e41abc4a461 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: path-leading-backslash-at-sign +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..a967ca78a85 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: path-leading-colon-backslash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..2f50a571e8f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: path-leading-colon-chars-backslash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-leading-space-novalid.html new file mode 100644 index 00000000000..fae910c82bc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: path-leading-space +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..cc43c394217 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: path-percent-encoded-malformed +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..b90ce68330c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: path-relative-square-brackets +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-tab-novalid.html new file mode 100644 index 00000000000..c08a28800c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: path-tab +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-trailing-space-novalid.html new file mode 100644 index 00000000000..866ba41c58c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: path-trailing-space +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-u0091-novalid.html new file mode 100644 index 00000000000..7f2bd6d669e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: path-u0091 +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-cr-novalid.html new file mode 100644 index 00000000000..07413a33683 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: port-cr +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..ca12578b0cd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: port-leading-colon-bracket-colon +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-leading-colon-novalid.html new file mode 100644 index 00000000000..ab06dfb6fda --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: port-leading-colon +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-leading-dash-novalid.html new file mode 100644 index 00000000000..2192f87f6da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: port-leading-dash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..def350e6c1c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: port-multiple-letters +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-newline-novalid.html new file mode 100644 index 00000000000..deeaa68a307 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid action: port-newline +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-single-letter-novalid.html new file mode 100644 index 00000000000..7aa8b83b632 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: port-single-letter +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-space-novalid.html new file mode 100644 index 00000000000..27b549e4613 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: port-space +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-tab-novalid.html new file mode 100644 index 00000000000..99f6b9b0d6b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: port-tab +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/query-leading-space-novalid.html new file mode 100644 index 00000000000..5c18e9aaea4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: query-leading-space +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/query-trailing-space-novalid.html new file mode 100644 index 00000000000..103f75b79f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: query-trailing-space +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..ba826225e76 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..738714d1a7d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-data-single-slash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..7e944c6572e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-file-backslash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..c72ada05313 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-file-single-slash-c-bar +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..e4b1bbaadc5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-file-triple-slash-c-bar +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..ea5f35911c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-ftp-no-slash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..9629bb8a63a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-ftp-single-slash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..672a812f837 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-http-backslash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..e6f8f724e77 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-http-no-slash-colon +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..d53e1a2fd60 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-http-no-slash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..506ac46f3a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-http-no-slash-square-bracket +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..047e218b074 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-http-single-slash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..8cb2a7f583c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-https-no-slash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..be422fdbff3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-https-single-slash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..bc66953ab7d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-javascript-no-slash-malformed +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..6090097a686 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-trailing-cr +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..50c64a94f7b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid action: scheme-trailing-newline +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..8632616c2c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-trailing-space +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..cd39c5ad629 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: scheme-trailing-tab +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..37ef4f20180 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: userinfo-backslash +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..1ed632962c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: userinfo-password-bad-chars +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..33460c9ffbb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: userinfo-password-contains-pile-of-poo +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..03cf279264f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: userinfo-username-contains-at-sign +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..ccc38c24f42 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid action: userinfo-username-contains-pile-of-poo +
                                                          diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h1/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h1/model-isvalid.html new file mode 100644 index 00000000000..3e92f42e541 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h1/model-isvalid.html @@ -0,0 +1,17 @@ + + + + + <h1> + + + +

                                                          text

                                                          + + +

                                                          text elem

                                                          + + +

                                                          text

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h1/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h1/model-novalid.html new file mode 100644 index 00000000000..86eafc073d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h1/model-novalid.html @@ -0,0 +1,29 @@ + + + + + <h1> + + + +

                                                          text +

                                                          more text

                                                          +

                                                          + + +

                                                          text +

                                                          more text

                                                          +

                                                          + + +

                                                          +

                                                          p1

                                                          +

                                                          p2

                                                          +

                                                          + + +

                                                          text +
                                                          • text
                                                          +

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h2/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h2/model-isvalid.html new file mode 100644 index 00000000000..d1767ecaf6f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h2/model-isvalid.html @@ -0,0 +1,17 @@ + + + + + <h2> + + + +

                                                          text

                                                          + + +

                                                          text elem

                                                          + + +

                                                          text

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h2/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h2/model-novalid.html new file mode 100644 index 00000000000..f4374f4fbfd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h2/model-novalid.html @@ -0,0 +1,29 @@ + + + + + <h2> + + + +

                                                          text +

                                                          more text

                                                          +

                                                          + + +

                                                          text +

                                                          more text

                                                          +

                                                          + + +

                                                          +

                                                          p1

                                                          +

                                                          p2

                                                          +

                                                          + + +

                                                          text +
                                                          • text
                                                          +

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h3/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h3/model-isvalid.html new file mode 100644 index 00000000000..29a870ea4e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h3/model-isvalid.html @@ -0,0 +1,17 @@ + + + + + <h3> + + + +

                                                          text

                                                          + + +

                                                          text elem

                                                          + + +

                                                          text

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h3/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h3/model-novalid.html new file mode 100644 index 00000000000..8df7903332b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h3/model-novalid.html @@ -0,0 +1,29 @@ + + + + + <h3> + + + +

                                                          text +

                                                          more text

                                                          +

                                                          + + +

                                                          text +

                                                          more text

                                                          +

                                                          + + +

                                                          +

                                                          p1

                                                          +

                                                          p2

                                                          +

                                                          + + +

                                                          text +
                                                          • text
                                                          +

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h4/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h4/model-isvalid.html new file mode 100644 index 00000000000..657ed6a3330 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h4/model-isvalid.html @@ -0,0 +1,17 @@ + + + + + <h4> + + + +

                                                          text

                                                          + + +

                                                          text elem

                                                          + + +

                                                          text

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h4/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h4/model-novalid.html new file mode 100644 index 00000000000..1a0b1f28e39 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h4/model-novalid.html @@ -0,0 +1,29 @@ + + + + + <h4> + + + +

                                                          text +

                                                          more text

                                                          +

                                                          + + +

                                                          text +

                                                          more text

                                                          +

                                                          + + +

                                                          +

                                                          p1

                                                          +

                                                          p2

                                                          +

                                                          + + +

                                                          text +
                                                          • text
                                                          +

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h5/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h5/model-isvalid.html new file mode 100644 index 00000000000..6060e03849f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h5/model-isvalid.html @@ -0,0 +1,17 @@ + + + + + <h5> + + + +
                                                          text
                                                          + + +
                                                          text elem
                                                          + + +
                                                          text
                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h5/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h5/model-novalid.html new file mode 100644 index 00000000000..c88504826f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h5/model-novalid.html @@ -0,0 +1,29 @@ + + + + + <h5> + + + +

                                                          text +

                                                          more text
                                                          +

                                                          + + +

                                                          text +

                                                          more text
                                                          +

                                                          + + +
                                                          +

                                                          p1

                                                          +

                                                          p2

                                                          +
                                                          + + +
                                                          text +
                                                          • text
                                                          +
                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h6/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h6/model-isvalid.html new file mode 100644 index 00000000000..9f971bd6ff8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h6/model-isvalid.html @@ -0,0 +1,17 @@ + + + + + <h6> + + + +
                                                          text
                                                          + + +
                                                          text elem
                                                          + + +
                                                          text
                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h6/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h6/model-novalid.html new file mode 100644 index 00000000000..a9a393e4c43 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/h6/model-novalid.html @@ -0,0 +1,29 @@ + + + + + <h6> + + + +

                                                          text +

                                                          more text
                                                          +

                                                          + + +

                                                          text +

                                                          more text
                                                          +

                                                          + + +
                                                          +

                                                          p1

                                                          +

                                                          p2

                                                          +
                                                          + + +
                                                          text +
                                                          • text
                                                          +
                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/header/nested-footer-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/header/nested-footer-novalid.html new file mode 100644 index 00000000000..958f974ee0b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/header/nested-footer-novalid.html @@ -0,0 +1,12 @@ + + + + +"header" with "footer" descendant + + +
                                                          +
                                                          +
                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/header/nested-header-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/header/nested-header-novalid.html new file mode 100644 index 00000000000..0a4d8b51ce5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/header/nested-header-novalid.html @@ -0,0 +1,12 @@ + + + + +"header" with "header" descendant + + +
                                                          +
                                                          +
                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/hr/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/hr/model-isvalid.html new file mode 100644 index 00000000000..4202896bd57 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/hr/model-isvalid.html @@ -0,0 +1,11 @@ + + + + + <hr> + + + +
                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/hr/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/hr/model-novalid.html new file mode 100644 index 00000000000..1c76bfb6b1a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/hr/model-novalid.html @@ -0,0 +1,28 @@ + + + + + <hr> + + + +

                                                          +

                                                            +
                                                          • +
                                                            +
                                                          • +
                                                          +

                                                          + + +

                                                          text +


                                                          +

                                                          + + +
                                                          +

                                                          p1

                                                          + +
                                                          text + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest-empty-novalid.html new file mode 100644 index 00000000000..23b82f543ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest-empty-novalid.html @@ -0,0 +1,5 @@ + + + +empty manifest is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest-whitespace-only-novalid.html new file mode 100644 index 00000000000..d9ee8070a02 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest-whitespace-only-novalid.html @@ -0,0 +1,6 @@ + + + +empty manifest is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-backslash-novalid.html new file mode 100644 index 00000000000..00259455e15 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-backslash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..09d918e3eaa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-contains-hash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-contains-pile-of-poo-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-contains-pile-of-poo-isvalid.html new file mode 100644 index 00000000000..fffad819a85 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-contains-pile-of-poo-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: fragment-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-contains-question-mark-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-contains-question-mark-isvalid.html new file mode 100644 index 00000000000..19187c700c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-contains-question-mark-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: fragment-contains-question-mark + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-empty-hash-only-no-path-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-empty-hash-only-no-path-relative-isvalid.html new file mode 100644 index 00000000000..27b57ce2372 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-empty-hash-only-no-path-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: fragment-empty-hash-only-no-path-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..c150d0835bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-leading-space-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-non-ascii-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-non-ascii-relative-isvalid.html new file mode 100644 index 00000000000..fb991b68e62 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-non-ascii-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: fragment-non-ascii-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-semicolon-question-mark-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-semicolon-question-mark-relative-isvalid.html new file mode 100644 index 00000000000..ea5b805626e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-semicolon-question-mark-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: fragment-semicolon-question-mark-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-slash-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-slash-relative-isvalid.html new file mode 100644 index 00000000000..6ce956067fd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/fragment-slash-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: fragment-slash-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-192.0x00A80001-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-192.0x00A80001-isvalid.html new file mode 100644 index 00000000000..345fd9d6408 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-192.0x00A80001-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: host-192.0x00A80001 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-IP-address-broken-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-IP-address-broken-isvalid.html new file mode 100644 index 00000000000..38865022c0f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-IP-address-broken-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: host-IP-address-broken + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-IP-address-fullwidth-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-IP-address-fullwidth-isvalid.html new file mode 100644 index 00000000000..10666ae29d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-IP-address-fullwidth-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: host-IP-address-fullwidth + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-IP-address-percent-encoded-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-IP-address-percent-encoded-isvalid.html new file mode 100644 index 00000000000..200da79baf8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-IP-address-percent-encoded-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: host-IP-address-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-cr-novalid.html new file mode 100644 index 00000000000..67825718acd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-cr-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..e18e4216b9a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..b2f7fb39912 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-empty-novalid.html new file mode 100644 index 00000000000..c24cde01edd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-empty-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..36e22f73651 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..80b3f8f076c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-empty-with-userinfo-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-exotic-dot-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-exotic-dot-isvalid.html new file mode 100644 index 00000000000..fa81d73b01f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-exotic-dot-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: host-exotic-dot + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-exotic-whitespace-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-exotic-whitespace-isvalid.html new file mode 100644 index 00000000000..04d2499cace --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-exotic-whitespace-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: host-exotic-whitespace + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-fullwidth-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-fullwidth-isvalid.html new file mode 100644 index 00000000000..9d355c9eac8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-fullwidth-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: host-fullwidth + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..a651c000396 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-hostname-in-brackets-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-idn-unicode-han-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-idn-unicode-han-isvalid.html new file mode 100644 index 00000000000..71e9530f5eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-idn-unicode-han-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: host-idn-unicode-han + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..d86538bd46a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..c5a3810d492 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-ipv6-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-ipv6-isvalid.html new file mode 100644 index 00000000000..c6cf132922c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-ipv6-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: host-ipv6 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-ipv6-port-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-ipv6-port-isvalid.html new file mode 100644 index 00000000000..18292187adf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-ipv6-port-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: host-ipv6-port + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-is-pile-of-poo-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-is-pile-of-poo-isvalid.html new file mode 100644 index 00000000000..a56696d181f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-is-pile-of-poo-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: host-is-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-newline-novalid.html new file mode 100644 index 00000000000..8b4f8e048da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-newline-novalid.html @@ -0,0 +1,6 @@ + + + +invalid manifest: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-space-novalid.html new file mode 100644 index 00000000000..53d49012ee4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-space-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..cb654811fea --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-tab-novalid.html new file mode 100644 index 00000000000..abc896073db --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-tab-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..f1f22dfb2fc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..bc5254117dd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..39cb890aa76 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-bare-percent-sign-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-colon-colon-number-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-colon-colon-number-relative-isvalid.html new file mode 100644 index 00000000000..9110e619424 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-colon-colon-number-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-colon-colon-number-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-colon-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-colon-relative-isvalid.html new file mode 100644 index 00000000000..9387fbf07e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-colon-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-colon-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-contains-pile-of-poo-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-contains-pile-of-poo-isvalid.html new file mode 100644 index 00000000000..7fcc6f644dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-contains-pile-of-poo-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-contains-space-novalid.html new file mode 100644 index 00000000000..e44c2fbcb85 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-contains-space-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..efc42dfb6b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..7621629aa46 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-backslash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..61407fb5373 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-relative-isvalid.html new file mode 100644 index 00000000000..d211906ba90 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-leading-colon-chars-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-colon-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-colon-relative-isvalid.html new file mode 100644 index 00000000000..82d824f61e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-colon-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-leading-colon-colon-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-hash-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-hash-relative-isvalid.html new file mode 100644 index 00000000000..8e4165d0346 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-hash-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-leading-colon-hash-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-letter-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-letter-relative-isvalid.html new file mode 100644 index 00000000000..d60081dc7fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-letter-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-leading-colon-letter-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-number-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-number-relative-isvalid.html new file mode 100644 index 00000000000..d89a20bdadc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-number-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-leading-colon-number-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-slash-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-slash-relative-isvalid.html new file mode 100644 index 00000000000..246fd8028fa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-slash-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-leading-colon-slash-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-space-novalid.html new file mode 100644 index 00000000000..e723ed665f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-leading-space-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-non-ascii-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-non-ascii-isvalid.html new file mode 100644 index 00000000000..37ef395ea05 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-non-ascii-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-non-ascii + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-dot-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-dot-isvalid.html new file mode 100644 index 00000000000..855f316cb95 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-dot-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-percent-encoded-dot + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..f9bbb42f693 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-mixed-case-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-mixed-case-isvalid.html new file mode 100644 index 00000000000..a8d9c9224b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-mixed-case-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-percent-encoded-mixed-case + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-multiple-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-multiple-isvalid.html new file mode 100644 index 00000000000..4e9cfb94ef9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-multiple-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-percent-encoded-multiple + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-plus-slashes-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-plus-slashes-relative-isvalid.html new file mode 100644 index 00000000000..6e703da5c1f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-plus-slashes-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-percent-encoded-slash-plus-slashes-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-relative-isvalid.html new file mode 100644 index 00000000000..113fa978adf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-percent-encoded-slash-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-space-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-space-isvalid.html new file mode 100644 index 00000000000..4bf72938b58 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-space-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-percent-encoded-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0000-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0000-isvalid.html new file mode 100644 index 00000000000..48173a3340a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0000-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-percent-encoded-u0000 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0091-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0091-isvalid.html new file mode 100644 index 00000000000..5956032c258 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0091-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-percent-encoded-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..77b5bbc7822 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-relative-square-brackets-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-simple-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-simple-relative-isvalid.html new file mode 100644 index 00000000000..88927765855 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-simple-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-simple-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-slash-colon-number-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-slash-colon-number-relative-isvalid.html new file mode 100644 index 00000000000..e26fd678e46 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-slash-colon-number-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-slash-colon-number-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-slash-only-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-slash-only-relative-isvalid.html new file mode 100644 index 00000000000..f4094bfde59 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-slash-only-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-slash-only-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-starts-with-pile-of-poo-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-starts-with-pile-of-poo-isvalid.html new file mode 100644 index 00000000000..8c54ac33d68 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-starts-with-pile-of-poo-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-starts-with-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-tab-novalid.html new file mode 100644 index 00000000000..b895139445f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-tab-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-trailing-space-novalid.html new file mode 100644 index 00000000000..419ef427d3b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-trailing-space-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-u0091-novalid.html new file mode 100644 index 00000000000..66e754ea0d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-u0091-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-u202E-u202D-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-u202E-u202D-isvalid.html new file mode 100644 index 00000000000..a2073bb1009 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-u202E-u202D-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-u202E-u202D + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-uFEFF-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-uFEFF-isvalid.html new file mode 100644 index 00000000000..02d902a2845 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-uFEFF-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-uFEFF + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-unicode-han-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-unicode-han-isvalid.html new file mode 100644 index 00000000000..d7f33f0698b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/path-unicode-han-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: path-unicode-han + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-0-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-0-isvalid.html new file mode 100644 index 00000000000..bd79085dd7b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-0-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: port-0 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-00000000000000-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-00000000000000-isvalid.html new file mode 100644 index 00000000000..ed6136e5d23 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-00000000000000-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: port-00000000000000 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-00000000000000000000080-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-00000000000000000000080-isvalid.html new file mode 100644 index 00000000000..4bebdf91e3f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-00000000000000000000080-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: port-00000000000000000000080 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-999999-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-999999-isvalid.html new file mode 100644 index 00000000000..bd27dd49f1b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-999999-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: port-999999 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-cr-novalid.html new file mode 100644 index 00000000000..9e21524abde --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-cr-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..50987282911 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-novalid.html new file mode 100644 index 00000000000..605becab821 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-leading-dash-novalid.html new file mode 100644 index 00000000000..01e665bfd67 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-leading-dash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..b01820a613b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-multiple-letters-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-newline-novalid.html new file mode 100644 index 00000000000..4afb34049a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-newline-novalid.html @@ -0,0 +1,6 @@ + + + +invalid manifest: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-none-but-colon-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-none-but-colon-isvalid.html new file mode 100644 index 00000000000..1138973c4dd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-none-but-colon-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: port-none-but-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-single-letter-novalid.html new file mode 100644 index 00000000000..69c5a649fe1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-single-letter-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-space-novalid.html new file mode 100644 index 00000000000..6c64dd7d81a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-space-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-tab-novalid.html new file mode 100644 index 00000000000..0c3c9691c8d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/port-tab-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-contains-pile-of-poo-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-contains-pile-of-poo-isvalid.html new file mode 100644 index 00000000000..d87dab24702 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-contains-pile-of-poo-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: query-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-contains-question-mark-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-contains-question-mark-isvalid.html new file mode 100644 index 00000000000..6bcfa74c11f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-contains-question-mark-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: query-contains-question-mark + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-empty-no-path-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-empty-no-path-relative-isvalid.html new file mode 100644 index 00000000000..ccf1cd817b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-empty-no-path-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: query-empty-no-path-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-leading-space-novalid.html new file mode 100644 index 00000000000..121125a2794 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-leading-space-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-trailing-space-novalid.html new file mode 100644 index 00000000000..5580a23fbd5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/query-trailing-space-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..270fe8bc35a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,5 @@ + + + +manifest warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-data-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-data-no-slash-isvalid.html new file mode 100644 index 00000000000..56853b148ae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-data-no-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-data-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..ddd8293b10b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-data-single-slash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..3117d0284b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-backslash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-empty-isvalid.html new file mode 100644 index 00000000000..f51329c0674 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-empty-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-file-host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-included-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-included-isvalid.html new file mode 100644 index 00000000000..f62e9596539 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-included-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-file-host-included + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-no-slash-isvalid.html new file mode 100644 index 00000000000..3706aaed2b1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-no-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-file-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-scheme-only-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-scheme-only-isvalid.html new file mode 100644 index 00000000000..37ddc808038 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-scheme-only-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-file-scheme-only + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..90700a420e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-isvalid.html new file mode 100644 index 00000000000..ccac15caf1d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-file-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-only-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-only-isvalid.html new file mode 100644 index 00000000000..bd2b8514bbe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-only-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-file-slash-only + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-abc-bar-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-abc-bar-isvalid.html new file mode 100644 index 00000000000..2321c0c45db --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-abc-bar-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-file-slash-slash-abc-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-c-bar-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-c-bar-isvalid.html new file mode 100644 index 00000000000..0743f63b6ed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-c-bar-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-file-slash-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-only-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-only-isvalid.html new file mode 100644 index 00000000000..32ac621a3b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-only-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-file-slash-slash-only + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-slash-only-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-slash-only-isvalid.html new file mode 100644 index 00000000000..b4707389417 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-slash-only-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-file-slash-slash-slash-only + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..a511e345edb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-uppercase-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-uppercase-isvalid.html new file mode 100644 index 00000000000..061784e82c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-file-uppercase-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-file-uppercase + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..64d78da68c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..40564d9ca99 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-no-slash-isvalid.html new file mode 100644 index 00000000000..02ef1d62654 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-no-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-ftps-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-single-slash-isvalid.html new file mode 100644 index 00000000000..45366356e5e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-single-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-ftps-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-no-slash-isvalid.html new file mode 100644 index 00000000000..38270e19e88 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-no-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-gopher-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-single-slash-isvalid.html new file mode 100644 index 00000000000..dfcb01513f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-single-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-gopher-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..1096e1b4c8c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-backslash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..de4733f4338 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..b080bfc8073 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..bbf05a5e18e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..5268c6061a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-http-single-slash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..591686d950f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-https-no-slash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..edb658d6e12 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-https-single-slash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..f1a91bbe3c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-single-slash-isvalid.html new file mode 100644 index 00000000000..306b7ac94d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-single-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-javascript-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-no-slash-isvalid.html new file mode 100644 index 00000000000..b55c8a8a36b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-no-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-mailto-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-single-slash-isvalid.html new file mode 100644 index 00000000000..d29dc5e9a92 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-single-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-mailto-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-none-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-none-relative-isvalid.html new file mode 100644 index 00000000000..d1a0642c8d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-none-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-none-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-isvalid.html new file mode 100644 index 00000000000..e0ba7493279 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-private + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-no-slash-isvalid.html new file mode 100644 index 00000000000..676da6f3ba0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-no-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-private-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-isvalid.html new file mode 100644 index 00000000000..c839f760ab4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-private-path + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-chars-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-chars-isvalid.html new file mode 100644 index 00000000000..9881ee4168a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-chars-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-private-path-leading-slashes-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-colon-slashes-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-colon-slashes-isvalid.html new file mode 100644 index 00000000000..08aeb85c8f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-colon-slashes-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-private-path-leading-slashes-colon-slashes + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-only-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-only-isvalid.html new file mode 100644 index 00000000000..90aee1d494d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-only-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-private-path-leading-slashes-only + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-letter-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-letter-isvalid.html new file mode 100644 index 00000000000..88e344a114c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-letter-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-private-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-slash-isvalid.html new file mode 100644 index 00000000000..385ccceac94 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-private-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-isvalid.html new file mode 100644 index 00000000000..4f1b38b394c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-private-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-slash-isvalid.html new file mode 100644 index 00000000000..d7444534694 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-private-slash-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-schemeless-relative-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-schemeless-relative-isvalid.html new file mode 100644 index 00000000000..e2eb5fcc691 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-schemeless-relative-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-schemeless-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..dd9f4173a79 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-cr-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..a7ec3ec3a55 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-newline-novalid.html @@ -0,0 +1,6 @@ + + + +invalid manifest: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..5118f88b51e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-space-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..200a48c6deb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-tab-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ws-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ws-single-slash-isvalid.html new file mode 100644 index 00000000000..e8c33f70941 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-ws-single-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-ws-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-wss-no-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-wss-no-slash-isvalid.html new file mode 100644 index 00000000000..4b60718498c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-wss-no-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-wss-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-wss-single-slash-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-wss-single-slash-isvalid.html new file mode 100644 index 00000000000..a86f5617f8c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/scheme-wss-single-slash-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: scheme-wss-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..d20219825bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-backslash-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-empty-isvalid.html new file mode 100644 index 00000000000..82a49feca48 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-empty-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-host-port-path-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-host-port-path-isvalid.html new file mode 100644 index 00000000000..7ec46ffeaff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-host-port-path-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: userinfo-host-port-path + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-isvalid.html new file mode 100644 index 00000000000..c7008c60e21 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..3b846b44fc6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..6f9774c053b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-password-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-password-empty-isvalid.html new file mode 100644 index 00000000000..51add89dc6e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-password-empty-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: userinfo-password-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-user-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-user-empty-isvalid.html new file mode 100644 index 00000000000..1da26e7edc7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-user-empty-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: userinfo-user-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..2856f570442 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-percent-encoded-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-percent-encoded-isvalid.html new file mode 100644 index 00000000000..fa4a2223a52 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-percent-encoded-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: userinfo-username-contains-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..ce1e91b321d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,5 @@ + + + +invalid manifest: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-username-non-alpha-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-username-non-alpha-isvalid.html new file mode 100644 index 00000000000..e5339b98d21 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/html/manifest/userinfo-username-non-alpha-isvalid.html @@ -0,0 +1,5 @@ + + + +valid manifest: userinfo-username-non-alpha + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/i/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/i/model-isvalid.html new file mode 100644 index 00000000000..4d0fe7a37c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/i/model-isvalid.html @@ -0,0 +1,24 @@ + + + + + <i> + + + +

                                                          text

                                                          + + +

                                                          text

                                                          + + +

                                                          text

                                                          +

                                                          text

                                                          + + +

                                                          text

                                                          +

                                                          text

                                                          + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/i/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/i/model-novalid.html new file mode 100644 index 00000000000..892bb395e23 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/i/model-novalid.html @@ -0,0 +1,18 @@ + + + + + <i> + + + + text + + +

                                                          • text

                                                          + + +

                                                          text

                                                          +

                                                          text

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/model-isvalid.html new file mode 100644 index 00000000000..45e29ed72ef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/model-isvalid.html @@ -0,0 +1,36 @@ + + + + + <iframe> + + + +

                                                          + + +

                                                          + +

                                                          strictly inline + +

                                                          +

                                                          paragraph + +

                                                          +

                                                          strictly inline + +

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/model-novalid.html new file mode 100644 index 00000000000..c2db35294bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/model-novalid.html @@ -0,0 +1,74 @@ + + + + + <iframe> + + + +

                                                          + + +

                                                          + + + + + +

                                                          paragraph + +

                                                          + +

                                                          strictly inline + +

                                                          + + + + + +

                                                          paragraph + +

                                                          +

                                                          strictly inline + +

                                                          + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src-empty-novalid.html new file mode 100644 index 00000000000..db0bd30947e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src-isvalid.html new file mode 100644 index 00000000000..a0bbcbe4eb0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src-isvalid.html @@ -0,0 +1,91 @@ + + +valid src + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src-whitespace-only-novalid.html new file mode 100644 index 00000000000..12b307da287 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/fragment-backslash-novalid.html new file mode 100644 index 00000000000..f1e149373e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..d781f871aca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..f567ab48cca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-cr-novalid.html new file mode 100644 index 00000000000..dfa8d99b14e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..322e4ec4188 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..1a505f0704f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-empty-novalid.html new file mode 100644 index 00000000000..c7c67515118 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..f44f6ceb600 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..dfb4c8af7c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..27c546addbd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..9cf93c27f95 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..c5d371e4326 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-newline-novalid.html new file mode 100644 index 00000000000..f914a5c84d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-space-novalid.html new file mode 100644 index 00000000000..00567d593d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..ae72842756b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-tab-novalid.html new file mode 100644 index 00000000000..d36f1257898 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..509184a6a9a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..7599cc11945 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..61fbdf004b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-contains-space-novalid.html new file mode 100644 index 00000000000..d11dfb92ae7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..f3d0d22b6cb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..bf8a1ca17c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..3db3992c06a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-leading-space-novalid.html new file mode 100644 index 00000000000..56f349685ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..db315eddeca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..9417972d6a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-tab-novalid.html new file mode 100644 index 00000000000..0b0a6d75544 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-trailing-space-novalid.html new file mode 100644 index 00000000000..e79f6456f2c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-u0091-novalid.html new file mode 100644 index 00000000000..e03e054f087 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-cr-novalid.html new file mode 100644 index 00000000000..b2df05bb6fa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..41280d20e8c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-novalid.html new file mode 100644 index 00000000000..4a4a6a04563 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-leading-dash-novalid.html new file mode 100644 index 00000000000..052e77e051e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..d2b6be6ae6e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-newline-novalid.html new file mode 100644 index 00000000000..adff8ec67c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-single-letter-novalid.html new file mode 100644 index 00000000000..fb149be62ea --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-space-novalid.html new file mode 100644 index 00000000000..aafdfe523e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-tab-novalid.html new file mode 100644 index 00000000000..de0ce71ae88 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/query-leading-space-novalid.html new file mode 100644 index 00000000000..28014d70447 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/query-trailing-space-novalid.html new file mode 100644 index 00000000000..15f2db6f774 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..504824ca11b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..ef6b1f9db8e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..debfa48520d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..194ff491c10 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..1584da92a61 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..d8a2d18fb91 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..eccb4dd75f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..8e9fe240521 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..0546f29cbcc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..d77d7e5d575 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..f66c4397fa8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..12a75c3ca44 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..18dc42fa34a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..142e7b0e1af --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..6424e83c0f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..dfc74a21265 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..7c7dca7708b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..4d439a76deb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..5542fe93d79 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..099e4861e97 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..084b8f0b9fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..85aadb63391 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..4ff2b75c53d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..41fc10e2923 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/model-isvalid.html new file mode 100644 index 00000000000..b0c7b33f02b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/model-isvalid.html @@ -0,0 +1,31 @@ + + + + + <img> + + + +

                                                          text

                                                          + + +

                                                          text

                                                          + + +

                                                          text

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/model-novalid.html new file mode 100644 index 00000000000..d16a8064169 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/model-novalid.html @@ -0,0 +1,33 @@ + + + + + <img> + + + +

                                                          text

                                                          + + +

                                                          text

                                                          + + +

                                                          text

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src-empty-novalid.html new file mode 100644 index 00000000000..d585907509d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src-isvalid.html new file mode 100644 index 00000000000..0837cfe1e36 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src-isvalid.html @@ -0,0 +1,91 @@ + + +valid src + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src-whitespace-only-novalid.html new file mode 100644 index 00000000000..cc0140808fd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/fragment-backslash-novalid.html new file mode 100644 index 00000000000..f54d6cbadd1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..59829cfee46 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..c7420ec545a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-cr-novalid.html new file mode 100644 index 00000000000..2b14d6bda33 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..d0fcc7336ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..6be9a8a4f7c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-empty-novalid.html new file mode 100644 index 00000000000..41191edb5a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..8f02f8e9c26 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..b0b86cc3038 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..f17042f721e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..37d687ab5f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..7d905ea3b9c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-newline-novalid.html new file mode 100644 index 00000000000..10bb356b352 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-space-novalid.html new file mode 100644 index 00000000000..633ea951b35 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..e37c9070fd6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-tab-novalid.html new file mode 100644 index 00000000000..c2b47937a8f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..524834a9475 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..2b19cb86264 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..368e940411e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-contains-space-novalid.html new file mode 100644 index 00000000000..7b1da54cb50 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..ded9f27fc60 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..7bebfa8b677 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..f1fe58ebdbe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-leading-space-novalid.html new file mode 100644 index 00000000000..c1fc4d0b7cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..62bb73054de --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..da8bcd72571 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-tab-novalid.html new file mode 100644 index 00000000000..42e555e6832 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-trailing-space-novalid.html new file mode 100644 index 00000000000..98812cb9a65 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-u0091-novalid.html new file mode 100644 index 00000000000..a15047c3ec8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-cr-novalid.html new file mode 100644 index 00000000000..49e6a1a0a76 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..6d7233039f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-leading-colon-novalid.html new file mode 100644 index 00000000000..75eba0ea32a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-leading-dash-novalid.html new file mode 100644 index 00000000000..9a66f5a411a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..fcb6e959f69 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-newline-novalid.html new file mode 100644 index 00000000000..3d59a2e4bcc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-single-letter-novalid.html new file mode 100644 index 00000000000..1ba9df25c27 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-space-novalid.html new file mode 100644 index 00000000000..e59cda369a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-tab-novalid.html new file mode 100644 index 00000000000..9ae34b348e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/query-leading-space-novalid.html new file mode 100644 index 00000000000..896fd99b3ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/query-trailing-space-novalid.html new file mode 100644 index 00000000000..ac079b454ff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..964cdce93f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +src warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..d5e0ae53eb8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..efb0fa5d77e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..61a7697e3d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..15120451d42 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..3c2e7439ac1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..f3218f03d17 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..fa2a92173a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..16c9fa05a2d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..0554f086c92 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..518ba415f21 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..1c1ba05e0ef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..4057a3fa908 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..00d028cab04 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..00a8c885719 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..c50d3ac1632 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..ee97e7af197 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..f1f6b75723e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..5649c226cb4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..5d5a271ea65 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..6bd0affb488 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..78873928f95 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..2e2002a49a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..306ea7782ef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/usemap-bad-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/usemap-bad-value-novalid.html new file mode 100644 index 00000000000..708878a3075 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/usemap-bad-value-novalid.html @@ -0,0 +1 @@ +usemap="#"There should be an error. diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/usemap-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/usemap-isvalid.html new file mode 100644 index 00000000000..0e165c8c544 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/usemap-isvalid.html @@ -0,0 +1,11 @@ + + + + + <img> with usemap attribute + + + +

                                                          bar

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/width-height-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/width-height-isvalid.html new file mode 100644 index 00000000000..32b46d7cffa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/width-height-isvalid.html @@ -0,0 +1,11 @@ + + + + +valid width and height + + +bar +bar + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/width-height-negative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/width-height-negative-novalid.html new file mode 100644 index 00000000000..d324106f11d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/img/width-height-negative-novalid.html @@ -0,0 +1,10 @@ + + + + +img with negative values for width and height + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/list-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/list-novalid.html new file mode 100644 index 00000000000..63f43af1f5a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/list-novalid.html @@ -0,0 +1,11 @@ + + + +invalid input/@list reference to datalist/@id + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/pattern-asterisk-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/pattern-asterisk-novalid.html new file mode 100644 index 00000000000..397344c0d41 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/pattern-asterisk-novalid.html @@ -0,0 +1,4 @@ + + +invalid pattern +

                                                          \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/pattern-paren-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/pattern-paren-novalid.html new file mode 100644 index 00000000000..892cc02f1f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/pattern-paren-novalid.html @@ -0,0 +1,4 @@ + + +invalid pattern +

                                                          \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction-empty-novalid.html new file mode 100644 index 00000000000..5deda965c57 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty formaction is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction-isvalid.html new file mode 100644 index 00000000000..ea797c3b94d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction-isvalid.html @@ -0,0 +1,91 @@ + + +valid formaction + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction-whitespace-only-novalid.html new file mode 100644 index 00000000000..1c7fae12ba0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty formaction is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-backslash-novalid.html new file mode 100644 index 00000000000..dee7e3b058d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..3bc4e4cddb7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..07a0678eef0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-cr-novalid.html new file mode 100644 index 00000000000..48919b1d8a9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..0919432afad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..007e045f66e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-novalid.html new file mode 100644 index 00000000000..479146ab94d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..62339541a0a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..30c5f8e8681 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..dab28abffd4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..b389ecb58f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..eab0190640a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-newline-novalid.html new file mode 100644 index 00000000000..6af1be04994 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid formaction: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-space-novalid.html new file mode 100644 index 00000000000..6b9e40850a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..fa76475e30c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-tab-novalid.html new file mode 100644 index 00000000000..2a50d5275d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..d6fb9579691 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..a55751d8da9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..1a8e6444c14 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-contains-space-novalid.html new file mode 100644 index 00000000000..a74a6604f81 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..db8534ac305 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..ee2cb3157d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..843915930e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-space-novalid.html new file mode 100644 index 00000000000..dc991b8db54 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..830ecfa13e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..222a0bd940d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-tab-novalid.html new file mode 100644 index 00000000000..b0440aabda1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-trailing-space-novalid.html new file mode 100644 index 00000000000..61a6a1a1b64 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-u0091-novalid.html new file mode 100644 index 00000000000..3edbb7aab5b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-cr-novalid.html new file mode 100644 index 00000000000..ceca5a8355b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..f8144521894 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-novalid.html new file mode 100644 index 00000000000..fd3d244c845 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-dash-novalid.html new file mode 100644 index 00000000000..a4136525675 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..f899b643d51 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-newline-novalid.html new file mode 100644 index 00000000000..efa6fef4309 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid formaction: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-single-letter-novalid.html new file mode 100644 index 00000000000..6b04af7a8f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-space-novalid.html new file mode 100644 index 00000000000..666db3a7f57 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-tab-novalid.html new file mode 100644 index 00000000000..dd671716021 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/query-leading-space-novalid.html new file mode 100644 index 00000000000..01d360dd50f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/query-trailing-space-novalid.html new file mode 100644 index 00000000000..98322081e83 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..aa3ea3aad1f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +formaction warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..48e5ec30bba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..e77493c24d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..3a12a2f2c29 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..da3f423ea70 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..620a37c83dd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..e5f064e2509 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..cad3f1e993c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..fb1ecc696a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..62bdcd8c2c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..90f76c9d1e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..9f1a492113d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..2357c0a1e74 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..4e3075b4948 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..727da488fc7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..45affd7ec44 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..161cffbf6bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid formaction: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..ebd08615a60 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..1429b7a273d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..a0df503e102 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..1673f65ecf4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..aae3d288a58 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..cc0652c8b35 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..abc75f3ed98 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src-empty-novalid.html new file mode 100644 index 00000000000..f773a2aa450 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src-isvalid.html new file mode 100644 index 00000000000..0d744c002ad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src-isvalid.html @@ -0,0 +1,91 @@ + + +valid src + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src-whitespace-only-novalid.html new file mode 100644 index 00000000000..e3d0486e622 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/fragment-backslash-novalid.html new file mode 100644 index 00000000000..eda0b37a8ab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..3b4ada53301 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..4e91c794ab9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-cr-novalid.html new file mode 100644 index 00000000000..c6c7dcd6956 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..3946af19fe7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..0e657ba1a71 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-empty-novalid.html new file mode 100644 index 00000000000..faac339c6bd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..623e61268b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..9cc6d8624d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..c48b95b0087 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..8595d37ecca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..3c7f42df1cd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-newline-novalid.html new file mode 100644 index 00000000000..68fdc0aea44 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-space-novalid.html new file mode 100644 index 00000000000..45c7e8bb15a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..b4b5552a8b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-tab-novalid.html new file mode 100644 index 00000000000..ae443539c94 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..8e554bb9ca2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..ea9f960fee4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..864ea496045 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-contains-space-novalid.html new file mode 100644 index 00000000000..069e2a1c382 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..71b05d901a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..2d4baf9108f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..ef690bbf07c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-leading-space-novalid.html new file mode 100644 index 00000000000..c0204f5c1af --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..c5222fab64c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..8c05cbef6b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-tab-novalid.html new file mode 100644 index 00000000000..a2b683d9dcd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-trailing-space-novalid.html new file mode 100644 index 00000000000..a047676f478 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-u0091-novalid.html new file mode 100644 index 00000000000..0da7c170cc2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-cr-novalid.html new file mode 100644 index 00000000000..b2467d2be6b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..1bb21c61b80 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-novalid.html new file mode 100644 index 00000000000..5b7c1837713 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-leading-dash-novalid.html new file mode 100644 index 00000000000..0f125e1f851 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..ffc0b87472b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-newline-novalid.html new file mode 100644 index 00000000000..51e6c7358fc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-single-letter-novalid.html new file mode 100644 index 00000000000..007ec33d1e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-space-novalid.html new file mode 100644 index 00000000000..4086ace7a92 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-tab-novalid.html new file mode 100644 index 00000000000..90faa300775 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/query-leading-space-novalid.html new file mode 100644 index 00000000000..183e1fad858 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/query-trailing-space-novalid.html new file mode 100644 index 00000000000..a64a7c6b7cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..71b9a8873b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +src warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..a2b5d1f8622 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..0a1b8fb52e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..ee896fe55fc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..8cb7521e8b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..bd109af8072 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..d892ac52d97 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..6fafed4ab53 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..90a1212ac29 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..e2c684aac53 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..7a64662c8e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..cdfd4d74cee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..d6b2bce5648 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..301281c141b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..f22ebf50226 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..2cef8164e56 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..1cac5852c25 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..8b8f11fa217 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..6f5772f6b4b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..85b04e06b1a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..4b3ef342699 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..2b86aa33273 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..bdaf3479f4a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..32627a1f331 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction-empty-novalid.html new file mode 100644 index 00000000000..ae291ca35bd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty formaction is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction-isvalid.html new file mode 100644 index 00000000000..332b92065e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction-isvalid.html @@ -0,0 +1,91 @@ + + +valid formaction + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction-whitespace-only-novalid.html new file mode 100644 index 00000000000..6f2d34e8d13 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty formaction is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-backslash-novalid.html new file mode 100644 index 00000000000..f425c30763f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..074b066b9e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..370bc0d8bf9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-cr-novalid.html new file mode 100644 index 00000000000..30c67fdf9e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..b6bcab6dcac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..b25b389482a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-novalid.html new file mode 100644 index 00000000000..7f0bff475ae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..548576d6f8d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..fc22cd19463 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..6b714a213bf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..f9e490b155f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..8bd4fa53b78 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-newline-novalid.html new file mode 100644 index 00000000000..4bf31608365 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid formaction: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-space-novalid.html new file mode 100644 index 00000000000..40d1b5e1b31 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..b58d8edfb83 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-tab-novalid.html new file mode 100644 index 00000000000..1f0818c8359 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..38d6adf0579 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..d4628743d45 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..507dd282c1b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-contains-space-novalid.html new file mode 100644 index 00000000000..41b10273045 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..5bc0f540f26 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..9f96f075289 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..a6d07f61243 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-space-novalid.html new file mode 100644 index 00000000000..2906aa3acc3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..955bd05ab5f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..3bc8dbf2dc3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-tab-novalid.html new file mode 100644 index 00000000000..e424a2a23f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-trailing-space-novalid.html new file mode 100644 index 00000000000..d61566d2905 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-u0091-novalid.html new file mode 100644 index 00000000000..d9c5c0bddc5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-cr-novalid.html new file mode 100644 index 00000000000..bcacfa8b82b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..02caabe38bf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-novalid.html new file mode 100644 index 00000000000..1222d48fe34 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-dash-novalid.html new file mode 100644 index 00000000000..eea1fb9fe89 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..575f7b15654 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-newline-novalid.html new file mode 100644 index 00000000000..77281c7f26a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid formaction: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-single-letter-novalid.html new file mode 100644 index 00000000000..231f8865996 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-space-novalid.html new file mode 100644 index 00000000000..df250d3cb3b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-tab-novalid.html new file mode 100644 index 00000000000..7e817369db2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/query-leading-space-novalid.html new file mode 100644 index 00000000000..9bdcfa9ce75 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/query-trailing-space-novalid.html new file mode 100644 index 00000000000..094f5008d82 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..4677df8937f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +formaction warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..ae851bea539 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..22600d617d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..05c18e64692 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..f15f3083d51 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..f4d95347da7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..40314614e4f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..a29e4fa9751 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..5350ea0a915 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..c7f227eab7c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..3d66391cd24 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..6c69f278936 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..6c15ad999d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..27e668c97c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..fe2c0ce719c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..3ab19fffd8a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..eba43de91da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid formaction: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..e0d62b36fed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..4b75ff2e740 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..56f8a0b7d99 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..d005f35cbd4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..eba2430b586 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..060f63c16ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..5e528bff8b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid formaction: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value-empty-isvalid.html new file mode 100644 index 00000000000..229b7a2b99d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value-empty-isvalid.html @@ -0,0 +1,4 @@ + + +empty value attribute is valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value-isvalid.html new file mode 100644 index 00000000000..93f5eb5cc70 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value-isvalid.html @@ -0,0 +1,70 @@ + + +valid value attribute + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-backslash-novalid.html new file mode 100644 index 00000000000..0f194d5862e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..aae446c357d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html new file mode 100644 index 00000000000..afb742bdd64 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: fragment-empty-hash-only-no-path-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..58535e9c970 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html new file mode 100644 index 00000000000..ad41f427b31 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: fragment-non-ascii-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html new file mode 100644 index 00000000000..1bfc99cc92f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: fragment-semicolon-question-mark-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-slash-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-slash-relative-novalid.html new file mode 100644 index 00000000000..ccbfa4c2f3c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/fragment-slash-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: fragment-slash-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-cr-novalid.html new file mode 100644 index 00000000000..b47e6fc5fe0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..f8e96bc4493 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..392c783d0bc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-empty-novalid.html new file mode 100644 index 00000000000..d56b619caa2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..2ac3f54f433 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..7976c171717 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..d4e59450b8d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..f18867cc9c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..073e1d9eddd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-newline-novalid.html new file mode 100644 index 00000000000..01a2a771984 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid value attribute: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-space-novalid.html new file mode 100644 index 00000000000..95883e2892b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..eb0b0a23c7d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-tab-novalid.html new file mode 100644 index 00000000000..e6be4953ed1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..c2460b040b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..905b48383d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..f409db5a020 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-contains-space-novalid.html new file mode 100644 index 00000000000..29e3eddf0b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..8ce609a6683 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..10c69106a44 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..b3f22fe4a11 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-leading-space-novalid.html new file mode 100644 index 00000000000..657fd16e307 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..cc232af6813 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html new file mode 100644 index 00000000000..c717ac0ea5f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-percent-encoded-slash-plus-slashes-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html new file mode 100644 index 00000000000..a61bdcb5b48 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-percent-encoded-slash-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..f9265b7bbbf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-simple-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-simple-relative-novalid.html new file mode 100644 index 00000000000..6eb803b7981 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-simple-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-simple-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-slash-only-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-slash-only-relative-novalid.html new file mode 100644 index 00000000000..8fb0efcb466 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-slash-only-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-slash-only-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-tab-novalid.html new file mode 100644 index 00000000000..2d70b76f7cd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-trailing-space-novalid.html new file mode 100644 index 00000000000..8a5b79123a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-u0091-novalid.html new file mode 100644 index 00000000000..ed3ec7f0ab7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-cr-novalid.html new file mode 100644 index 00000000000..650968dfce2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..d64939376aa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-novalid.html new file mode 100644 index 00000000000..030e9d32990 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-leading-dash-novalid.html new file mode 100644 index 00000000000..9ceabb9bd61 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..02df80f07b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-newline-novalid.html new file mode 100644 index 00000000000..09c399998dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid value attribute: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-single-letter-novalid.html new file mode 100644 index 00000000000..7b673eb220f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-space-novalid.html new file mode 100644 index 00000000000..cf8439b4d1c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-tab-novalid.html new file mode 100644 index 00000000000..f05db667692 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html new file mode 100644 index 00000000000..9ade778dba2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: query-empty-no-path-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/query-leading-space-novalid.html new file mode 100644 index 00000000000..49196c94a11 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/query-trailing-space-novalid.html new file mode 100644 index 00000000000..a877bdf1db5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..aa4204c1141 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +value warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..e1926f48817 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..cb2823b84ff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..4d3d662baab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..d0bf5325cb6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..5fab853b6e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..fc6fd7d1343 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..1de549d9392 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..9bf960341ea --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..41b939e0212 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..11004d954ae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..f4fd889239e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..b0b6ae6f45b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..5de56191d77 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..73c7e6adf4d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html new file mode 100644 index 00000000000..f626dfe1054 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-schemeless-relative + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..5731f372f3c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..428471ce6da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid value attribute: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..ea2ffe302cb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..40f77c7e827 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..2c62de24740 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..00cbff7e826 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..2d43c888835 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..4d88541aa73 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..a457fe6b486 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid value attribute: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite-empty-isvalid.html new file mode 100644 index 00000000000..a0b625fb704 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite-empty-isvalid.html @@ -0,0 +1,4 @@ + + +empty cite is valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite-isvalid.html new file mode 100644 index 00000000000..64c2d189e67 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite-isvalid.html @@ -0,0 +1,91 @@ + + +valid cite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/fragment-backslash-novalid.html new file mode 100644 index 00000000000..a2519ec53e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..0f8149f38ce --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..9ff6f2e967c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-cr-novalid.html new file mode 100644 index 00000000000..c436dad3784 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..abf421a13e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..5a39b32a91b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-empty-novalid.html new file mode 100644 index 00000000000..b2d37f30d33 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..b8d2608a713 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..89f04ce7992 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..c56f1960846 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..47ca570a942 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..0f81221428d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-newline-novalid.html new file mode 100644 index 00000000000..67506630824 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid cite: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-space-novalid.html new file mode 100644 index 00000000000..69425323fe4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..44ab3ecb19f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-tab-novalid.html new file mode 100644 index 00000000000..ddbe575b882 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..065ca6062d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..fc999b5fee9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..637bc283e03 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-contains-space-novalid.html new file mode 100644 index 00000000000..c9b63ed9194 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..0773005c3c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..da1af59e415 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..95366e5cc15 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-leading-space-novalid.html new file mode 100644 index 00000000000..44769d75775 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..85177801eb4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..8ccb9cd775f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-tab-novalid.html new file mode 100644 index 00000000000..2cdc5c8f97f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-trailing-space-novalid.html new file mode 100644 index 00000000000..302dac4f61b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-u0091-novalid.html new file mode 100644 index 00000000000..1d954112196 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-cr-novalid.html new file mode 100644 index 00000000000..194ab6c0230 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..137e699dfa3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-novalid.html new file mode 100644 index 00000000000..3ef71420fdc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-leading-dash-novalid.html new file mode 100644 index 00000000000..b759b88c8e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..d5cc8a21f0d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-newline-novalid.html new file mode 100644 index 00000000000..d2b7614f415 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid cite: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-single-letter-novalid.html new file mode 100644 index 00000000000..9ddd1c56e4a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-space-novalid.html new file mode 100644 index 00000000000..f6ac1c3553d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-tab-novalid.html new file mode 100644 index 00000000000..59524a40c9a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/query-leading-space-novalid.html new file mode 100644 index 00000000000..5cc177a4fd1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/query-trailing-space-novalid.html new file mode 100644 index 00000000000..e05a4ce0302 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..433c5ee63ed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..95a8f8c49e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..ff869b614ee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..83e02034377 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..a003799e4e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..5d9a2919828 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..56ca71cc392 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..f40b32fae4e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..ece7ecb2a05 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..a604c209e22 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..bf9d732f426 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..efd92124918 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..36331cf9798 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..75d3fb24463 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..267f1131ace --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..c603ca23e31 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..8762f24b316 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid cite: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..8b4b310a1dd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..9cc2491ae30 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..48e87bdebd3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..0cc97767684 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..c225c2c7c70 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..6c7c667b0c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..de82cee96f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/cite/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-0004-02-29-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-0004-02-29-haswarn.html new file mode 100644 index 00000000000..5fad16aa3c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-0004-02-29-haswarn.html @@ -0,0 +1,4 @@ + + +date-0004-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-0005-02-29-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-0005-02-29-novalid.html new file mode 100644 index 00000000000..1d8de9bd88f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-0005-02-29-novalid.html @@ -0,0 +1,4 @@ + + +date-0005-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-0214-09-29-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-0214-09-29-haswarn.html new file mode 100644 index 00000000000..8938898505c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-0214-09-29-haswarn.html @@ -0,0 +1,4 @@ + + +date-0214-09-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-1900-02-29-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-1900-02-29-novalid.html new file mode 100644 index 00000000000..04a87af388e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-1900-02-29-novalid.html @@ -0,0 +1,4 @@ + + +date-1900-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-1969-02-29-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-1969-02-29-novalid.html new file mode 100644 index 00000000000..2ef44002046 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-1969-02-29-novalid.html @@ -0,0 +1,4 @@ + + +date-1969-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-20014-09-29-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-20014-09-29-haswarn.html new file mode 100644 index 00000000000..006804686b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-20014-09-29-haswarn.html @@ -0,0 +1,4 @@ + + +date-20014-09-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-2014-02-29-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-2014-02-29-novalid.html new file mode 100644 index 00000000000..244edadd6ee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-2014-02-29-novalid.html @@ -0,0 +1,4 @@ + + +date-2014-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-2100-02-29-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-2100-02-29-novalid.html new file mode 100644 index 00000000000..405a710cc19 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-2100-02-29-novalid.html @@ -0,0 +1,4 @@ + + +date-2100-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-2200-02-29-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-2200-02-29-novalid.html new file mode 100644 index 00000000000..6144a86b17f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-2200-02-29-novalid.html @@ -0,0 +1,4 @@ + + +date-2200-02-29 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-01-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-01-32-novalid.html new file mode 100644 index 00000000000..84a368ae1f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-01-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-01-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-03-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-03-32-novalid.html new file mode 100644 index 00000000000..4bfa96f2f50 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-03-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-03-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-04-31-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-04-31-novalid.html new file mode 100644 index 00000000000..3e720617ab1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-04-31-novalid.html @@ -0,0 +1,4 @@ + + +date-day-04-31 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-05-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-05-32-novalid.html new file mode 100644 index 00000000000..8e3129a1c0f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-05-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-05-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-06-31-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-06-31-novalid.html new file mode 100644 index 00000000000..4ab9d3ab9ac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-06-31-novalid.html @@ -0,0 +1,4 @@ + + +date-day-06-31 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-07-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-07-32-novalid.html new file mode 100644 index 00000000000..e719a2d3cdb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-07-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-07-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-08-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-08-32-novalid.html new file mode 100644 index 00000000000..b64612d67db --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-08-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-08-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-09-31-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-09-31-novalid.html new file mode 100644 index 00000000000..1274aabe80a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-09-31-novalid.html @@ -0,0 +1,4 @@ + + +date-day-09-31 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-10-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-10-32-novalid.html new file mode 100644 index 00000000000..2b064605b4b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-10-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-10-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-11-31-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-11-31-novalid.html new file mode 100644 index 00000000000..ed8dad3e0b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-11-31-novalid.html @@ -0,0 +1,4 @@ + + +date-day-11-31 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-12-32-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-12-32-novalid.html new file mode 100644 index 00000000000..c31e099f783 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-12-32-novalid.html @@ -0,0 +1,4 @@ + + +date-day-12-32 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-missing-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-missing-separator-novalid.html new file mode 100644 index 00000000000..11e95e25a06 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-missing-separator-novalid.html @@ -0,0 +1,4 @@ + + +date-day-missing-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-one-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-one-digit-novalid.html new file mode 100644 index 00000000000..8d51c0df6f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-one-digit-novalid.html @@ -0,0 +1,4 @@ + + +date-day-one-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-three-digits-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-three-digits-novalid.html new file mode 100644 index 00000000000..7f97a5b5f75 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-day-three-digits-novalid.html @@ -0,0 +1,4 @@ + + +date-day-three-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-iso8601-YYYYMMDD-no-hyphen-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-iso8601-YYYYMMDD-no-hyphen-novalid.html new file mode 100644 index 00000000000..a412c46351b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-iso8601-YYYYMMDD-no-hyphen-novalid.html @@ -0,0 +1,4 @@ + + +date-iso8601-YYYYMMDD-no-hyphen + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-leading-bom-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-leading-bom-novalid.html new file mode 100644 index 00000000000..1b541fbb2f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-leading-bom-novalid.html @@ -0,0 +1,4 @@ + + +date-leading-bom + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-leading-whitespace-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-leading-whitespace-novalid.html new file mode 100644 index 00000000000..faa7e7f52ed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-leading-whitespace-novalid.html @@ -0,0 +1,4 @@ + + +date-leading-whitespace + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-00-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-00-novalid.html new file mode 100644 index 00000000000..3aa1dcebf40 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-00-novalid.html @@ -0,0 +1,4 @@ + + +date-month-00 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-13-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-13-novalid.html new file mode 100644 index 00000000000..501528d85db --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-13-novalid.html @@ -0,0 +1,4 @@ + + +date-month-13 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-missing-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-missing-separator-novalid.html new file mode 100644 index 00000000000..a0f7473b690 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-missing-separator-novalid.html @@ -0,0 +1,4 @@ + + +date-month-missing-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-one-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-one-digit-novalid.html new file mode 100644 index 00000000000..b26933c02dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-one-digit-novalid.html @@ -0,0 +1,4 @@ + + +date-month-one-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-three-digits-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-three-digits-novalid.html new file mode 100644 index 00000000000..b61171df92c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-month-three-digits-novalid.html @@ -0,0 +1,4 @@ + + +date-month-three-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-non-ascii-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-non-ascii-digit-novalid.html new file mode 100644 index 00000000000..14c37880ed9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-non-ascii-digit-novalid.html @@ -0,0 +1,4 @@ + + +date-non-ascii-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-trailing-U+0000-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-trailing-U+0000-novalid.html new file mode 100644 index 00000000000..fb849779e27 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-trailing-U+0000-novalid.html @@ -0,0 +1,4 @@ + + +date-trailing-U+0000 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-trailing-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-trailing-pile-of-poo-novalid.html new file mode 100644 index 00000000000..3349cc80a7b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-trailing-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +date-trailing-pile-of-poo + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-trailing-whitespace-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-trailing-whitespace-novalid.html new file mode 100644 index 00000000000..39bbeef70c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-trailing-whitespace-novalid.html @@ -0,0 +1,4 @@ + + +date-trailing-whitespace + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-wrong-day-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-wrong-day-separator-novalid.html new file mode 100644 index 00000000000..530a05e41f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-wrong-day-separator-novalid.html @@ -0,0 +1,4 @@ + + +date-wrong-day-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-wrong-month-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-wrong-month-separator-novalid.html new file mode 100644 index 00000000000..9ed0be6f8e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-wrong-month-separator-novalid.html @@ -0,0 +1,4 @@ + + +date-wrong-month-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-year-0000-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-year-0000-novalid.html new file mode 100644 index 00000000000..4f5e524a9cd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-year-0000-novalid.html @@ -0,0 +1,4 @@ + + +date-year-0000 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-year-five-digits-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-year-five-digits-haswarn.html new file mode 100644 index 00000000000..6de3a432613 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-year-five-digits-haswarn.html @@ -0,0 +1,4 @@ + + +date-year-five-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-year-negative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-year-negative-novalid.html new file mode 100644 index 00000000000..767b9f47610 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-year-negative-novalid.html @@ -0,0 +1,4 @@ + + +date-year-negative + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-year-three-digits-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-year-three-digits-novalid.html new file mode 100644 index 00000000000..805b6a214be --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/date-year-three-digits-novalid.html @@ -0,0 +1,4 @@ + + +date-year-three-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/datetime-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/datetime-isvalid.html new file mode 100644 index 00000000000..e9f6daf621f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/datetime-isvalid.html @@ -0,0 +1,33 @@ + + +valid datetime + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/duration-P-form-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/duration-P-form-novalid.html new file mode 100644 index 00000000000..addb39e6c60 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/duration-P-form-novalid.html @@ -0,0 +1,4 @@ + + +duration-P-form + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/duration-time-component-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/duration-time-component-novalid.html new file mode 100644 index 00000000000..6151e9ee740 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/duration-time-component-novalid.html @@ -0,0 +1,4 @@ + + +duration-time-component + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-2400-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-2400-novalid.html new file mode 100644 index 00000000000..2d77c4c5d6e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-2400-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-2400 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-60-minutes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-60-minutes-novalid.html new file mode 100644 index 00000000000..59895e85fb6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-60-minutes-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-60-minutes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-60-seconds-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-60-seconds-novalid.html new file mode 100644 index 00000000000..f20905342f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-60-seconds-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-60-seconds + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-bad-fraction-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-bad-fraction-separator-novalid.html new file mode 100644 index 00000000000..68d44b2ded8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-bad-fraction-separator-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-bad-fraction-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-four-digit-fraction-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-four-digit-fraction-novalid.html new file mode 100644 index 00000000000..7d130bffb13 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-four-digit-fraction-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-four-digit-fraction + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-one-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-one-digit-novalid.html new file mode 100644 index 00000000000..10f4c7d40af --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-one-digit-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-hour-one-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-three-digits-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-three-digits-novalid.html new file mode 100644 index 00000000000..edea421e5da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-three-digits-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-hour-three-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hh-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hh-novalid.html new file mode 100644 index 00000000000..9f9b0536b8a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hh-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-iso8601-hh + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmm-no-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmm-no-colon-novalid.html new file mode 100644 index 00000000000..67a041220e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmm-no-colon-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-iso8601-hhmm-no-colon + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html new file mode 100644 index 00000000000..5b868661bb4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-iso8601-hhmmss-no-colon + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-lowercase-z-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-lowercase-z-novalid.html new file mode 100644 index 00000000000..b4fd1d917d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-lowercase-z-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-lowercase-z + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-one-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-one-digit-novalid.html new file mode 100644 index 00000000000..7d878234511 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-one-digit-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-minutes-one-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-three-digits-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-three-digits-novalid.html new file mode 100644 index 00000000000..bdeeba4971c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-three-digits-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-minutes-three-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-minutes-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-minutes-separator-novalid.html new file mode 100644 index 00000000000..174db0e6f10 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-minutes-separator-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-missing-minutes-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-seconds-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-seconds-separator-novalid.html new file mode 100644 index 00000000000..745f243dba9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-seconds-separator-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-missing-seconds-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-nbsp-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-nbsp-novalid.html new file mode 100644 index 00000000000..292dc36e231 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-nbsp-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-nbsp + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-one-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-one-digit-novalid.html new file mode 100644 index 00000000000..bd9bddd02ce --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-one-digit-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-seconds-one-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-three-digits-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-three-digits-novalid.html new file mode 100644 index 00000000000..12968b15dd3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-three-digits-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-seconds-three-digits + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-space-before-timezone-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-space-before-timezone-novalid.html new file mode 100644 index 00000000000..d97bfc4e325 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-space-before-timezone-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-space-before-timezone + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-60-minutes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-60-minutes-novalid.html new file mode 100644 index 00000000000..4dbd785bf82 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-60-minutes-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-60-minutes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-iso8601-two-digit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-iso8601-two-digit-novalid.html new file mode 100644 index 00000000000..c60facf9d7f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-iso8601-two-digit-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-iso8601-two-digit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-lowercase-t-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-lowercase-t-novalid.html new file mode 100644 index 00000000000..056c876ae86 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-lowercase-t-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-lowercase-t + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-1300-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-1300-haswarn.html new file mode 100644 index 00000000000..314e0ce2cbd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-1300-haswarn.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-minus-1300 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-2400-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-2400-novalid.html new file mode 100644 index 00000000000..63b239712a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-2400-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-minus-2400 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minutes-15-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minutes-15-haswarn.html new file mode 100644 index 00000000000..c65cc9038cd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minutes-15-haswarn.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-minutes-15 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-multiple-spaces-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-multiple-spaces-novalid.html new file mode 100644 index 00000000000..20659abc922 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-multiple-spaces-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-multiple-spaces + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-non-T-character-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-non-T-character-novalid.html new file mode 100644 index 00000000000..17b7024764c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-non-T-character-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-non-T-character + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-colon-start-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-colon-start-novalid.html new file mode 100644 index 00000000000..6b81d78831f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-colon-start-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-offset-colon-start + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-space-start-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-space-start-novalid.html new file mode 100644 index 00000000000..6d5ae820195 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-space-start-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-offset-space-start + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-hour-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-hour-novalid.html new file mode 100644 index 00000000000..292fd1340fd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-hour-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-one-digit-hour + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-minute-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-minute-novalid.html new file mode 100644 index 00000000000..a1afb91704f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-minute-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-one-digit-minute + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-1500-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-1500-haswarn.html new file mode 100644 index 00000000000..91b6e23b8ac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-1500-haswarn.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-plus-1500 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-2400-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-2400-novalid.html new file mode 100644 index 00000000000..6044623bc22 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-2400-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-plus-2400 + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-hour-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-hour-novalid.html new file mode 100644 index 00000000000..ba7b84b32eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-hour-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-three-digit-hour + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-minute-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-minute-novalid.html new file mode 100644 index 00000000000..8b1fb6d368a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-minute-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-three-digit-minute + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-with-seconds-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-with-seconds-novalid.html new file mode 100644 index 00000000000..6d51004edce --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-with-seconds-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-timezone-with-seconds + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-with-both-T-and-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-with-both-T-and-space-novalid.html new file mode 100644 index 00000000000..6c67d7cf2dd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-with-both-T-and-space-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-with-both-T-and-space + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-minutes-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-minutes-separator-novalid.html new file mode 100644 index 00000000000..a19752c6f5d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-minutes-separator-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-wrong-minutes-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-seconds-separator-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-seconds-separator-novalid.html new file mode 100644 index 00000000000..03f7b3579a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-seconds-separator-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-wrong-seconds-separator + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-zero-digit-fraction-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-zero-digit-fraction-novalid.html new file mode 100644 index 00000000000..1e388dd994e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/global-date-and-time-zero-digit-fraction-novalid.html @@ -0,0 +1,4 @@ + + +global-date-and-time-zero-digit-fraction + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/local-date-and-time-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/local-date-and-time-novalid.html new file mode 100644 index 00000000000..32136f3e541 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/local-date-and-time-novalid.html @@ -0,0 +1,4 @@ + + +local-date-and-time + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/model-isvalid.html new file mode 100644 index 00000000000..cd10ac511e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/model-isvalid.html @@ -0,0 +1,32 @@ + + + + + <ins> + + + + +

                                                          strictly inline + + text + +

                                                          + + +

                                                          paragraph + + link + +

                                                          +

                                                          strictly inline + + link + +

                                                          + + +

                                                          foo

                                                          + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/model-novalid.html new file mode 100644 index 00000000000..65ee321f2fc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/model-novalid.html @@ -0,0 +1,46 @@ + + + + + <ins> + + + +

                                                          paragraph + + some

                                                          • inline
                                                          content + +

                                                          + + +

                                                          strictly inline + + text + +

                                                          + + + +

                                                          text

                                                          +
                                                          + + +

                                                          paragraph + + link + +

                                                          +

                                                          strictly inline + + link + +

                                                          + +

                                                          link

                                                          +
                                                          + + +

                                                          foo

                                                          + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/month-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/month-novalid.html new file mode 100644 index 00000000000..57f8bf0da25 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/month-novalid.html @@ -0,0 +1,4 @@ + + +month + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/time-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/time-novalid.html new file mode 100644 index 00000000000..aaf798ff779 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/time-novalid.html @@ -0,0 +1,4 @@ + + +time + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/week-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/week-novalid.html new file mode 100644 index 00000000000..77c2dcfc96b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/week-novalid.html @@ -0,0 +1,4 @@ + + +week + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/year-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/year-novalid.html new file mode 100644 index 00000000000..b971e7fbf48 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/year-novalid.html @@ -0,0 +1,4 @@ + + +year + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/yearless-date-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/yearless-date-novalid.html new file mode 100644 index 00000000000..e477cb45213 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ins/yearless-date-novalid.html @@ -0,0 +1,4 @@ + + +yearless-date + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/kbd/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/kbd/model-isvalid.html new file mode 100644 index 00000000000..45646d0eb54 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/kbd/model-isvalid.html @@ -0,0 +1,23 @@ + + + + + <kbd> + + + +

                                                          text

                                                          + + +

                                                          text

                                                          + + +

                                                          text

                                                          +

                                                          text

                                                          + + +

                                                          text

                                                          +

                                                          text

                                                          + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/kbd/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/kbd/model-novalid.html new file mode 100644 index 00000000000..8bfbb883956 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/kbd/model-novalid.html @@ -0,0 +1,18 @@ + + + + + <kbd> + + + + text + + +

                                                          • text

                                                          + + +

                                                          text

                                                          +

                                                          text

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/challenge-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/challenge-isvalid.html new file mode 100644 index 00000000000..09bb2a096c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/challenge-isvalid.html @@ -0,0 +1,11 @@ + + + + +keygen with "challenge" attribute + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/id-bad-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/id-bad-novalid.html new file mode 100644 index 00000000000..1c8d72c781a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/id-bad-novalid.html @@ -0,0 +1,12 @@ + + + + +keygen as <label> descendant, with wrong ID + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/id-missing-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/id-missing-novalid.html new file mode 100644 index 00000000000..1793192c850 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/id-missing-novalid.html @@ -0,0 +1,12 @@ + + + + +keygen as <label> descendant, with no ID + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/id-redundant-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/id-redundant-novalid.html new file mode 100644 index 00000000000..9bc49b5ed13 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/id-redundant-novalid.html @@ -0,0 +1,13 @@ + + + + +keygen as redundant <label> descendant + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/keytype-bad-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/keytype-bad-value-novalid.html new file mode 100644 index 00000000000..791f7c20630 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/keytype-bad-value-novalid.html @@ -0,0 +1,10 @@ + + + + +keygen with invalid value for "keytype" attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/keytype-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/keytype-empty-novalid.html new file mode 100644 index 00000000000..88c32a96900 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/keytype-empty-novalid.html @@ -0,0 +1,10 @@ + + + + +keygen with invalid empty "keytype" attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/keytype-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/keytype-isvalid.html new file mode 100644 index 00000000000..a92a32a8644 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/keytype-isvalid.html @@ -0,0 +1,10 @@ + + + + +keygen with "keytype" attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/model-isvalid.html new file mode 100644 index 00000000000..953ec6ad09c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/model-isvalid.html @@ -0,0 +1,12 @@ + + + + +keygen as <label> descendant + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/model-novalid.html new file mode 100644 index 00000000000..8d267093ab3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/model-novalid.html @@ -0,0 +1,12 @@ + + + + +keygen as an invalid <a> descendant + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/no-attributes-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/no-attributes-isvalid.html new file mode 100644 index 00000000000..ca17832aa67 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/no-attributes-isvalid.html @@ -0,0 +1,10 @@ + + + + +keygen with no attributes + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/non-void-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/non-void-novalid.html new file mode 100644 index 00000000000..fb5fcef0cba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/keygen/non-void-novalid.html @@ -0,0 +1,10 @@ + + + + +no-void keygen + + +foo + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/label/for-descendant-no-id-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/label/for-descendant-no-id-novalid.html new file mode 100644 index 00000000000..2f1ed73f2b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/label/for-descendant-no-id-novalid.html @@ -0,0 +1 @@ +<input id=a><label for=a><input>

                                                          There should be an error. diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/label/for-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/label/for-isvalid.html new file mode 100644 index 00000000000..c4a4e60da4a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/label/for-isvalid.html @@ -0,0 +1 @@ +<label for=a><input id=a>

                                                          There should be no error. diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/label/multiple-descendants-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/label/multiple-descendants-novalid.html new file mode 100644 index 00000000000..014085bb6b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/label/multiple-descendants-novalid.html @@ -0,0 +1 @@ +<label><input><input>

                                                          There should be an error. diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href-empty-novalid.html new file mode 100644 index 00000000000..fb1f349f75b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty href is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href-isvalid.html new file mode 100644 index 00000000000..fd4bd484a8a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href-isvalid.html @@ -0,0 +1,91 @@ + + +valid href + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href-missing-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href-missing-novalid.html new file mode 100644 index 00000000000..eded973f6b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href-missing-novalid.html @@ -0,0 +1,10 @@ + + + + +link element missing href attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href-whitespace-only-novalid.html new file mode 100644 index 00000000000..6874b119736 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty href is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/fragment-backslash-novalid.html new file mode 100644 index 00000000000..8f59c37ca87 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..77997986afd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..3cd63e09c7f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-cr-novalid.html new file mode 100644 index 00000000000..f66c1640acc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..591dca85232 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..484097db862 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-empty-novalid.html new file mode 100644 index 00000000000..30bfc0f084f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..027efe0d44a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..b07878ee919 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..03b35eb582b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..22b5e8d3cd8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..fcba2a20bdf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-newline-novalid.html new file mode 100644 index 00000000000..446a0d4803c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid href: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-space-novalid.html new file mode 100644 index 00000000000..7cf4ab8d3b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..34500ab8c06 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-tab-novalid.html new file mode 100644 index 00000000000..4f4a97bd3c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..905c8661ff1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..084773e6f49 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..1e02cf8e813 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-contains-space-novalid.html new file mode 100644 index 00000000000..8386f5d8014 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..5c333681ba0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..19d37d8f100 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..5580214cb0b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-leading-space-novalid.html new file mode 100644 index 00000000000..28890058547 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..599fecbbc25 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..630062db8e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-tab-novalid.html new file mode 100644 index 00000000000..4c5e234c4f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-trailing-space-novalid.html new file mode 100644 index 00000000000..f8bcef833bf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-u0091-novalid.html new file mode 100644 index 00000000000..5bed826c04f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-cr-novalid.html new file mode 100644 index 00000000000..030307b479a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..0bf977156bc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-leading-colon-novalid.html new file mode 100644 index 00000000000..04eb695a046 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-leading-dash-novalid.html new file mode 100644 index 00000000000..f77f17e1380 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..2a8ab2aac0a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-newline-novalid.html new file mode 100644 index 00000000000..5346b4fa2ee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid href: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-single-letter-novalid.html new file mode 100644 index 00000000000..f0b2d511799 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-space-novalid.html new file mode 100644 index 00000000000..1acf0b3d381 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-tab-novalid.html new file mode 100644 index 00000000000..4371db32de1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/query-leading-space-novalid.html new file mode 100644 index 00000000000..1a45d5a8077 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/query-trailing-space-novalid.html new file mode 100644 index 00000000000..ccd4596d3d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..70fd6492c5f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +href warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..95f89580699 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..8b37e6b76f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..cb02748125c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..0364ce64970 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..17a72ac5425 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..c930a16b47b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..af1814b44bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..816bd3b2548 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..1678caac762 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..f768ffa9dc9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..b2210d4900c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..13c5e34620d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..b9192eb216c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..6cf49ca2367 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..3877fab7cb4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..5b747be012c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid href: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..65dd25d8431 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..934a8c4d371 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..78e636f58cb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..259f84eb613 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..5acd244ccf0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..1cff4f27532 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..0db2f57b988 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid href: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/map/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/map/model-isvalid.html new file mode 100644 index 00000000000..ae6dbac6f75 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/map/model-isvalid.html @@ -0,0 +1,27 @@ + + + + + <map> + + + + +

                                                          header

                                                          +

                                                          textp

                                                          +

                                                          text

                                                          +

                                                          textp

                                                          +

                                                          text2

                                                          + + + + +

                                                          text

                                                          +

                                                          textp

                                                          +
                                                          + + +

                                                          foo

                                                          + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/map/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/map/model-novalid.html new file mode 100644 index 00000000000..3ee9b822eb2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/map/model-novalid.html @@ -0,0 +1,27 @@ + + + + + <map> + + + + +

                                                          header

                                                          + text +

                                                          text

                                                          + text +

                                                          text2

                                                          +
                                                          + + + +

                                                          text

                                                          + text +
                                                          + + +

                                                          foo

                                                          + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/mark/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/mark/model-isvalid.html new file mode 100644 index 00000000000..20ba6d25d02 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/mark/model-isvalid.html @@ -0,0 +1,23 @@ + + + + + <m> + + + +

                                                          text

                                                          + + +

                                                          text

                                                          + + +

                                                          text

                                                          +

                                                          text

                                                          + + +

                                                          text

                                                          +

                                                          text

                                                          + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/meta/names-registered-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/meta/names-registered-isvalid.html new file mode 100644 index 00000000000..f2cb75bb135 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/meta/names-registered-isvalid.html @@ -0,0 +1,768 @@ + + +Registered extensions to the predefined set of metadata names + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/meta/names-standard-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/meta/names-standard-isvalid.html new file mode 100644 index 00000000000..738af2a9dd8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/meta/names-standard-isvalid.html @@ -0,0 +1,21 @@ + + +Standard metadata names + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/meta/refresh-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/meta/refresh-isvalid.html new file mode 100644 index 00000000000..8b3f499690f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/meta/refresh-isvalid.html @@ -0,0 +1,91 @@ + + +valid meta refresh + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/noscript/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/noscript/model-isvalid.html new file mode 100644 index 00000000000..6d74e762b44 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/noscript/model-isvalid.html @@ -0,0 +1,11 @@ + + + + + + <noscript> in <head> + + +

                                                          foo

                                                          + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data-empty-novalid.html new file mode 100644 index 00000000000..ffa455f9fe7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty data is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data-isvalid.html new file mode 100644 index 00000000000..a4b3d4fbacd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data-isvalid.html @@ -0,0 +1,91 @@ + + +valid data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data-type-missing-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data-type-missing-novalid.html new file mode 100644 index 00000000000..03f84f90448 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data-type-missing-novalid.html @@ -0,0 +1,10 @@ + + + + +object element missing data and type attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data-whitespace-only-novalid.html new file mode 100644 index 00000000000..26b77fd4679 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty data is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/fragment-backslash-novalid.html new file mode 100644 index 00000000000..db712e2482c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..91c15319776 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..bf09cca1ae5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-cr-novalid.html new file mode 100644 index 00000000000..0d834e8da02 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..d9f6ead7a0a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..7bcff83e1e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-empty-novalid.html new file mode 100644 index 00000000000..2e2d6d84a79 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..db6dc05564b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..a468c3743c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..64388a6a5cb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..ee26451bfbb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..600c40146c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-newline-novalid.html new file mode 100644 index 00000000000..9cda7a1ccab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid data: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-space-novalid.html new file mode 100644 index 00000000000..24ee0daf46f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..e65b6a35dad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-tab-novalid.html new file mode 100644 index 00000000000..06424d027a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..0782bd2baf3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..72bee10c220 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..7672e0075c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-contains-space-novalid.html new file mode 100644 index 00000000000..306bd90cbd3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..4d421d7e779 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..bab2c3661ac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..d24fc52e6f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-leading-space-novalid.html new file mode 100644 index 00000000000..9093f5e26e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..d0a32ca506d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..d3c020df8a9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-tab-novalid.html new file mode 100644 index 00000000000..393ad621bab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-trailing-space-novalid.html new file mode 100644 index 00000000000..7637e81e430 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-u0091-novalid.html new file mode 100644 index 00000000000..16b7b75044c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-cr-novalid.html new file mode 100644 index 00000000000..c66522f3da8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..23a94ce3675 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-leading-colon-novalid.html new file mode 100644 index 00000000000..67d1d40f1b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-leading-dash-novalid.html new file mode 100644 index 00000000000..ace5c2109e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..72aabe72dc7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-newline-novalid.html new file mode 100644 index 00000000000..f9cec6d9b36 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid data: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-single-letter-novalid.html new file mode 100644 index 00000000000..1c349f119b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-space-novalid.html new file mode 100644 index 00000000000..0efa3a64664 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-tab-novalid.html new file mode 100644 index 00000000000..d472787a90d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/query-leading-space-novalid.html new file mode 100644 index 00000000000..a0791358911 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/query-trailing-space-novalid.html new file mode 100644 index 00000000000..6a8cc4bc63c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..7075d88a076 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..97d1d041839 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..829632449fb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..a5d0c782b29 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..4109b8c848f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..a828a9fb665 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..0f4a5d31157 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..4286ae797f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..522f34cb9d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..8ae3cc5e456 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..af87406c3c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..3923512854c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..79ca00c60b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..17f03174208 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..aa277965975 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..4c9c1226c8a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..7a46f0ccc96 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid data: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..756cbb9c76a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..f85ac5dcdad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..c196363507b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..c1b3669e38f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..b6f542d72da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..15763d0e07c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..9cb6d9cc28c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid data: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/model-isvalid.html new file mode 100644 index 00000000000..820915ed3a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/model-isvalid.html @@ -0,0 +1,79 @@ + + + + + <object> + + + + +

                                                          + + +

                                                          + + + +

                                                          strictly inline + + text + +

                                                          +

                                                          strictly inline + + + text + +

                                                          + + + + +

                                                          paragraph + + link + +

                                                          +

                                                          paragraph + + + link + +

                                                          +

                                                          strictly inline + + link + +

                                                          +

                                                          strictly inline + + + link + +

                                                          + + +

                                                          foo

                                                          + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/model-novalid.html new file mode 100644 index 00000000000..f5037efa817 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/object/model-novalid.html @@ -0,0 +1,81 @@ + + + + + <obj> + + + +

                                                          +

                                                          +

                                                          +

                                                          +

                                                          +

                                                          +

                                                          +

                                                          +

                                                          + + +

                                                          paragraph + +

                                                          para

                                                          +
                                                          +

                                                          + + +

                                                          strictly inline + +

                                                          para

                                                          +
                                                          +

                                                          + + +

                                                          strictly inline + +
                                                          • para
                                                          +
                                                          +

                                                          + + + + inline text + + + +

                                                          paragraph + + text + + +

                                                          +

                                                          strictly inline + + text + + +

                                                          + +

                                                          para

                                                          + +
                                                          + + +

                                                          paragraph + + para + +

                                                          +

                                                          strictly inline + + para + +

                                                          + + +

                                                          foo

                                                          + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ol/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ol/model-isvalid.html new file mode 100644 index 00000000000..28e545a1291 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ol/model-isvalid.html @@ -0,0 +1,38 @@ + + + + + Ordered List: <ol> <li> + + + +
                                                            +
                                                          1. text
                                                          2. +
                                                          + + +
                                                            +
                                                              +
                                                            1. +
                                                            2. +
                                                            + + +
                                                              +
                                                            1. some text +
                                                              more text
                                                              +
                                                            2. +
                                                            + + +
                                                              +
                                                            1. +

                                                              some

                                                              +

                                                              text

                                                              +
                                                            2. +
                                                            + + +
                                                            1. text
                                                            + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ol/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ol/model-novalid.html new file mode 100644 index 00000000000..2b00a34e6c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ol/model-novalid.html @@ -0,0 +1,55 @@ + + + + + Ordered List: <ol> <li> + + + +
                                                              +
                                                            1. text
                                                            2. +
                                                            + + +

                                                            paragraph +

                                                              +
                                                            1. text
                                                            2. +
                                                            +

                                                            + + +
                                                              +
                                                                +
                                                              1. +
                                                              2. +
                                                              + + +
                                                                +
                                                              1. some text +
                                                                more text
                                                                +
                                                              2. +
                                                              +

                                                              paragraph +

                                                                +
                                                              1. some text +
                                                                more text
                                                                +
                                                              2. +
                                                              +

                                                              + + +
                                                                +
                                                              1. +

                                                                some

                                                                +

                                                                text

                                                                +
                                                              2. +
                                                              + + +
                                                              1. text
                                                              +

                                                              paragraph +

                                                              1. text
                                                              +

                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/option/label-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/option/label-isvalid.html new file mode 100644 index 00000000000..66c3a4f080d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/option/label-isvalid.html @@ -0,0 +1,6 @@ + + +option element with label attribute + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/option/label-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/option/label-novalid.html new file mode 100644 index 00000000000..c68367a4fca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/option/label-novalid.html @@ -0,0 +1,6 @@ + + +option element with empty label attribute + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/option/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/option/model-isvalid.html new file mode 100644 index 00000000000..7cc75ab8069 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/option/model-isvalid.html @@ -0,0 +1,6 @@ + + +non-empty option element + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/option/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/option/model-novalid.html new file mode 100644 index 00000000000..dbe431d5f59 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/option/model-novalid.html @@ -0,0 +1,6 @@ + + +empty option element + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/p/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/p/model-isvalid.html new file mode 100644 index 00000000000..9d9e2a11d8f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/p/model-isvalid.html @@ -0,0 +1,15 @@ + + + + + <p> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/p/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/p/model-novalid.html new file mode 100644 index 00000000000..18cdd54996d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/p/model-novalid.html @@ -0,0 +1,17 @@ + + + + + <p> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              • list
                                                              elem

                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/param/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/param/model-isvalid.html new file mode 100644 index 00000000000..eedf9d0066c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/param/model-isvalid.html @@ -0,0 +1,18 @@ + + + + + <param> + + +

                                                              + + + + + + + +

                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/param/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/param/model-novalid.html new file mode 100644 index 00000000000..ad780fc833f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/param/model-novalid.html @@ -0,0 +1,40 @@ + + + + + <param> + + + + +

                                                              para

                                                              +

                                                              strictly

                                                              + + +

                                                              yo

                                                              +

                                                              some text

                                                              + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-spaces-with-following-source-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-spaces-with-following-source-srcset-novalid.html new file mode 100644 index 00000000000..7bcac2b42f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-spaces-with-following-source-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid always-matching-source-media-all-spaces-with-following-source-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-with-following-source-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-with-following-source-srcset-novalid.html new file mode 100644 index 00000000000..320ca691248 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-with-following-source-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid always-matching-source-media-all-with-following-source-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-empty-with-following-source-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-empty-with-following-source-srcset-novalid.html new file mode 100644 index 00000000000..a9dd0ab87ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-empty-with-following-source-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid always-matching-source-media-empty-with-following-source-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-spaces-with-following-source-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-spaces-with-following-source-srcset-novalid.html new file mode 100644 index 00000000000..95c36b0cd21 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-spaces-with-following-source-srcset-novalid.html @@ -0,0 +1,5 @@ + + +invalid always-matching-source-media-spaces-with-following-source-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-uppercase-with-following-source-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-uppercase-with-following-source-srcset-novalid.html new file mode 100644 index 00000000000..d495d18b46b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-media-uppercase-with-following-source-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid always-matching-source-media-uppercase-with-following-source-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-sizes-with-following-source-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-sizes-with-following-source-srcset-novalid.html new file mode 100644 index 00000000000..2cb7ea80297 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-sizes-with-following-source-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid always-matching-source-sizes-with-following-source-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-img-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-img-srcset-novalid.html new file mode 100644 index 00000000000..c2962a9a7f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-img-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid always-matching-source-with-following-img-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-media-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-media-novalid.html new file mode 100644 index 00000000000..a097307cd1e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-media-novalid.html @@ -0,0 +1,4 @@ + + +invalid always-matching-source-with-following-source-media + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-srcset-novalid.html new file mode 100644 index 00000000000..d0f3ea9379e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid always-matching-source-with-following-source-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-type-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-type-novalid.html new file mode 100644 index 00000000000..99eadd808d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-type-novalid.html @@ -0,0 +1,4 @@ + + +invalid always-matching-source-with-following-source-type + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/audio-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/audio-srcset-novalid.html new file mode 100644 index 00000000000..883f05be432 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/audio-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid audio-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-img-end-tag-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-img-end-tag-novalid.html new file mode 100644 index 00000000000..0c56b597abe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-img-end-tag-novalid.html @@ -0,0 +1,4 @@ + + +invalid html-syntax-img-end-tag + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-picture-no-end-tag-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-picture-no-end-tag-novalid.html new file mode 100644 index 00000000000..a7e378d38ed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-picture-no-end-tag-novalid.html @@ -0,0 +1,4 @@ + + +invalid html-syntax-picture-no-end-tag + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-no-end-tag-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-no-end-tag-novalid.html new file mode 100644 index 00000000000..50816e522d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-no-end-tag-novalid.html @@ -0,0 +1,4 @@ + + +invalid html-syntax-picture-slash-no-end-tag + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-novalid.html new file mode 100644 index 00000000000..0c824ef56c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid html-syntax-picture-slash + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-source-end-tag-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-source-end-tag-novalid.html new file mode 100644 index 00000000000..8a8b2c447ef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/html-syntax-source-end-tag-novalid.html @@ -0,0 +1,4 @@ + + +invalid html-syntax-source-end-tag + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-novalid.html new file mode 100644 index 00000000000..a97c2a52d80 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-novalid.html @@ -0,0 +1,4 @@ + + +invalid img-no-src + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-with-picture-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-with-picture-novalid.html new file mode 100644 index 00000000000..aae2586129e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-with-picture-novalid.html @@ -0,0 +1,4 @@ + + +invalid img-no-src-with-picture + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-with-source-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-with-source-novalid.html new file mode 100644 index 00000000000..185231fd632 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-with-source-novalid.html @@ -0,0 +1,4 @@ + + +invalid img-no-src-with-source + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-and-picture-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-and-picture-novalid.html new file mode 100644 index 00000000000..d7e820a1eec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-and-picture-novalid.html @@ -0,0 +1,4 @@ + + +invalid img-no-src-with-srcset-and-picture + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-novalid.html new file mode 100644 index 00000000000..aade7df01ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid img-no-src-with-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-srcset-no-descriptor-with-sizes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-srcset-no-descriptor-with-sizes-novalid.html new file mode 100644 index 00000000000..c23295931bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-srcset-no-descriptor-with-sizes-novalid.html @@ -0,0 +1,4 @@ + + +invalid img-srcset-no-descriptor-with-sizes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-srcset-w-and-x-width-sizes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-srcset-w-and-x-width-sizes-novalid.html new file mode 100644 index 00000000000..ae5cba4e189 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-srcset-w-and-x-width-sizes-novalid.html @@ -0,0 +1,4 @@ + + +invalid img-srcset-w-and-x-width-sizes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-srcset-w-no-sizes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-srcset-w-no-sizes-novalid.html new file mode 100644 index 00000000000..c6970b7587f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-srcset-w-no-sizes-novalid.html @@ -0,0 +1,4 @@ + + +invalid img-srcset-w-no-sizes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-type-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-type-novalid.html new file mode 100644 index 00000000000..41a813c1c44 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-type-novalid.html @@ -0,0 +1,4 @@ + + +invalid img-type + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-type-with-picture-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-type-with-picture-novalid.html new file mode 100644 index 00000000000..d05284ee589 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-type-with-picture-novalid.html @@ -0,0 +1,4 @@ + + +invalid img-type-with-picture + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-with-sizes-no-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-with-sizes-no-srcset-novalid.html new file mode 100644 index 00000000000..a77c4a53906 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/img-with-sizes-no-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid img-with-sizes-no-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/input-type-image-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/input-type-image-srcset-novalid.html new file mode 100644 index 00000000000..80c7995e5b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/input-type-image-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid input-type-image-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-br-after-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-br-after-img-novalid.html new file mode 100644 index 00000000000..66ea1f9605f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-br-after-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-br-after-img +
                                                              \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-br-after-source-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-br-after-source-novalid.html new file mode 100644 index 00000000000..55bb78c19e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-br-after-source-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-br-after-source +
                                                              \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-br-before-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-br-before-img-novalid.html new file mode 100644 index 00000000000..06462c42bfe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-br-before-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-br-before-img +
                                                              \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-br-before-source-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-br-before-source-novalid.html new file mode 100644 index 00000000000..7f9bbc0a26f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-br-before-source-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-br-before-source +
                                                              \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-figure-wrapping-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-figure-wrapping-novalid.html new file mode 100644 index 00000000000..ffe22b73b13 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-figure-wrapping-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-figure-wrapping +
                                                              \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-input-type-hidden-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-input-type-hidden-novalid.html new file mode 100644 index 00000000000..b4763de6e4c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-input-type-hidden-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-input-type-hidden + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-math-nog-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-math-nog-img-novalid.html new file mode 100644 index 00000000000..5f1b85dbb28 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-math-nog-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-math-nog-img + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-noscript-after-source-no-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-noscript-after-source-no-img-novalid.html new file mode 100644 index 00000000000..957c8bc1a39 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-noscript-after-source-no-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-noscript-after-source-no-img + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-noscript-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-noscript-novalid.html new file mode 100644 index 00000000000..45efb6712c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-noscript-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-noscript + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-p-after-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-p-after-novalid.html new file mode 100644 index 00000000000..0848d51e045 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-p-after-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-p-after +

                                                              \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-p-before-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-p-before-novalid.html new file mode 100644 index 00000000000..abb046b7640 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-p-before-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-p-before +

                                                              \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-p-wrapping-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-p-wrapping-novalid.html new file mode 100644 index 00000000000..c1561cf33b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-p-wrapping-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-p-wrapping +

                                                              \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-picture-before-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-picture-before-novalid.html new file mode 100644 index 00000000000..d2d3ce9ff23 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-picture-before-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-picture-before + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-picture-wrapping-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-picture-wrapping-novalid.html new file mode 100644 index 00000000000..beb9577c5eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-picture-wrapping-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-picture-wrapping + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-span-after-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-span-after-novalid.html new file mode 100644 index 00000000000..03f6923e776 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-span-after-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-span-after + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-span-before-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-span-before-novalid.html new file mode 100644 index 00000000000..85307cfb5ec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-span-before-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-span-before + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-span-wrapping-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-span-wrapping-novalid.html new file mode 100644 index 00000000000..701a263d569 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-span-wrapping-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-span-wrapping + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-style-scroped-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-style-scroped-novalid.html new file mode 100644 index 00000000000..7aae2a0fe7a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-style-scroped-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-style-scroped + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-svg-no-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-svg-no-img-novalid.html new file mode 100644 index 00000000000..0a444584989 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-svg-no-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-svg-no-img + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-svg-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-svg-novalid.html new file mode 100644 index 00000000000..03d47c7189f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-svg-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-svg + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-text-after-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-text-after-img-novalid.html new file mode 100644 index 00000000000..700f317c2b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-text-after-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-text-after-img +x \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-text-after-source-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-text-after-source-novalid.html new file mode 100644 index 00000000000..99c173e8f60 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-text-after-source-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-text-after-source +x \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-text-before-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-text-before-img-novalid.html new file mode 100644 index 00000000000..256804c9623 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-text-before-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-text-before-img +x \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-text-before-source-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-text-before-source-novalid.html new file mode 100644 index 00000000000..cf1cf0f4ea5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-text-before-source-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-text-before-source +x \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-video-before-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-video-before-novalid.html new file mode 100644 index 00000000000..2e91d9c2984 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-video-before-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-video-before + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-video-no-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-video-no-img-novalid.html new file mode 100644 index 00000000000..05d89383b99 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/junk-video-no-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid junk-video-no-img + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/link-rel-icon-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/link-rel-icon-srcset-novalid.html new file mode 100644 index 00000000000..df2d56c8efe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/link-rel-icon-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid link-rel-icon-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-empty-picture-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-empty-picture-novalid.html new file mode 100644 index 00000000000..6f604e165be --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-empty-picture-novalid.html @@ -0,0 +1,4 @@ + + +invalid missing-img-empty-picture + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-only-script-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-only-script-novalid.html new file mode 100644 index 00000000000..96015048cff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-only-script-novalid.html @@ -0,0 +1,4 @@ + + +invalid missing-img-only-script + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-only-source-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-only-source-novalid.html new file mode 100644 index 00000000000..b8b25bd7377 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-only-source-novalid.html @@ -0,0 +1,4 @@ + + +invalid missing-img-only-source + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-script-and-source-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-script-and-source-novalid.html new file mode 100644 index 00000000000..ea61fadbdb1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-script-and-source-novalid.html @@ -0,0 +1,4 @@ + + +invalid missing-img-script-and-source + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-source-and-script-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-source-and-script-novalid.html new file mode 100644 index 00000000000..a31715d3369 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/missing-img-source-and-script-novalid.html @@ -0,0 +1,4 @@ + + +invalid missing-img-source-and-script + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/multiple-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/multiple-img-novalid.html new file mode 100644 index 00000000000..bed5b38ac90 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/multiple-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid multiple-img + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/multiple-img-with-script-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/multiple-img-with-script-novalid.html new file mode 100644 index 00000000000..973d01f807b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/multiple-img-with-script-novalid.html @@ -0,0 +1,4 @@ + + +invalid multiple-img-with-script + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/multiple-img-with-source-and-script-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/multiple-img-with-source-and-script-novalid.html new file mode 100644 index 00000000000..8c722ac0704 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/multiple-img-with-source-and-script-novalid.html @@ -0,0 +1,4 @@ + + +invalid multiple-img-with-source-and-script + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/multiple-img-with-source-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/multiple-img-with-source-novalid.html new file mode 100644 index 00000000000..d6c2402e85f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/multiple-img-with-source-novalid.html @@ -0,0 +1,4 @@ + + +invalid multiple-img-with-source + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/object-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/object-srcset-novalid.html new file mode 100644 index 00000000000..df784de7ef2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/object-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid object-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/parent-dl-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/parent-dl-novalid.html new file mode 100644 index 00000000000..12b32af3430 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/parent-dl-novalid.html @@ -0,0 +1,4 @@ + + +invalid parent-dl +
                                                              \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/parent-hgroup-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/parent-hgroup-novalid.html new file mode 100644 index 00000000000..3b260d27f28 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/parent-hgroup-novalid.html @@ -0,0 +1,4 @@ + + +invalid parent-hgroup +

                                                              x

                                                              \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/parent-noscript-in-head-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/parent-noscript-in-head-novalid.html new file mode 100644 index 00000000000..648a16c1dc8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/parent-noscript-in-head-novalid.html @@ -0,0 +1,4 @@ + + +invalid parent-noscript-in-head + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/parent-ul-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/parent-ul-novalid.html new file mode 100644 index 00000000000..ed39ef722bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/parent-ul-novalid.html @@ -0,0 +1,4 @@ + + +invalid parent-ul +
                                                              \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-align-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-align-novalid.html new file mode 100644 index 00000000000..494a44d0b5d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-align-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-align + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-alt-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-alt-novalid.html new file mode 100644 index 00000000000..678dfe46a99 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-alt-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-alt + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-application-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-application-novalid.html new file mode 100644 index 00000000000..6d1771f2a9e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-application-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-aria-role-application + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-button-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-button-novalid.html new file mode 100644 index 00000000000..ad144b79d7f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-button-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-aria-role-button + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-img-novalid.html new file mode 100644 index 00000000000..f91f2671058 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-aria-role-img + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-presentation-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-presentation-novalid.html new file mode 100644 index 00000000000..7c8998c2ab9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-presentation-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-aria-role-presentation + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-region-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-region-novalid.html new file mode 100644 index 00000000000..336b58d6fa9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-aria-role-region-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-aria-role-region + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-border-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-border-novalid.html new file mode 100644 index 00000000000..013d6d668b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-border-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-border + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-crossorigin-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-crossorigin-novalid.html new file mode 100644 index 00000000000..733be02c5bd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-crossorigin-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-crossorigin + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-height-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-height-novalid.html new file mode 100644 index 00000000000..d5c0f0c1a0f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-height-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-height + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-hspace-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-hspace-novalid.html new file mode 100644 index 00000000000..53912928bfd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-hspace-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-hspace + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-ismap-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-ismap-novalid.html new file mode 100644 index 00000000000..d6dbfe4254a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-ismap-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-ismap + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-isvalid.html new file mode 100644 index 00000000000..e8a76edf25c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-isvalid.html @@ -0,0 +1,107 @@ + + +valid picture + + + + + + + + + + + + + + + + + + +x +xxx + +
                                                              + + + + + + + + + + + +

                                                              x

                                                              + + + + + + + + +x + + + + + + + + + + +

                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                              x

                                                              + + + + + + + + + + + + +
                                                              + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-longdesc-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-longdesc-novalid.html new file mode 100644 index 00000000000..86d77931388 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-longdesc-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-longdesc + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-lowsrc-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-lowsrc-novalid.html new file mode 100644 index 00000000000..00361b00feb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-lowsrc-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-lowsrc + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-media-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-media-novalid.html new file mode 100644 index 00000000000..e81f5e9ef0c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-media-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-media + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-name-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-name-novalid.html new file mode 100644 index 00000000000..d8867a1b2ef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-name-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-name + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-sizes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-sizes-novalid.html new file mode 100644 index 00000000000..8064a3d2685 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-sizes-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-sizes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-src-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-src-novalid.html new file mode 100644 index 00000000000..b5e6e30e829 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-src-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-src + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-srcset-novalid.html new file mode 100644 index 00000000000..1f3703e50be --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-usemap-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-usemap-novalid.html new file mode 100644 index 00000000000..1def698f176 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-usemap-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-usemap + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-vspace-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-vspace-novalid.html new file mode 100644 index 00000000000..fc62cd514d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-vspace-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-vspace + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-width-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-width-novalid.html new file mode 100644 index 00000000000..1fa63afa0c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/picture-width-novalid.html @@ -0,0 +1,4 @@ + + +invalid picture-width + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-auto-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-auto-source-size-value-novalid.html new file mode 100644 index 00000000000..734ed4a8c52 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-auto-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-auto-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-comma-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-comma-novalid.html new file mode 100644 index 00000000000..06b83dc4ae5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-comma-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-comma + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-after-plus-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-after-plus-novalid.html new file mode 100644 index 00000000000..c3e04ca6b6e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-after-plus-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-css-comment-after-plus + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-before-unit-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-before-unit-novalid.html new file mode 100644 index 00000000000..3d0ad297dc2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-before-unit-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-css-comment-before-unit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-first-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-first-novalid.html new file mode 100644 index 00000000000..c5331b0d4ef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-first-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-default-first + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-source-size-value-novalid.html new file mode 100644 index 00000000000..2f70de718ab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-default-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-deg-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-deg-source-size-value-novalid.html new file mode 100644 index 00000000000..d0e608b95d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-deg-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-deg-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpcm-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpcm-source-size-value-novalid.html new file mode 100644 index 00000000000..c8b8b7a2dd8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpcm-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-dpcm-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpi-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpi-source-size-value-novalid.html new file mode 100644 index 00000000000..95160c13939 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpi-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-dpi-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dppx-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dppx-source-size-value-novalid.html new file mode 100644 index 00000000000..778f6b49b99 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dppx-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-dppx-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-empty-novalid.html new file mode 100644 index 00000000000..be232a5cd1f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-empty + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-foo-bar-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-foo-bar-source-size-value-novalid.html new file mode 100644 index 00000000000..7e969dafcb6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-foo-bar-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-foo-bar-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-grad-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-grad-source-size-value-novalid.html new file mode 100644 index 00000000000..506ebf561cb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-grad-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-grad-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-hz-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-hz-source-size-value-novalid.html new file mode 100644 index 00000000000..bc4e21c3fd2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-hz-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-hz-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-inherit-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-inherit-source-size-value-novalid.html new file mode 100644 index 00000000000..c232648dc6f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-inherit-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-inherit-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-initial-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-initial-source-size-value-novalid.html new file mode 100644 index 00000000000..b70a543dee3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-initial-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-initial-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-default-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-default-novalid.html new file mode 100644 index 00000000000..1121b56691f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-default-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-junk-in-default + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-source-size-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-source-size-novalid.html new file mode 100644 index 00000000000..1fc7cffec92 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-source-size-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-junk-in-source-size + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-khz-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-khz-source-size-value-novalid.html new file mode 100644 index 00000000000..039da34cf69 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-khz-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-khz-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-and-min-width-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-and-min-width-novalid.html new file mode 100644 index 00000000000..1ac0cf6e31a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-and-min-width-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-media-all-and-min-width + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-novalid.html new file mode 100644 index 00000000000..453ba8ac9e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-media-all + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-bad-junk-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-bad-junk-novalid.html new file mode 100644 index 00000000000..27fc624ac53 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-bad-junk-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-media-bad-junk + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-general-enclosed-junk-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-general-enclosed-junk-novalid.html new file mode 100644 index 00000000000..b8b8f8e9909 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-general-enclosed-junk-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-media-general-enclosed-junk + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-min-width-no-parenthesis-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-min-width-no-parenthesis-novalid.html new file mode 100644 index 00000000000..b442eeddcc1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-min-width-no-parenthesis-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-media-min-width-no-parenthesis + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-ms-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-ms-source-size-value-novalid.html new file mode 100644 index 00000000000..4fa0acf7c17 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-ms-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-ms-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-negative-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-negative-source-size-value-novalid.html new file mode 100644 index 00000000000..0ac929a8194 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-negative-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-negative-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-no-unit-in-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-no-unit-in-source-size-value-novalid.html new file mode 100644 index 00000000000..6c018626950 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-no-unit-in-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-no-unit-in-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-percent-in-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-percent-in-source-size-value-novalid.html new file mode 100644 index 00000000000..2864631e091 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-percent-in-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-percent-in-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-rad-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-rad-source-size-value-novalid.html new file mode 100644 index 00000000000..ec98f9d349f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-rad-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-rad-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-s-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-s-source-size-value-novalid.html new file mode 100644 index 00000000000..a85f14d9190 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-s-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-s-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-negative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-negative-novalid.html new file mode 100644 index 00000000000..8a4d9c66830 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-negative-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-scientific-notation-negative + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-non-integer-in-exponent-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-non-integer-in-exponent-novalid.html new file mode 100644 index 00000000000..08db943cd92 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-non-integer-in-exponent-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-scientific-notation-non-integer-in-exponent + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-comma-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-comma-novalid.html new file mode 100644 index 00000000000..8a6a809375f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-comma-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-trailing-comma + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-junk-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-junk-novalid.html new file mode 100644 index 00000000000..d987fecfc24 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-junk-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-trailing-junk + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-turn-source-size-value-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-turn-source-size-value-novalid.html new file mode 100644 index 00000000000..6edfd39c8af --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-turn-source-size-value-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-turn-source-size-value + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-two-defaults-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-two-defaults-novalid.html new file mode 100644 index 00000000000..ee6ce9f63e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/sizes-microsyntax-two-defaults-novalid.html @@ -0,0 +1,4 @@ + + +invalid sizes-microsyntax-two-defaults + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-after-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-after-img-novalid.html new file mode 100644 index 00000000000..3a209dc590d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-after-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-after-img + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-align-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-align-novalid.html new file mode 100644 index 00000000000..e1584674f0c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-align-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-align + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-alt-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-alt-novalid.html new file mode 100644 index 00000000000..0bd6646f096 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-alt-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-alt + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-aria-role-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-aria-role-img-novalid.html new file mode 100644 index 00000000000..6f8d130aa1f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-aria-role-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-aria-role-img + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-aria-role-presentation-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-aria-role-presentation-novalid.html new file mode 100644 index 00000000000..b0fcbc05e10 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-aria-role-presentation-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-aria-role-presentation + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-before-and-after-img-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-before-and-after-img-novalid.html new file mode 100644 index 00000000000..3e083105bbc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-before-and-after-img-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-before-and-after-img + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-border-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-border-novalid.html new file mode 100644 index 00000000000..fa746a81d98 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-border-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-border + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-crossorigin-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-crossorigin-novalid.html new file mode 100644 index 00000000000..a4ebb7ecb0d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-crossorigin-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-crossorigin + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-height-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-height-novalid.html new file mode 100644 index 00000000000..2eeb159345c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-height-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-height + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-hspace-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-hspace-novalid.html new file mode 100644 index 00000000000..a6e717357f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-hspace-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-hspace + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-ismap-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-ismap-novalid.html new file mode 100644 index 00000000000..2c02869e357 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-ismap-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-ismap + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-longdesc-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-longdesc-novalid.html new file mode 100644 index 00000000000..c523ef21076 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-longdesc-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-longdesc + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-name-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-name-novalid.html new file mode 100644 index 00000000000..dab3247e773 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-name-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-name + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-no-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-no-srcset-novalid.html new file mode 100644 index 00000000000..acb6eab05bf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-no-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-no-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-no-srcset-with-media-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-no-srcset-with-media-novalid.html new file mode 100644 index 00000000000..a7625f755a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-no-srcset-with-media-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-no-srcset-with-media + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-no-srcset-with-sizes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-no-srcset-with-sizes-novalid.html new file mode 100644 index 00000000000..517c67054b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-no-srcset-with-sizes-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-no-srcset-with-sizes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-no-srcset-with-type-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-no-srcset-with-type-novalid.html new file mode 100644 index 00000000000..510c7eed6b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-no-srcset-with-type-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-no-srcset-with-type + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-src-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-src-novalid.html new file mode 100644 index 00000000000..a5eff2b7019 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-src-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-src + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-src-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-src-srcset-novalid.html new file mode 100644 index 00000000000..80714cb86fb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-src-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-src-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-srcset-h-with-sizes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-srcset-h-with-sizes-novalid.html new file mode 100644 index 00000000000..5da6331e539 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-srcset-h-with-sizes-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-srcset-h-with-sizes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-srcset-w-and-x-with-sizes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-srcset-w-and-x-with-sizes-novalid.html new file mode 100644 index 00000000000..cf6603ea8ff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-srcset-w-and-x-with-sizes-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-srcset-w-and-x-with-sizes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-srcset-w-no-sizes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-srcset-w-no-sizes-novalid.html new file mode 100644 index 00000000000..0375c5415f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-srcset-w-no-sizes-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-srcset-w-no-sizes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-srcset-x-with-sizes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-srcset-x-with-sizes-novalid.html new file mode 100644 index 00000000000..a8efda291ee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-srcset-x-with-sizes-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-srcset-x-with-sizes + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-type-srcset-w-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-type-srcset-w-novalid.html new file mode 100644 index 00000000000..a9ccaa312b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-type-srcset-w-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-type-srcset-w + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-usemap-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-usemap-novalid.html new file mode 100644 index 00000000000..603bb472d8a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-usemap-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-usemap + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-vspace-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-vspace-novalid.html new file mode 100644 index 00000000000..2e26c73ce44 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-vspace-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-vspace + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-width-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-width-novalid.html new file mode 100644 index 00000000000..1649b791b29 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/source-width-novalid.html @@ -0,0 +1,4 @@ + + +invalid source-width + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-broken-url-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-broken-url-novalid.html new file mode 100644 index 00000000000..82388ab5136 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-broken-url-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-broken-url + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-comma-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-comma-novalid.html new file mode 100644 index 00000000000..ff36674849e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-comma-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-comma + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-css-comment-after-descriptor-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-css-comment-after-descriptor-novalid.html new file mode 100644 index 00000000000..758c3551ca7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-css-comment-after-descriptor-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-css-comment-after-descriptor + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-curly-bracket-junk-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-curly-bracket-junk-novalid.html new file mode 100644 index 00000000000..346f160886d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-curly-bracket-junk-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-curly-bracket-junk + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-empty-novalid.html new file mode 100644 index 00000000000..ad8a12a3a03 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-empty + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-function-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-function-novalid.html new file mode 100644 index 00000000000..499a14752b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-function-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-function + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-h-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-h-novalid.html new file mode 100644 index 00000000000..3c381e04eba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-h-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-h + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-infinity-x-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-infinity-x-novalid.html new file mode 100644 index 00000000000..51aba7b2970 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-infinity-x-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-infinity-x + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-multiple-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-multiple-novalid.html new file mode 100644 index 00000000000..c715e0e35d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-multiple-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-leading-comma-multiple + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-novalid.html new file mode 100644 index 00000000000..ad138943734 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-leading-comma + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-dot-x-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-dot-x-novalid.html new file mode 100644 index 00000000000..3a9da140b6b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-dot-x-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-leading-dot-x + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-nan-x-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-nan-x-novalid.html new file mode 100644 index 00000000000..da7d829dff6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-nan-x-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-nan-x + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-w-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-w-novalid.html new file mode 100644 index 00000000000..0e61668fd88 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-w-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-negative-w + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-x-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-x-novalid.html new file mode 100644 index 00000000000..08e5fb70a4a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-x-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-negative-x + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-w-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-w-novalid.html new file mode 100644 index 00000000000..ebc5d346a76 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-w-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-negative-zero-w + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-x-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-x-novalid.html new file mode 100644 index 00000000000..d1260c027fb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-x-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-negative-zero-x + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-non-integer-w-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-non-integer-w-novalid.html new file mode 100644 index 00000000000..05554d8ee37 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-non-integer-w-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-non-integer-w + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-parenthesis-junk-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-parenthesis-junk-novalid.html new file mode 100644 index 00000000000..1459e1610b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-parenthesis-junk-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-parenthesis-junk + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-pipe-junk-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-pipe-junk-novalid.html new file mode 100644 index 00000000000..7c1ee3a0414 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-pipe-junk-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-pipe-junk + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-w-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-w-novalid.html new file mode 100644 index 00000000000..c452c91738e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-w-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-plus-w + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-x-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-x-novalid.html new file mode 100644 index 00000000000..7c285635d96 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-x-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-plus-x + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-scientific-notation-w-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-scientific-notation-w-novalid.html new file mode 100644 index 00000000000..b1be3575390 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-scientific-notation-w-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-scientific-notation-w + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-square-bracket-junk-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-square-bracket-junk-novalid.html new file mode 100644 index 00000000000..effc9379673 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-square-bracket-junk-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-square-bracket-junk + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-multiple-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-multiple-novalid.html new file mode 100644 index 00000000000..869af64fa5b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-multiple-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-trailing-comma-multiple + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-novalid.html new file mode 100644 index 00000000000..9250e468dff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-trailing-comma + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-1x-and-omitted-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-1x-and-omitted-novalid.html new file mode 100644 index 00000000000..72bc68e075b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-1x-and-omitted-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-unique-descriptors-1x-and-omitted + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-2x-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-2x-novalid.html new file mode 100644 index 00000000000..9ab38cd2412 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-2x-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-unique-descriptors-2x + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-integer-and-decimals-x-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-integer-and-decimals-x-novalid.html new file mode 100644 index 00000000000..76d6eeccf49 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-integer-and-decimals-x-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-unique-descriptors-integer-and-decimals-x + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-w-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-w-novalid.html new file mode 100644 index 00000000000..d5c8fdab130 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-w-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-unique-descriptors-w + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-uppercase-w-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-uppercase-w-novalid.html new file mode 100644 index 00000000000..51601192f3f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-uppercase-w-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-uppercase-w + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-h-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-h-novalid.html new file mode 100644 index 00000000000..84ef6ae2bb8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-h-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-w-and-h + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-no-descriptor-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-no-descriptor-novalid.html new file mode 100644 index 00000000000..78c44834ef3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-no-descriptor-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-w-and-no-descriptor + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-h-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-h-novalid.html new file mode 100644 index 00000000000..4c26cfaf3b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-h-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-x-and-h + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-w-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-w-novalid.html new file mode 100644 index 00000000000..3c0cd89b9fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-w-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-x-and-w + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-w-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-w-novalid.html new file mode 100644 index 00000000000..908343f81b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-w-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-zero-w + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-x-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-x-novalid.html new file mode 100644 index 00000000000..fbf7e98e698 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-x-novalid.html @@ -0,0 +1,4 @@ + + +invalid srcset-microsyntax-zero-x + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/svg-image-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/svg-image-srcset-novalid.html new file mode 100644 index 00000000000..22950c23e83 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/svg-image-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid svg-image-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/track-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/track-srcset-novalid.html new file mode 100644 index 00000000000..99dd22be0fd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/track-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid track-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-source-media-src-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-source-media-src-novalid.html new file mode 100644 index 00000000000..f065a12f493 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-source-media-src-novalid.html @@ -0,0 +1,4 @@ + + +invalid video-source-media-src + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-source-sizes-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-source-sizes-srcset-novalid.html new file mode 100644 index 00000000000..a20fd2db626 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-source-sizes-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid video-source-sizes-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-source-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-source-srcset-novalid.html new file mode 100644 index 00000000000..bde4a64b8f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-source-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid video-source-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-source-srcset-src-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-source-srcset-src-novalid.html new file mode 100644 index 00000000000..f7bf4844654 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-source-srcset-src-novalid.html @@ -0,0 +1,4 @@ + + +invalid video-source-srcset-src + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-srcset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-srcset-novalid.html new file mode 100644 index 00000000000..2115044869d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/picture/video-srcset-novalid.html @@ -0,0 +1,4 @@ + + +invalid video-srcset + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/pre/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/pre/model-isvalid.html new file mode 100644 index 00000000000..99d1a75be23 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/pre/model-isvalid.html @@ -0,0 +1,17 @@ + + + + + <pre> + + + +
                                                              text
                                                              + + +
                                                              text
                                                              + + +
                                                              text elem
                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/pre/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/pre/model-novalid.html new file mode 100644 index 00000000000..384386c2b0a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/pre/model-novalid.html @@ -0,0 +1,26 @@ + + + + + <pre> + + + +
                                                              text
                                                              + + +

                                                              paragraph +

                                                              text
                                                              +

                                                              + + +
                                                              text
                                                              + +

                                                              paragraph +

                                                              text
                                                              +

                                                              + + +
                                                              text elem
                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite-empty-isvalid.html new file mode 100644 index 00000000000..1621184c729 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite-empty-isvalid.html @@ -0,0 +1,4 @@ + + +empty cite is valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite-isvalid.html new file mode 100644 index 00000000000..0f4f7391fd5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite-isvalid.html @@ -0,0 +1,91 @@ + + +valid cite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/fragment-backslash-novalid.html new file mode 100644 index 00000000000..6c7cc13940a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..7a7af4f659b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..25b1122c3a9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-cr-novalid.html new file mode 100644 index 00000000000..cf065e28c73 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..1c89424f3cf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..30cdf591dc0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-empty-novalid.html new file mode 100644 index 00000000000..59318111b36 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..2bc854d87b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..e495b8067c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..49dfc87da91 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..02e4b63d04e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..d9ac64ee490 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-newline-novalid.html new file mode 100644 index 00000000000..081c966eb8b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid cite: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-space-novalid.html new file mode 100644 index 00000000000..f12f661672f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..cdf2f79cbcf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-tab-novalid.html new file mode 100644 index 00000000000..479577b08d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..1ef717a06ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..ab08fdf8de3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..0751ebd03de --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-contains-space-novalid.html new file mode 100644 index 00000000000..c262da55ddf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..67bb53f459e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..2210cde73dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..96cedcfc069 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-leading-space-novalid.html new file mode 100644 index 00000000000..3339c6f749f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..d186e987c54 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..1e7b9025fad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-tab-novalid.html new file mode 100644 index 00000000000..636733d65ea --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-trailing-space-novalid.html new file mode 100644 index 00000000000..9526b3d3db7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-u0091-novalid.html new file mode 100644 index 00000000000..93340436abd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-cr-novalid.html new file mode 100644 index 00000000000..976e030aaa3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..0d2cdef269e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-leading-colon-novalid.html new file mode 100644 index 00000000000..0edae205d11 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-leading-dash-novalid.html new file mode 100644 index 00000000000..7e0ae9e730c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..32c1e93b125 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-newline-novalid.html new file mode 100644 index 00000000000..3b79fcda40d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid cite: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-single-letter-novalid.html new file mode 100644 index 00000000000..47a7fb952b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-space-novalid.html new file mode 100644 index 00000000000..4e88d648334 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-tab-novalid.html new file mode 100644 index 00000000000..f2cf428fccc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/query-leading-space-novalid.html new file mode 100644 index 00000000000..2b1713d2553 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/query-trailing-space-novalid.html new file mode 100644 index 00000000000..7dd56090b83 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..6c0e8e9d4ad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..35713a0cd89 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..9fd2264d374 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..fa4d6b9af73 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..17355d96957 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..b842e1a181c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..8bdafa6b82e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..78bc526458f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..60a6b9b9752 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..edf9a5d7f1b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..6858419ba04 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..fb470d393c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..78ebcaf5754 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..77e41fdaf5f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..a142b0040b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..885454d6490 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..7d637e10ee6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid cite: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..37ca55f73e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..a38c794de83 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..f83002c231f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..8992b51154b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..aed0a860456 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..d78aaab3464 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..2aa14ab9933 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid cite: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/model-isvalid.html new file mode 100644 index 00000000000..c8d8073749d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/model-isvalid.html @@ -0,0 +1,23 @@ + + + + + <q> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/model-novalid.html new file mode 100644 index 00000000000..c742f757fb3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/q/model-novalid.html @@ -0,0 +1,25 @@ + + + + + <q> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              • list
                                                              elem

                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ruby/empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ruby/empty-novalid.html new file mode 100644 index 00000000000..8ce4ec42141 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ruby/empty-novalid.html @@ -0,0 +1,10 @@ + + + + +ruby element missing rt child + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ruby/missing-rt-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ruby/missing-rt-novalid.html new file mode 100644 index 00000000000..0f8d363df98 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ruby/missing-rt-novalid.html @@ -0,0 +1,10 @@ + + + + +ruby element missing rt child + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/s/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/s/model-isvalid.html new file mode 100644 index 00000000000..16474321a64 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/s/model-isvalid.html @@ -0,0 +1,10 @@ + + + +the "s" element is not obsolete + + + +baz + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/samp/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/samp/model-isvalid.html new file mode 100644 index 00000000000..4049a956936 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/samp/model-isvalid.html @@ -0,0 +1,23 @@ + + + + + <samp> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/samp/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/samp/model-novalid.html new file mode 100644 index 00000000000..27d469d7a5c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/samp/model-novalid.html @@ -0,0 +1,25 @@ + + + + + <samp> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              • list
                                                              elem

                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/language-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/language-novalid.html new file mode 100644 index 00000000000..3ac19056a03 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/language-novalid.html @@ -0,0 +1,10 @@ + + + +the "language" attribute is obsolete + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src-empty-novalid.html new file mode 100644 index 00000000000..ebf2dca0a28 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src-isvalid.html new file mode 100644 index 00000000000..752e2d266f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src-isvalid.html @@ -0,0 +1,91 @@ + + +valid src + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src-whitespace-only-novalid.html new file mode 100644 index 00000000000..3d850fc735c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/fragment-backslash-novalid.html new file mode 100644 index 00000000000..55bcbb9f9a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..03cab750582 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..0c97b6b1a68 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-cr-novalid.html new file mode 100644 index 00000000000..4e90cab023a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..229c0115f00 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..958c18e4b97 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-empty-novalid.html new file mode 100644 index 00000000000..37338edcce9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..b8c12b06ed1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..82e95ba5ecf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..63c908e807c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..38936b3b86f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..1e3cac534e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-newline-novalid.html new file mode 100644 index 00000000000..4995fe428c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-space-novalid.html new file mode 100644 index 00000000000..676705ed88a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..4f8581e69ad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-tab-novalid.html new file mode 100644 index 00000000000..58a8aecd69a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..c58b09b9df1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..f659cf0d5b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..c23ef7bc936 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-contains-space-novalid.html new file mode 100644 index 00000000000..f54c9aeaa86 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..f8a8317d057 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..df39dc2fdf7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..af8803b6028 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-leading-space-novalid.html new file mode 100644 index 00000000000..49d0a41cbf0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..99d207f4028 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..3f2447018c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-tab-novalid.html new file mode 100644 index 00000000000..28f15327a07 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-trailing-space-novalid.html new file mode 100644 index 00000000000..157fd07dc40 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-u0091-novalid.html new file mode 100644 index 00000000000..5ff1dfb7a48 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-cr-novalid.html new file mode 100644 index 00000000000..14cc85f13f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..b20a459624a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-leading-colon-novalid.html new file mode 100644 index 00000000000..5e2e7db787c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-leading-dash-novalid.html new file mode 100644 index 00000000000..ce486bcca13 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..2f7174ec1aa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-newline-novalid.html new file mode 100644 index 00000000000..003f9d489c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-single-letter-novalid.html new file mode 100644 index 00000000000..c57c1694847 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-space-novalid.html new file mode 100644 index 00000000000..ed84a101e66 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-tab-novalid.html new file mode 100644 index 00000000000..fca9c6b9ce3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/query-leading-space-novalid.html new file mode 100644 index 00000000000..f864a2a0652 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/query-trailing-space-novalid.html new file mode 100644 index 00000000000..92a5453cb94 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..f26fb056d9f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..1bae7962e26 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..d23ad76fda7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..5efd30aaae8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..b9b9db1ee9e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..9dfcff84706 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..7d641fa5b3f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..5b1877e8851 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..fa9437aba50 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..5e0848eaac8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..bb4642fc704 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..90a94ef29be --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..63c8ba3cda3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..656fdc01b84 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..6e85d80fee4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..3c97e997588 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..a0415fb9cd7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..e500ae56e0b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..37449448ebc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..44419f43a7c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..b9a29923601 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..26baccf6025 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..38e21c6ea63 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..dd331c5ff92 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/small/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/small/model-isvalid.html new file mode 100644 index 00000000000..b86e5850d08 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/small/model-isvalid.html @@ -0,0 +1,23 @@ + + + + + <small> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/small/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/small/model-novalid.html new file mode 100644 index 00000000000..f874f3b87c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/small/model-novalid.html @@ -0,0 +1,25 @@ + + + + + <small> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              • list
                                                              elem

                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src-empty-novalid.html new file mode 100644 index 00000000000..40af9974f8f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src-isvalid.html new file mode 100644 index 00000000000..138463d951d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src-isvalid.html @@ -0,0 +1,91 @@ + + +valid src + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src-whitespace-only-novalid.html new file mode 100644 index 00000000000..d814f5bee19 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/fragment-backslash-novalid.html new file mode 100644 index 00000000000..d01d315a804 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..1780fe69811 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..cf2d6028b02 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-cr-novalid.html new file mode 100644 index 00000000000..fce5132b171 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..e670a118fb9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..e459233329f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-empty-novalid.html new file mode 100644 index 00000000000..0c8af3c1402 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..401b95d784a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..20aee85b0a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..459a77a7c1c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..87343ea53dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..89198c0c018 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-newline-novalid.html new file mode 100644 index 00000000000..d6fbbff9f58 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-space-novalid.html new file mode 100644 index 00000000000..4b948bb4242 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..1c0948bdeca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-tab-novalid.html new file mode 100644 index 00000000000..bfa213cf9ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..af4112397fb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..2b8764b7733 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..a3f169c0b0b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-contains-space-novalid.html new file mode 100644 index 00000000000..8290e235520 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..6a7028d120c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..8c42b1c88fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..3764f1e87f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-leading-space-novalid.html new file mode 100644 index 00000000000..fd99580750e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..4d133de219d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..b7fba024735 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-tab-novalid.html new file mode 100644 index 00000000000..a755948615e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-trailing-space-novalid.html new file mode 100644 index 00000000000..e410928b0c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-u0091-novalid.html new file mode 100644 index 00000000000..315c9c04079 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-cr-novalid.html new file mode 100644 index 00000000000..f4a35d68a0d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..6162bb6ec49 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-leading-colon-novalid.html new file mode 100644 index 00000000000..590459c48ec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-leading-dash-novalid.html new file mode 100644 index 00000000000..32aa2a60992 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..0c5edbf21be --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-newline-novalid.html new file mode 100644 index 00000000000..b5103483b0c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-single-letter-novalid.html new file mode 100644 index 00000000000..6359c2dec93 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-space-novalid.html new file mode 100644 index 00000000000..8b255e538df --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-tab-novalid.html new file mode 100644 index 00000000000..7e3eede3c84 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/query-leading-space-novalid.html new file mode 100644 index 00000000000..c2b2ccf61b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/query-trailing-space-novalid.html new file mode 100644 index 00000000000..3d18f7316a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..c92f72c9d56 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +src warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..5be1b6aa5d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..3d2ba290e3a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..3f73121760d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..b1d44ebc7ce --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..5388a0e6a05 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..f24622fe250 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..de2b3888c2d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..c331a355d82 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..fa49920494c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..576fef6f47d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..09837749cb1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..931e59c008a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..87f75d8fb37 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..6516b42310d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..99170ba10a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..4e68da6e7ee --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..8a7e5471c4f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..87ebab22dbe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..110363739e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..2e88fd4d43a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..147678b38d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..c6f9bef7147 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..fb2f9413f49 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/span/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/span/model-isvalid.html new file mode 100644 index 00000000000..ee1abffabf0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/span/model-isvalid.html @@ -0,0 +1,23 @@ + + + + + <span> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/span/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/span/model-novalid.html new file mode 100644 index 00000000000..30814fc2c1a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/span/model-novalid.html @@ -0,0 +1,25 @@ + + + + + <span> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              • list
                                                              elem

                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/strong/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/strong/model-isvalid.html new file mode 100644 index 00000000000..1510a641c05 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/strong/model-isvalid.html @@ -0,0 +1,22 @@ + + + + + <strong> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/strong/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/strong/model-novalid.html new file mode 100644 index 00000000000..a202dfc8ddd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/strong/model-novalid.html @@ -0,0 +1,25 @@ + + + + + <strong> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              • list
                                                              elem

                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/model-isvalid.html new file mode 100644 index 00000000000..f0dd1c23fd1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/model-isvalid.html @@ -0,0 +1,20 @@ + + + + + + <STYLE>s + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-as-div-child-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-as-div-child-isvalid.html new file mode 100644 index 00000000000..d927a60f101 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-as-div-child-isvalid.html @@ -0,0 +1,8 @@ + + +style@scoped as child of div with flow content after + +
                                                              + +

                                                              foo +

                                                              diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-as-p-child-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-as-p-child-novalid.html new file mode 100644 index 00000000000..8619e0815e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-as-p-child-novalid.html @@ -0,0 +1,5 @@ + + +style@scoped as child of p (where flow content is not allowed) + +

                                                              diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-in-head-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-in-head-novalid.html new file mode 100644 index 00000000000..358bd694bb6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-in-head-novalid.html @@ -0,0 +1,6 @@ + + + +style@scoped in head + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-isvalid.html new file mode 100644 index 00000000000..cdcc00eb709 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-isvalid.html @@ -0,0 +1,5 @@ + + +style@scoped as child of div + +
                                                              diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-model-novalid.html new file mode 100644 index 00000000000..19d56bbc98d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-model-novalid.html @@ -0,0 +1,8 @@ + + +style@scoped as child of div with flow content before + +
                                                              +

                                                              foo

                                                              + +
                                                              diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-multiple-adjacent-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-multiple-adjacent-isvalid.html new file mode 100644 index 00000000000..1799dd128c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/style/scoped-multiple-adjacent-isvalid.html @@ -0,0 +1,9 @@ + + +mutliple adjacent style@scoped as child of div with flow content after + +
                                                              + + +

                                                              foo

                                                              +
                                                              diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/sub/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/sub/model-isvalid.html new file mode 100644 index 00000000000..2dbd047f464 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/sub/model-isvalid.html @@ -0,0 +1,24 @@ + + + + + <sub> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/sub/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/sub/model-novalid.html new file mode 100644 index 00000000000..41e40a63d7d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/sub/model-novalid.html @@ -0,0 +1,18 @@ + + + + + <sub> + + + + text + + +

                                                              • text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/sup/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/sup/model-isvalid.html new file mode 100644 index 00000000000..af3642f5ed9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/sup/model-isvalid.html @@ -0,0 +1,24 @@ + + + + + <sup> + + + +

                                                              text

                                                              + + +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/sup/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/sup/model-novalid.html new file mode 100644 index 00000000000..321a9439e69 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/sup/model-novalid.html @@ -0,0 +1,18 @@ + + + + + <sup> + + + + text + + +

                                                              • text

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/table/model-input-child-hidden-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/table/model-input-child-hidden-novalid.html new file mode 100644 index 00000000000..e7aa64dbc2a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/table/model-input-child-hidden-novalid.html @@ -0,0 +1,4 @@ + + +The "in table" insertion mode - A start tag whose tag name is "input" (type=hidden) +
                                                              diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/table/model-input-child-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/table/model-input-child-novalid.html new file mode 100644 index 00000000000..08b168707d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/table/model-input-child-novalid.html @@ -0,0 +1,4 @@ + + +The "in table" insertion mode - A start tag whose tag name is "input" +
                                                              diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/table/model-input-type-child-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/table/model-input-type-child-novalid.html new file mode 100644 index 00000000000..39553d02f17 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/table/model-input-type-child-novalid.html @@ -0,0 +1,4 @@ + + +The "in table" insertion mode - A start tag whose tag name is "input" +
                                                              diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/time/datetime-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/time/datetime-isvalid.html new file mode 100644 index 00000000000..644608b15bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/time/datetime-isvalid.html @@ -0,0 +1,57 @@ + + + + + <t> + + + +

                                                              + + +

                                                              + + +

                                                              text

                                                              +

                                                              text

                                                              + + +

                                                              +

                                                              + + +

                                                              +

                                                              +

                                                              + +

                                                              +

                                                              +

                                                              + +

                                                              +

                                                              +

                                                              + +

                                                              +

                                                              +

                                                              + + +

                                                              +

                                                              +

                                                              + +

                                                              +

                                                              +

                                                              + +

                                                              +

                                                              +

                                                              + +

                                                              +

                                                              +

                                                              + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/title/empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/title/empty-novalid.html new file mode 100644 index 00000000000..f3089b5961f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/title/empty-novalid.html @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/title/missing-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/title/missing-novalid.html new file mode 100644 index 00000000000..c0a83a4da90 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/title/missing-novalid.html @@ -0,0 +1,2 @@ + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src-empty-novalid.html new file mode 100644 index 00000000000..c915ef521a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src-isvalid.html new file mode 100644 index 00000000000..190eec7e8af --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src-isvalid.html @@ -0,0 +1,91 @@ + + +valid src + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src-whitespace-only-novalid.html new file mode 100644 index 00000000000..49a19ded1a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty src is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/fragment-backslash-novalid.html new file mode 100644 index 00000000000..06dc4825bd1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..c629c503d5f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..f2632d5e26a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-cr-novalid.html new file mode 100644 index 00000000000..1b2d74fc2f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..098225713cf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..7a66a895730 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-empty-novalid.html new file mode 100644 index 00000000000..0978bfe8407 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..a193260fc26 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..fc9c41e8efb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..70aa4d064ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..54433b15b97 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..8e93c61bdf4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-newline-novalid.html new file mode 100644 index 00000000000..7b206246d62 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-space-novalid.html new file mode 100644 index 00000000000..31c35862b6e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..791359b5017 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-tab-novalid.html new file mode 100644 index 00000000000..cebfa553ba6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..7aaf5336f0f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..2901170f15f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..a6cea54599d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-contains-space-novalid.html new file mode 100644 index 00000000000..4cc4ea47c80 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..8f785227730 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..4e959284469 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..8e14139e665 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-leading-space-novalid.html new file mode 100644 index 00000000000..0b9847f009c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..a4f6e796e9e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..f83da9a1d60 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-tab-novalid.html new file mode 100644 index 00000000000..b8c5b36ba06 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-trailing-space-novalid.html new file mode 100644 index 00000000000..5da84a87294 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-u0091-novalid.html new file mode 100644 index 00000000000..16c810dff24 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-cr-novalid.html new file mode 100644 index 00000000000..666a5d89d3c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..c568c332cb3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-leading-colon-novalid.html new file mode 100644 index 00000000000..a6e554183c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-leading-dash-novalid.html new file mode 100644 index 00000000000..fe6a8bf0aa6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..2798d9a4d47 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-newline-novalid.html new file mode 100644 index 00000000000..5d1d924a16c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-single-letter-novalid.html new file mode 100644 index 00000000000..40ee9156a4b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-space-novalid.html new file mode 100644 index 00000000000..d6e85ae51f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-tab-novalid.html new file mode 100644 index 00000000000..a4963cf999f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/query-leading-space-novalid.html new file mode 100644 index 00000000000..d5d1f278264 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/query-trailing-space-novalid.html new file mode 100644 index 00000000000..489f0fa378d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..e0489ac6046 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +src warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..5799c3fb981 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..6921ade0ac8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..19ec1b90d4c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..3fcc985f90b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..35e17447841 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..e9a53858791 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..ed6968d4ff7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..79ddaf10a38 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..813e4aeff17 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..1db1adad1b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..9c262feea62 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..f2999019e27 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..73048441267 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..13a633d3708 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..32e379e9947 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..81bf43c97f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..65f414637cd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..924eb4e868f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..603c7d21042 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..58b50489ff3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..8bd21d98736 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..e20902adaac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..98866840743 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/u/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/u/model-isvalid.html new file mode 100644 index 00000000000..0ce3f95b461 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/u/model-isvalid.html @@ -0,0 +1,10 @@ + + + +the "u" element is not obsolete + + + +baz + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ul/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ul/model-isvalid.html new file mode 100644 index 00000000000..3f3adbf9b40 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ul/model-isvalid.html @@ -0,0 +1,39 @@ + + + + + Unordered List: <ul> <li> + + + +
                                                                +
                                                              • text
                                                              • +
                                                              + + +
                                                                +
                                                                  +
                                                                • +
                                                                • +
                                                                + + +
                                                                  +
                                                                • some text +
                                                                  more text
                                                                  +
                                                                • +
                                                                + + +
                                                                  +
                                                                • +

                                                                  some

                                                                  +

                                                                  text

                                                                  +
                                                                • +
                                                                + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ul/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ul/model-novalid.html new file mode 100644 index 00000000000..9bb4bf09030 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/ul/model-novalid.html @@ -0,0 +1,55 @@ + + + + + Unordered List: <ul> <li> + + + +
                                                                  +
                                                                • text
                                                                • +
                                                                + + +

                                                                paragraph +

                                                                  +
                                                                • text
                                                                • +
                                                                +

                                                                + + +
                                                                  +
                                                                    +
                                                                  • +
                                                                  • +
                                                                  + + +
                                                                    +
                                                                  • some text +
                                                                    more text
                                                                    +
                                                                  • +
                                                                  +

                                                                  paragraph +

                                                                    +
                                                                  • some text +
                                                                    more text
                                                                    +
                                                                  • +
                                                                  +

                                                                  + + +
                                                                    +
                                                                  • +

                                                                    some

                                                                    +

                                                                    text

                                                                    +
                                                                  • +
                                                                  + + + +

                                                                  paragraph +

                                                                  +

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/var/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/var/model-isvalid.html new file mode 100644 index 00000000000..06a71d4b31c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/var/model-isvalid.html @@ -0,0 +1,24 @@ + + + + + <var> + + + +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  +

                                                                  text

                                                                  + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/var/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/var/model-novalid.html new file mode 100644 index 00000000000..853481ad105 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/var/model-novalid.html @@ -0,0 +1,18 @@ + + + + + <var> + + + + text + + +

                                                                  • text

                                                                  + + +

                                                                  text

                                                                  +

                                                                  text

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/model-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/model-isvalid.html new file mode 100644 index 00000000000..4d49826832e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/model-isvalid.html @@ -0,0 +1,4 @@ + + +video with flow content and flow parent +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/model-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/model-novalid.html new file mode 100644 index 00000000000..fa9af261972 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/model-novalid.html @@ -0,0 +1,4 @@ + + +video with flow content and phrasing parent + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster-empty-novalid.html new file mode 100644 index 00000000000..efd5238b697 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty poster is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster-isvalid.html new file mode 100644 index 00000000000..01e32e775d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster-isvalid.html @@ -0,0 +1,91 @@ + + +valid poster + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster-whitespace-only-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster-whitespace-only-novalid.html new file mode 100644 index 00000000000..b53bf190263 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster-whitespace-only-novalid.html @@ -0,0 +1,5 @@ + + +empty poster is not valid + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/fragment-backslash-novalid.html new file mode 100644 index 00000000000..e2d9764e37b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..cb01ae009f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..8bf3631bfb8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-cr-novalid.html new file mode 100644 index 00000000000..8e7cd1af040 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..e3c4eafc653 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..34f58f6fa5c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-empty-novalid.html new file mode 100644 index 00000000000..704af4b76a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..896ed885003 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..2ac4d5f7f34 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..5458f16e654 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..c8f206dde36 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..b891644888c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-newline-novalid.html new file mode 100644 index 00000000000..de25e97766a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid poster: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-space-novalid.html new file mode 100644 index 00000000000..1e35a2f9620 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..094eec8770d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-tab-novalid.html new file mode 100644 index 00000000000..c5455bee119 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..81c27763820 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..34ccb2844a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..170314bbe5f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-contains-space-novalid.html new file mode 100644 index 00000000000..e17733c2eb1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..83d43d2b4e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..a0a8c6c52a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..5e63c1b4d6b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-leading-space-novalid.html new file mode 100644 index 00000000000..e738c1feb17 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..1c211fd4ca8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..786f91dac13 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-tab-novalid.html new file mode 100644 index 00000000000..bb9fc12b177 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-trailing-space-novalid.html new file mode 100644 index 00000000000..f66866c8fcb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-u0091-novalid.html new file mode 100644 index 00000000000..360426c3a93 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-cr-novalid.html new file mode 100644 index 00000000000..28796729d7f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..b5b6bef5c78 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-leading-colon-novalid.html new file mode 100644 index 00000000000..bd5c281016d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-leading-dash-novalid.html new file mode 100644 index 00000000000..354fe3103d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..04a2cf18e8b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-newline-novalid.html new file mode 100644 index 00000000000..1634a10e0b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid poster: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-single-letter-novalid.html new file mode 100644 index 00000000000..8b95dcc647c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-space-novalid.html new file mode 100644 index 00000000000..6164a9206fd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-tab-novalid.html new file mode 100644 index 00000000000..5dbbdd5b4f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/query-leading-space-novalid.html new file mode 100644 index 00000000000..e465e950b85 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/query-trailing-space-novalid.html new file mode 100644 index 00000000000..640e3997206 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..4207e1babec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..61a3376e105 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..2d2a13b1a51 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..f6b4897d971 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..40b21e03ac0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..b06cd92de39 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..2db8cbb1d39 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..82223ebe182 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..cb9cb519169 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..a55b66b5a99 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..53028e1ea3a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..e21f10cb92c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..103a89e3e2f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..0c2002984dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..af5c83dd2d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..7ab4fd95334 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..e411aa29561 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid poster: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..8018630da5e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..176164f8f91 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..5842693077f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..a4afc95e894 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..4948ef6dad0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..c0527bc19a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..0275ab7e670 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid poster: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src-isvalid.html new file mode 100644 index 00000000000..d7a85fe4587 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src-isvalid.html @@ -0,0 +1,91 @@ + + +valid src + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/fragment-backslash-novalid.html new file mode 100644 index 00000000000..ee68bff3d91 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..b9d870a9ead --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-contains-hash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..4b155216032 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: fragment-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-cr-novalid.html new file mode 100644 index 00000000000..961ef7768d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..920ee8a5464 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..4134e80de8b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-double-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-empty-novalid.html new file mode 100644 index 00000000000..816c3742d2d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..34f65d1a845 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-userinfo-empty + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..95dfb6f5b2e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-empty-with-userinfo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..0768743f4e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-hostname-in-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..9508562d7ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..b29836ab97c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-invalid-unicode-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-newline-novalid.html new file mode 100644 index 00000000000..41537aeaca6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: host-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-space-novalid.html new file mode 100644 index 00000000000..f480f32c5c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..447a2aa614d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-square-brackets-port-contains-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-tab-novalid.html new file mode 100644 index 00000000000..4076b232c77 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..549297e1895 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..8041f2d7812 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: host-u0000-percent-encoded-percent-encoded + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..d9c3ee5718c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-bare-percent-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-contains-space-novalid.html new file mode 100644 index 00000000000..9d5e0c7994b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-contains-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..99bea08254a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-backslash-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..a6c02e7d68a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..d16c250a86e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-colon-chars-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-leading-space-novalid.html new file mode 100644 index 00000000000..72d3eb00fb4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..d4a76d67ff2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-percent-encoded-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..70e5f34d69b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-relative-square-brackets + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-tab-novalid.html new file mode 100644 index 00000000000..9600b35c9bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-trailing-space-novalid.html new file mode 100644 index 00000000000..8d778ed2127 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-u0091-novalid.html new file mode 100644 index 00000000000..3a8729e2e68 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: path-u0091 + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-cr-novalid.html new file mode 100644 index 00000000000..c2ccfb09605 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..e5fb232d4a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon-bracket-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-leading-colon-novalid.html new file mode 100644 index 00000000000..96e191517dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-leading-dash-novalid.html new file mode 100644 index 00000000000..fe6f633d4a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-leading-dash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..3adbe71514d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-multiple-letters + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-newline-novalid.html new file mode 100644 index 00000000000..8537b673798 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: port-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-single-letter-novalid.html new file mode 100644 index 00000000000..e26c266056c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-single-letter + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-space-novalid.html new file mode 100644 index 00000000000..a64478c873b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-tab-novalid.html new file mode 100644 index 00000000000..06a2197333b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: port-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/query-leading-space-novalid.html new file mode 100644 index 00000000000..7fadece7cbf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-leading-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/query-trailing-space-novalid.html new file mode 100644 index 00000000000..c63758bf849 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: query-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..b0e34b8fcc5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +data:text/html,test#test warning: scheme-data-contains-fragment + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..8d8dae71252 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-data-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..e8901f2c76b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..4b0da950953 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-single-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..24955ef06fd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-file-triple-slash-c-bar + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..5667bea15a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..e9dcf201b66 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-ftp-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..6809d90d1b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..e519b030b8a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-colon + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..4b8d3177751 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..7251562c463 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-no-slash-square-bracket + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..33f3518fcde --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-http-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..c80331a6e71 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-no-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..876011ec09b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-https-single-slash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..adc7a878982 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-javascript-no-slash-malformed + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..bb0a0de9001 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-cr + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..01bb310f918 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid src: scheme-trailing-newline + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..6149a4df2ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-space + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..4285fea135d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: scheme-trailing-tab + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..c18402881c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-backslash + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..0f34b9ec295 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-bad-chars + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..971c1f0eba6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-password-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..a3d5736d1e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-at-sign + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..d3cc8e1abb0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid src: userinfo-username-contains-pile-of-poo + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/001-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/001-isvalid.html new file mode 100644 index 00000000000..445394dde97 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/001-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen + + + +

                                                                  screen

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/001-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/001-novalid.html new file mode 100644 index 00000000000..d1117760404 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/001-novalid.html @@ -0,0 +1,11 @@ + + + + +screen and + + + +

                                                                  screen and

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/002-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/002-isvalid.html new file mode 100644 index 00000000000..8820d56547d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/002-isvalid.html @@ -0,0 +1,11 @@ + + + + + screen + + + +

                                                                  screen

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/002-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/002-novalid.html new file mode 100644 index 00000000000..819d4622fbd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/002-novalid.html @@ -0,0 +1,11 @@ + + + + +alla + + + +

                                                                  alla

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/003-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/003-isvalid.html new file mode 100644 index 00000000000..220eb820bf3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/003-isvalid.html @@ -0,0 +1,11 @@ + + + + +all + + + +

                                                                  all

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/003-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/003-novalid.html new file mode 100644 index 00000000000..81a7db013d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/003-novalid.html @@ -0,0 +1,11 @@ + + + + +PROJECTİON + + + +

                                                                  PROJECTİON

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/004-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/004-isvalid.html new file mode 100644 index 00000000000..6e362710d9b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/004-isvalid.html @@ -0,0 +1,11 @@ + + + + +projection + + + +

                                                                  projection

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/004-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/004-novalid.html new file mode 100644 index 00000000000..d30fc2055f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/004-novalid.html @@ -0,0 +1,11 @@ + + + + +notscreen + + + +

                                                                  notscreen

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/005-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/005-isvalid.html new file mode 100644 index 00000000000..cfcf027d0d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/005-isvalid.html @@ -0,0 +1,11 @@ + + + + +not screen + + + +

                                                                  not screen

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/005-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/005-novalid.html new file mode 100644 index 00000000000..f7bb8529386 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/005-novalid.html @@ -0,0 +1,11 @@ + + + + +onlyscreen + + + +

                                                                  onlyscreen

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/006-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/006-isvalid.html new file mode 100644 index 00000000000..7a24e16a1b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/006-isvalid.html @@ -0,0 +1,11 @@ + + + + +only screen + + + +

                                                                  only screen

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/006-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/006-novalid.html new file mode 100644 index 00000000000..5315c8afe71 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/006-novalid.html @@ -0,0 +1,11 @@ + + + + +screenand (min-width: 400px) + + + +

                                                                  screenand (min-width: 400px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/007-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/007-isvalid.html new file mode 100644 index 00000000000..59c4a8409ce --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/007-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px) + + + +

                                                                  screen and (min-width: 400px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/007-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/007-novalid.html new file mode 100644 index 00000000000..122d5ce778a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/007-novalid.html @@ -0,0 +1,11 @@ + + + + +screen and(min-width: 400px) + + + +

                                                                  screen and(min-width: 400px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/008-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/008-isvalid.html new file mode 100644 index 00000000000..544bcbeef0f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/008-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width:400px) + + + +

                                                                  screen and (min-width:400px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/008-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/008-novalid.html new file mode 100644 index 00000000000..4531534948e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/008-novalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px;) + + + +

                                                                  screen and (min-width: 400px;)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/009-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/009-isvalid.html new file mode 100644 index 00000000000..cee1a4aba1b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/009-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and ( min-width: 400px ) + + + +

                                                                  screen and ( min-width: 400px )

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/009-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/009-novalid.html new file mode 100644 index 00000000000..d44dbfa4023 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/009-novalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400uu) + + + +

                                                                  screen and (min-width: 400uu)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/010-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/010-isvalid.html new file mode 100644 index 00000000000..43584464f7e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/010-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and ( min-width : 400px ) + + + +

                                                                  screen and ( min-width : 400px )

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/010-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/010-novalid.html new file mode 100644 index 00000000000..a016cd99c85 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/010-novalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400) + + + +

                                                                  screen and (min-width: 400)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/011-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/011-isvalid.html new file mode 100644 index 00000000000..335e0e6fdd1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/011-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px) + + + +

                                                                  screen and (min-width: 400px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/011-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/011-novalid.html new file mode 100644 index 00000000000..cb9d5ab706a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/011-novalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400dpi) + + + +

                                                                  screen and (min-width: 400dpi)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/012-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/012-isvalid.html new file mode 100644 index 00000000000..4de7b828bdb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/012-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and ( min-width: 400px) + + + +

                                                                  screen and ( min-width: 400px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/012-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/012-novalid.html new file mode 100644 index 00000000000..6395788af4f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/012-novalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px)and (max-width: 600px) + + + +

                                                                  screen and (min-width: 400px)and (max-width: 600px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/013-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/013-isvalid.html new file mode 100644 index 00000000000..3f138bfb2b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/013-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px ) + + + +

                                                                  screen and (min-width: 400px )

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/013-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/013-novalid.html new file mode 100644 index 00000000000..f8b1a9873ff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/013-novalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: + + + +

                                                                  screen and (min-width:

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/014-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/014-isvalid.html new file mode 100644 index 00000000000..6f013397175 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/014-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px) + + + +

                                                                  screen and (min-width: 400px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/014-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/014-novalid.html new file mode 100644 index 00000000000..6d1cfdbf60e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/014-novalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px) and + + + +

                                                                  screen and (min-width: 400px) and

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/015-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/015-isvalid.html new file mode 100644 index 00000000000..598bb944350 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/015-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px) + + + +

                                                                  screen and (min-width: 400px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/015-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/015-novalid.html new file mode 100644 index 00000000000..3f896f06171 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/015-novalid.html @@ -0,0 +1,11 @@ + + + + +tv and (scan: 1) + + + +

                                                                  tv and (scan: 1)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/016-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/016-isvalid.html new file mode 100644 index 00000000000..6f013397175 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/016-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px) + + + +

                                                                  screen and (min-width: 400px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/016-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/016-novalid.html new file mode 100644 index 00000000000..8f7a3f003f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/016-novalid.html @@ -0,0 +1,11 @@ + + + + +tv and (scan: İNTERLACE) + + + +

                                                                  tv and (scan: İNTERLACE)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/017-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/017-isvalid.html new file mode 100644 index 00000000000..2b9ebfdce13 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/017-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px) + + + +

                                                                  screen and (min-width: 400px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/017-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/017-novalid.html new file mode 100644 index 00000000000..b8340dd9829 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/017-novalid.html @@ -0,0 +1,11 @@ + + + + +screen and (device-aspect-ratio: 16px/9pt) + + + +

                                                                  screen and (device-aspect-ratio: 16px/9pt)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/018-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/018-haswarn.html new file mode 100644 index 00000000000..2b9b1cde9ec --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/018-haswarn.html @@ -0,0 +1,11 @@ + + + + +Check that device-aspect-ratio warns about U+000C before/after slash in value + + + +

                                                                  screen and (device-aspect-ratio: 16 / 9)

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/018-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/018-isvalid.html new file mode 100644 index 00000000000..08d398a89b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/018-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px) and (max-width: 600px) + + + +

                                                                  screen and (min-width: 400px) and (max-width: 600px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/019-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/019-isvalid.html new file mode 100644 index 00000000000..8fa020aa5fb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/019-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px) and (max-width: 600px) + + + +

                                                                  screen and (min-width: 400px) and (max-width: 600px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/019-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/019-novalid.html new file mode 100644 index 00000000000..16a06b68a77 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/019-novalid.html @@ -0,0 +1,11 @@ + + + + +screen and (color: 1em) + + + +

                                                                  screen and (color: 1em)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/020-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/020-isvalid.html new file mode 100644 index 00000000000..0a140e9bfdf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/020-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px) and (max-width: 600px) + + + +

                                                                  screen and (min-width: 400px) and (max-width: 600px)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/020-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/020-novalid.html new file mode 100644 index 00000000000..d7aada42f9f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/020-novalid.html @@ -0,0 +1,11 @@ + + + + +, + + + +

                                                                  ,

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/021-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/021-isvalid.html new file mode 100644 index 00000000000..6fc7cfcf02a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/021-isvalid.html @@ -0,0 +1,11 @@ + + + + +tv and (scan: progressive) + + + +

                                                                  tv and (scan: progressive)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/021-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/021-novalid.html new file mode 100644 index 00000000000..7b62b984372 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/021-novalid.html @@ -0,0 +1,11 @@ + + + + +screen,,print + + + +

                                                                  screen,,print

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/022-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/022-isvalid.html new file mode 100644 index 00000000000..0481671ada4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/022-isvalid.html @@ -0,0 +1,11 @@ + + + + +tv and (scan: interlace) + + + +

                                                                  tv and (scan: interlace)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/022-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/022-novalid.html new file mode 100644 index 00000000000..92f7c609a85 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/022-novalid.html @@ -0,0 +1,11 @@ + + + + +screen, + + + +

                                                                  screen,

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/023-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/023-isvalid.html new file mode 100644 index 00000000000..2b851935908 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/023-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (device-aspect-ratio: 16/9) + + + +

                                                                  screen and (device-aspect-ratio: 16/9)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/023-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/023-novalid.html new file mode 100644 index 00000000000..55ac1c007dc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/023-novalid.html @@ -0,0 +1,11 @@ + + + + +,screen + + + +

                                                                  ,screen

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/024-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/024-novalid.html new file mode 100644 index 00000000000..a016cd99c85 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/024-novalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400) + + + +

                                                                  screen and (min-width: 400)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/025-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/025-isvalid.html new file mode 100644 index 00000000000..cf0079302c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/025-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (color: 1) + + + +

                                                                  screen and (color: 1)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/026-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/026-isvalid.html new file mode 100644 index 00000000000..ef8523b8c4a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/026-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (color: 2) + + + +

                                                                  screen and (color: 2)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/027-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/027-isvalid.html new file mode 100644 index 00000000000..99799c77dae --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/027-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (color: 0) + + + +

                                                                  screen and (color: 0)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/028-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/028-isvalid.html new file mode 100644 index 00000000000..61d5b2f68ef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/028-isvalid.html @@ -0,0 +1,11 @@ + + + + +print and (min-resolution: 100dpi) + + + +

                                                                  print and (min-resolution: 100dpi)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/029-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/029-isvalid.html new file mode 100644 index 00000000000..a3f8cecfc9a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/029-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 400px), print + + + +

                                                                  screen and (min-width: 400px), print

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/030-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/030-isvalid.html new file mode 100644 index 00000000000..c6d20c62cdb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/030-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 0) + + + +

                                                                  screen and (min-width: 0)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/031-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/031-isvalid.html new file mode 100644 index 00000000000..944fadb4e70 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/031-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 0.0) + + + +

                                                                  screen and (min-width: 0.0)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/032-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/032-isvalid.html new file mode 100644 index 00000000000..7c60e5a886d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/032-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: 00) + + + +

                                                                  screen and (min-width: 00)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/033-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/033-isvalid.html new file mode 100644 index 00000000000..7a9d3acdf8c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/033-isvalid.html @@ -0,0 +1,11 @@ + + + + +screen and (min-width: .0) + + + +

                                                                  screen and (min-width: .0)

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/118-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/118-isvalid.html new file mode 100644 index 00000000000..00999cfa8ca --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/118-isvalid.html @@ -0,0 +1,13 @@ + + + + +Check that device-aspect-ratio allows space, tab, or LF before & after slash + + + +

                                                                  Check that device-aspect-ratio allows space, tab, or LF before & after slash

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/source-isvalid.txt b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/source-isvalid.txt new file mode 100644 index 00000000000..8096ac36d52 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/source-isvalid.txt @@ -0,0 +1,33 @@ +screen + screen +all +projection +not screen +only screen +screen and (min-width: 400px) +screen and (min-width:400px) +screen and ( min-width: 400px ) +screen and ( min-width : 400px ) +screen and (min-width: 400px) +screen and ( min-width: 400px) +screen and (min-width: 400px ) +screen and (min-width: 400px) +screen and (min-width: 400px) +screen and (min-width: 400px) +screen and (min-width: 400px) +screen and (min-width: 400px) and (max-width: 600px) +screen and (min-width: 400px) and (max-width: 600px) +screen and (min-width: 400px) and (max-width: 600px) +tv and (scan: progressive) +tv and (scan: interlace) +screen and (device-aspect-ratio: 16/9) +screen and (device-aspect-ratio: -16/-9) +screen and (color: 1) +screen and (color: 2) +screen and (color: 0) +print and (min-resolution: 100dpi) +screen and (min-width: 400px), print +screen and (min-width: 0) +screen and (min-width: 0.0) +screen and (min-width: 00) +screen and (min-width: .0) \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/source-novalid.txt b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/source-novalid.txt new file mode 100644 index 00000000000..91a5e3fcc83 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/media-queries/source-novalid.txt @@ -0,0 +1,24 @@ +screen and +alla +PROJECTİON +notscreen +onlyscreen +screenand (min-width: 400px) +screen and(min-width: 400px) +screen and (min-width: 400px;) +screen and (min-width: 400uu) +screen and (min-width: 400) +screen and (min-width: 400dpi) +screen and (min-width: 400px)and (max-width: 600px) +screen and (min-width: +screen and (min-width: 400px) and +tv and (scan: 1) +tv and (scan: İNTERLACE) +screen and (device-aspect-ratio: 16px/9pt) +screen and (device-aspect-ratio: 16 / 9) +screen and (color: 1em) +, +screen,,print +screen, +,screen +screen and (min-width: 400) \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid-empty-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid-empty-isvalid.html new file mode 100644 index 00000000000..956e951c4d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid-empty-isvalid.html @@ -0,0 +1,4 @@ + + +empty itemid is valid +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid-isvalid.html new file mode 100644 index 00000000000..26ac06797eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid-isvalid.html @@ -0,0 +1,91 @@ + + +valid itemid +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid-scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid-scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..2fe232933ad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid-scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +warning: scheme-data-contains-fragment +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/fragment-backslash-novalid.html new file mode 100644 index 00000000000..a765e5e79ed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: fragment-backslash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..f365b9e720a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: fragment-contains-hash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..2f7182fe22a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: fragment-leading-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-cr-novalid.html new file mode 100644 index 00000000000..36d3dc82f56 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-cr +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..8f7618e37e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-double-percent-encoded +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..c271ada0211 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-double-percent-encoded-percent-encoded +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-empty-novalid.html new file mode 100644 index 00000000000..07368db651a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-empty +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..6c5d07beb66 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-empty-userinfo-empty +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..41a664bf223 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-empty-with-userinfo +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..a99370b65fe --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-hostname-in-brackets +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..0104bd3ec74 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-invalid-unicode +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..940fe8a0181 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-invalid-unicode-percent-encoded +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-newline-novalid.html new file mode 100644 index 00000000000..6474d8ffa9d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid itemid: host-newline +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-space-novalid.html new file mode 100644 index 00000000000..5ccff6990b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..0c73b6c51d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-square-brackets-port-contains-colon +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-tab-novalid.html new file mode 100644 index 00000000000..f29256c3d6c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-tab +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..154a92579e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-u0000-percent-encoded +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..6747c076e3d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: host-u0000-percent-encoded-percent-encoded +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..e5d5f5fa11b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: path-bare-percent-sign +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-contains-space-novalid.html new file mode 100644 index 00000000000..a1d17b5f8b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: path-contains-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..0c59308d90c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: path-leading-backslash-at-sign +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..08a190900ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: path-leading-colon-backslash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..01115ee8853 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: path-leading-colon-chars-backslash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-leading-space-novalid.html new file mode 100644 index 00000000000..042758b438a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: path-leading-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..49cab58db6a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: path-percent-encoded-malformed +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..b750b59e49c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: path-relative-square-brackets +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-tab-novalid.html new file mode 100644 index 00000000000..238d57e9925 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: path-tab +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-trailing-space-novalid.html new file mode 100644 index 00000000000..65b750b6f1f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: path-trailing-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-u0091-novalid.html new file mode 100644 index 00000000000..ae36d74ead4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: path-u0091 +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-cr-novalid.html new file mode 100644 index 00000000000..28cededa54e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: port-cr +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..24c9fd15422 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: port-leading-colon-bracket-colon +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-leading-colon-novalid.html new file mode 100644 index 00000000000..18656d36aef --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: port-leading-colon +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-leading-dash-novalid.html new file mode 100644 index 00000000000..1d275f79d64 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: port-leading-dash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..e404011d24a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: port-multiple-letters +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-newline-novalid.html new file mode 100644 index 00000000000..3b556be6b72 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid itemid: port-newline +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-single-letter-novalid.html new file mode 100644 index 00000000000..b1274e33bf1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: port-single-letter +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-space-novalid.html new file mode 100644 index 00000000000..ad2e271ceeb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: port-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-tab-novalid.html new file mode 100644 index 00000000000..e015e7c87e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: port-tab +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/query-leading-space-novalid.html new file mode 100644 index 00000000000..c4465245ec5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: query-leading-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/query-trailing-space-novalid.html new file mode 100644 index 00000000000..9ca912bfe13 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: query-trailing-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..1ec8d49758c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-data-single-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-file-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-file-backslash-novalid.html new file mode 100644 index 00000000000..602e154d8c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-file-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-file-backslash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-file-single-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-file-single-slash-c-bar-novalid.html new file mode 100644 index 00000000000..f94b9e63834 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-file-single-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-file-single-slash-c-bar +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-file-triple-slash-c-bar-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-file-triple-slash-c-bar-novalid.html new file mode 100644 index 00000000000..c77fe276843 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-file-triple-slash-c-bar-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-file-triple-slash-c-bar +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..906f089aca0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-ftp-no-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..48ae5d1d26c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-ftp-single-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..8e28363a8aa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-http-backslash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..e52bf145cad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-http-no-slash-colon +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..d6015babadc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-http-no-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..3dc8745f3f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-http-no-slash-square-bracket +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..a653c2c7d25 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-http-single-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..07b7261b273 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-https-no-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..6fbd3c1a813 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-https-single-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..3bf1c6516a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-javascript-no-slash-malformed +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..fabd1ebe30e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-trailing-cr +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..4d82605af27 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid itemid: scheme-trailing-newline +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..f7a61cd7724 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-trailing-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..a3c50b1875f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: scheme-trailing-tab +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..838664b2517 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: userinfo-backslash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..282669321db --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: userinfo-password-bad-chars +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..8a5ba7a71f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: userinfo-password-contains-pile-of-poo +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..99f41339cbd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: userinfo-username-contains-at-sign +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..66d597ffc1f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemid: userinfo-username-contains-pile-of-poo +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype-empty-novalid.html new file mode 100644 index 00000000000..1ed8c466109 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype-empty-novalid.html @@ -0,0 +1,4 @@ + + +empty itemtype is not valid +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype-isvalid.html new file mode 100644 index 00000000000..81538abebdd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype-isvalid.html @@ -0,0 +1,70 @@ + + +valid itemtype +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype-scheme-data-contains-fragment-haswarn.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype-scheme-data-contains-fragment-haswarn.html new file mode 100644 index 00000000000..3374691574f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype-scheme-data-contains-fragment-haswarn.html @@ -0,0 +1,4 @@ + + +warning: scheme-data-contains-fragment +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-backslash-novalid.html new file mode 100644 index 00000000000..7165f965052 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: fragment-backslash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-contains-hash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-contains-hash-novalid.html new file mode 100644 index 00000000000..0f36d930d76 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-contains-hash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: fragment-contains-hash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-empty-hash-only-no-path-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-empty-hash-only-no-path-relative-novalid.html new file mode 100644 index 00000000000..b6d6f63031b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-empty-hash-only-no-path-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: fragment-empty-hash-only-no-path-relative +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-leading-space-novalid.html new file mode 100644 index 00000000000..140200b5199 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: fragment-leading-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-non-ascii-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-non-ascii-relative-novalid.html new file mode 100644 index 00000000000..bf8bd41bab4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-non-ascii-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: fragment-non-ascii-relative +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-semicolon-question-mark-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-semicolon-question-mark-relative-novalid.html new file mode 100644 index 00000000000..654b38ee53b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-semicolon-question-mark-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: fragment-semicolon-question-mark-relative +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-slash-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-slash-relative-novalid.html new file mode 100644 index 00000000000..d257b10f4af --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/fragment-slash-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: fragment-slash-relative +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-cr-novalid.html new file mode 100644 index 00000000000..e3528dfdf0a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-cr +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-novalid.html new file mode 100644 index 00000000000..435a7422605 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-double-percent-encoded +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..d84dd8ef2ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-double-percent-encoded-percent-encoded +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-empty-novalid.html new file mode 100644 index 00000000000..3de07bdf004 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-empty +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-empty-userinfo-empty-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-empty-userinfo-empty-novalid.html new file mode 100644 index 00000000000..e4a11f71729 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-empty-userinfo-empty-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-empty-userinfo-empty +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-empty-with-userinfo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-empty-with-userinfo-novalid.html new file mode 100644 index 00000000000..9457bbd6ebb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-empty-with-userinfo-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-empty-with-userinfo +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-hostname-in-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-hostname-in-brackets-novalid.html new file mode 100644 index 00000000000..9046800cc58 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-hostname-in-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-hostname-in-brackets +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-novalid.html new file mode 100644 index 00000000000..c059b89b060 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-invalid-unicode +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-percent-encoded-novalid.html new file mode 100644 index 00000000000..0f1522d8017 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-invalid-unicode-percent-encoded +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-newline-novalid.html new file mode 100644 index 00000000000..9fcb3cdedc7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid itemtype: host-newline +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-space-novalid.html new file mode 100644 index 00000000000..195ec60b5c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-square-brackets-port-contains-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-square-brackets-port-contains-colon-novalid.html new file mode 100644 index 00000000000..dc53b33caeb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-square-brackets-port-contains-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-square-brackets-port-contains-colon +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-tab-novalid.html new file mode 100644 index 00000000000..54d754c2c39 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-tab +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-novalid.html new file mode 100644 index 00000000000..e087825a9ad --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-u0000-percent-encoded +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-percent-encoded-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-percent-encoded-novalid.html new file mode 100644 index 00000000000..342056e1b19 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-percent-encoded-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: host-u0000-percent-encoded-percent-encoded +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-bare-percent-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-bare-percent-sign-novalid.html new file mode 100644 index 00000000000..ee4f3b19742 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-bare-percent-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-bare-percent-sign +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-contains-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-contains-space-novalid.html new file mode 100644 index 00000000000..a23414ada63 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-contains-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-contains-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-leading-backslash-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-leading-backslash-at-sign-novalid.html new file mode 100644 index 00000000000..bc3bd936310 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-leading-backslash-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-leading-backslash-at-sign +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-backslash-novalid.html new file mode 100644 index 00000000000..42173c5a7c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-leading-colon-backslash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-chars-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-chars-backslash-novalid.html new file mode 100644 index 00000000000..a12ee18389e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-chars-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-leading-colon-chars-backslash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-leading-space-novalid.html new file mode 100644 index 00000000000..23107f27e24 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-leading-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-malformed-novalid.html new file mode 100644 index 00000000000..76c92a24729 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-percent-encoded-malformed +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-plus-slashes-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-plus-slashes-relative-novalid.html new file mode 100644 index 00000000000..74e8c6cb078 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-plus-slashes-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-percent-encoded-slash-plus-slashes-relative +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-relative-novalid.html new file mode 100644 index 00000000000..524a7599875 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-percent-encoded-slash-relative +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-relative-square-brackets-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-relative-square-brackets-novalid.html new file mode 100644 index 00000000000..5b9835bde7b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-relative-square-brackets-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-relative-square-brackets +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-simple-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-simple-relative-novalid.html new file mode 100644 index 00000000000..fb94f42fe44 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-simple-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-simple-relative +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-slash-only-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-slash-only-relative-novalid.html new file mode 100644 index 00000000000..078fff90235 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-slash-only-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-slash-only-relative +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-tab-novalid.html new file mode 100644 index 00000000000..e54d0937868 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-tab +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-trailing-space-novalid.html new file mode 100644 index 00000000000..d5dd76481b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-trailing-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-u0091-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-u0091-novalid.html new file mode 100644 index 00000000000..83445495757 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/path-u0091-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: path-u0091 +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-cr-novalid.html new file mode 100644 index 00000000000..302a96c79f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: port-cr +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-bracket-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-bracket-colon-novalid.html new file mode 100644 index 00000000000..482e11d8f53 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-bracket-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: port-leading-colon-bracket-colon +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-novalid.html new file mode 100644 index 00000000000..15c969782e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: port-leading-colon +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-leading-dash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-leading-dash-novalid.html new file mode 100644 index 00000000000..b6b2847c2bf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-leading-dash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: port-leading-dash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-multiple-letters-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-multiple-letters-novalid.html new file mode 100644 index 00000000000..1d63eb6b98f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-multiple-letters-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: port-multiple-letters +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-newline-novalid.html new file mode 100644 index 00000000000..56f5b418015 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid itemtype: port-newline +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-single-letter-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-single-letter-novalid.html new file mode 100644 index 00000000000..5817b69d5bb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-single-letter-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: port-single-letter +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-space-novalid.html new file mode 100644 index 00000000000..c66dde4cd74 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: port-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-tab-novalid.html new file mode 100644 index 00000000000..0056f4ef9dd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/port-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: port-tab +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/query-empty-no-path-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/query-empty-no-path-relative-novalid.html new file mode 100644 index 00000000000..389c2acc8d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/query-empty-no-path-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: query-empty-no-path-relative +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/query-leading-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/query-leading-space-novalid.html new file mode 100644 index 00000000000..ab89c0e2a38 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/query-leading-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: query-leading-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/query-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/query-trailing-space-novalid.html new file mode 100644 index 00000000000..8db94d80cfc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/query-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: query-trailing-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-data-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-data-single-slash-novalid.html new file mode 100644 index 00000000000..a4b88ed71dd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-data-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-data-single-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-no-slash-novalid.html new file mode 100644 index 00000000000..e4c5289f175 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-ftp-no-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-single-slash-novalid.html new file mode 100644 index 00000000000..0a95473a469 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-ftp-single-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-backslash-novalid.html new file mode 100644 index 00000000000..133b47c832f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-http-backslash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-colon-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-colon-novalid.html new file mode 100644 index 00000000000..613afa1376f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-colon-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-http-no-slash-colon +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-novalid.html new file mode 100644 index 00000000000..4da5f8f3117 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-http-no-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-square-bracket-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-square-bracket-novalid.html new file mode 100644 index 00000000000..03aa71aadb9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-square-bracket-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-http-no-slash-square-bracket +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-single-slash-novalid.html new file mode 100644 index 00000000000..32f31a64c7e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-http-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-http-single-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-https-no-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-https-no-slash-novalid.html new file mode 100644 index 00000000000..e5d4bd70dbd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-https-no-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-https-no-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-https-single-slash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-https-single-slash-novalid.html new file mode 100644 index 00000000000..d4608d0381d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-https-single-slash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-https-single-slash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-javascript-no-slash-malformed-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-javascript-no-slash-malformed-novalid.html new file mode 100644 index 00000000000..5110c6d35b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-javascript-no-slash-malformed-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-javascript-no-slash-malformed +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-schemeless-relative-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-schemeless-relative-novalid.html new file mode 100644 index 00000000000..c2301027d4c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-schemeless-relative-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-schemeless-relative +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-cr-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-cr-novalid.html new file mode 100644 index 00000000000..0ec64f5a4cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-cr-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-trailing-cr +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-newline-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-newline-novalid.html new file mode 100644 index 00000000000..1ea50fcc9cb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-newline-novalid.html @@ -0,0 +1,5 @@ + + +invalid itemtype: scheme-trailing-newline +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-space-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-space-novalid.html new file mode 100644 index 00000000000..5421a3e81ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-space-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-trailing-space +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-tab-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-tab-novalid.html new file mode 100644 index 00000000000..fa0e3ca8381 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-tab-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: scheme-trailing-tab +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-backslash-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-backslash-novalid.html new file mode 100644 index 00000000000..10e6853cf10 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-backslash-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: userinfo-backslash +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-password-bad-chars-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-password-bad-chars-novalid.html new file mode 100644 index 00000000000..e617ca7b7f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-password-bad-chars-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: userinfo-password-bad-chars +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-password-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-password-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..ecde2e96d8d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-password-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: userinfo-password-contains-pile-of-poo +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-at-sign-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-at-sign-novalid.html new file mode 100644 index 00000000000..b89683c3859 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-at-sign-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: userinfo-username-contains-at-sign +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-pile-of-poo-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-pile-of-poo-novalid.html new file mode 100644 index 00000000000..7b09f94cd60 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-pile-of-poo-novalid.html @@ -0,0 +1,4 @@ + + +invalid itemtype: userinfo-username-contains-pile-of-poo +
                                                                  diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/001-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/001-isvalid.html new file mode 100644 index 00000000000..beee463156e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/001-isvalid.html @@ -0,0 +1,11 @@ + + + + +text/html + + + +

                                                                  text/html

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/001-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/001-novalid.html new file mode 100644 index 00000000000..98d7d44a3c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/001-novalid.html @@ -0,0 +1,11 @@ + + + + +text/html + + + +

                                                                  text/html

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/002-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/002-isvalid.html new file mode 100644 index 00000000000..88bd22910ea --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/002-isvalid.html @@ -0,0 +1,11 @@ + + + + +TEXT/HTML + + + +

                                                                  TEXT/HTML

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/002-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/002-novalid.html new file mode 100644 index 00000000000..3f434dd3de3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/002-novalid.html @@ -0,0 +1,11 @@ + + + + + TEXT/HTML + + + +

                                                                  TEXT/HTML

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/003-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/003-isvalid.html new file mode 100644 index 00000000000..99f4bed5967 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/003-isvalid.html @@ -0,0 +1,10 @@ + + + +text/html;charset=utf-8 + + + +

                                                                  text/html;charset=utf-8

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/003-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/003-novalid.html new file mode 100644 index 00000000000..39d2be0c1de --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/003-novalid.html @@ -0,0 +1,10 @@ + + + +text/html;charset= + + + +

                                                                  text/html;charset=

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/004-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/004-isvalid.html new file mode 100644 index 00000000000..5c9a2065b1b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/004-isvalid.html @@ -0,0 +1,10 @@ + + + +text/html ;charset=utf-8 + + + +

                                                                  text/html ;charset=utf-8

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/004-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/004-novalid.html new file mode 100644 index 00000000000..4fa0bf9992f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/004-novalid.html @@ -0,0 +1,11 @@ + + + + +text/html ;charset + + + +

                                                                  text/html ;charset

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/005-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/005-isvalid.html new file mode 100644 index 00000000000..4803124f394 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/005-isvalid.html @@ -0,0 +1,10 @@ + + + +text/html; charset=utf-8 + + + +

                                                                  text/html; charset=utf-8

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/005-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/005-novalid.html new file mode 100644 index 00000000000..4ada4f9f9d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/005-novalid.html @@ -0,0 +1,11 @@ + + + + +text/html; + + + +

                                                                  text/html;

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/006-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/006-isvalid.html new file mode 100644 index 00000000000..5e25924acff --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/006-isvalid.html @@ -0,0 +1,10 @@ + + + +text/html ; charset=utf-8 + + + +

                                                                  text/html ; charset=utf-8

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/006-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/006-novalid.html new file mode 100644 index 00000000000..29bf1653c9e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/006-novalid.html @@ -0,0 +1,11 @@ + + + + +text/html; + + + +

                                                                  text/html;

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/007-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/007-isvalid.html new file mode 100644 index 00000000000..c71d991ffab --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/007-isvalid.html @@ -0,0 +1,10 @@ + + + +text/html;charset="utf-8" + + + +

                                                                  text/html;charset="utf-8"

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/007-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/007-novalid.html new file mode 100644 index 00000000000..83c36896303 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/007-novalid.html @@ -0,0 +1,11 @@ + + + + +text/html ; + + + +

                                                                  text/html ;

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/008-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/008-isvalid.html new file mode 100644 index 00000000000..2a9c7dfac5d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/008-isvalid.html @@ -0,0 +1,10 @@ + + + +text/html;charset="\utf-8" + + + +

                                                                  text/html;charset="\utf-8"

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/008-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/008-novalid.html new file mode 100644 index 00000000000..0c40587634d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/008-novalid.html @@ -0,0 +1,10 @@ + + + +text/html;charset="utf-8 + + + +

                                                                  text/html;charset="utf-8

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/009-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/009-isvalid.html new file mode 100644 index 00000000000..3f145d9fd0d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/009-isvalid.html @@ -0,0 +1,10 @@ + + + +text/html;charset="u\t\f\-\8" + + + +

                                                                  text/html;charset="u\t\f\-\8"

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/009-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/009-novalid.html new file mode 100644 index 00000000000..897ab104274 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/009-novalid.html @@ -0,0 +1,10 @@ + + + +text/html;charset="u\ + + + +

                                                                  text/html;charset="u\

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/010-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/010-isvalid.html new file mode 100644 index 00000000000..f581b74d589 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/010-isvalid.html @@ -0,0 +1,11 @@ + + + + +application/auth-policy+xml + + + +

                                                                  application/auth-policy+xml

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/010-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/010-novalid.html new file mode 100644 index 00000000000..66b2431526f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/010-novalid.html @@ -0,0 +1,11 @@ + + + + +application + + + +

                                                                  application

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/011-isvalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/011-isvalid.html new file mode 100644 index 00000000000..a1fe2c5461c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/011-isvalid.html @@ -0,0 +1,11 @@ + + + + +application/vnd.apple.installer+xml + + + +

                                                                  application/vnd.apple.installer+xml

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/011-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/011-novalid.html new file mode 100644 index 00000000000..ffd850c77aa --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/011-novalid.html @@ -0,0 +1,11 @@ + + + + +application/ + + + +

                                                                  application/

                                                                  + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/source-isvalid.txt b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/source-isvalid.txt new file mode 100644 index 00000000000..ef2436e4984 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/source-isvalid.txt @@ -0,0 +1,11 @@ +text/html +TEXT/HTML +text/html;charset=utf-8 +text/html ;charset=utf-8 +text/html; charset=utf-8 +text/html ; charset=utf-8 +text/html;charset="utf-8" +text/html;charset="\utf-8" +text/html;charset="u\t\f\-\8" +application/auth-policy+xml +application/vnd.apple.installer+xml \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/source-novalid.txt b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/source-novalid.txt new file mode 100644 index 00000000000..52a320e85bf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/mime-types/source-novalid.txt @@ -0,0 +1,11 @@ +text/html + TEXT/HTML +text/html;charset= +text/html ;charset +text/html; +text/html; +text/html ; +text/html;charset="utf-8 +text/html;charset="u\ +application +application/ \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/acronym-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/acronym-novalid.html new file mode 100644 index 00000000000..c00eff544c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/acronym-novalid.html @@ -0,0 +1,10 @@ + + + +the "acronym" element is obsolete + + + +baz + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/applet-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/applet-novalid.html new file mode 100644 index 00000000000..94bb0165dfc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/applet-novalid.html @@ -0,0 +1,10 @@ + + + +the "applet" element is obsolete + + + +baz + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/basefont-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/basefont-novalid.html new file mode 100644 index 00000000000..7f329d5cac7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/basefont-novalid.html @@ -0,0 +1,10 @@ + + + +the "basefont" element is obsolete + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/big-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/big-novalid.html new file mode 100644 index 00000000000..90868cc89eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/big-novalid.html @@ -0,0 +1,10 @@ + + + +the "big" element is obsolete + + + +baz + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/center-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/center-novalid.html new file mode 100644 index 00000000000..83d3cc28d19 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/center-novalid.html @@ -0,0 +1,10 @@ + + + +the "center" element is obsolete + + + +
                                                                  baz
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/dir-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/dir-novalid.html new file mode 100644 index 00000000000..072f1c61965 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/dir-novalid.html @@ -0,0 +1,10 @@ + + + +the "dir" element is obsolete + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/font-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/font-novalid.html new file mode 100644 index 00000000000..450f27ad49c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/font-novalid.html @@ -0,0 +1,10 @@ + + + +the "font" element is obsolete + + + +baz + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/frameset-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/frameset-novalid.html new file mode 100644 index 00000000000..d7de332feed --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/frameset-novalid.html @@ -0,0 +1,11 @@ + + + +the "frameset" element is obsolete + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/noframes-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/noframes-novalid.html new file mode 100644 index 00000000000..84699e67b31 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/noframes-novalid.html @@ -0,0 +1,10 @@ + + + +the "noframes" element is obsolete + + + +baz + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/profile-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/profile-novalid.html new file mode 100644 index 00000000000..6b4a4f39e86 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/profile-novalid.html @@ -0,0 +1,11 @@ + + + +the profile attribute on the head element is obsolete + + + +

                                                                  This page contains a head element with an obsolete +profile attribute. It should trigger a validation error.

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/strike-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/strike-novalid.html new file mode 100644 index 00000000000..0a4c770468b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/strike-novalid.html @@ -0,0 +1,10 @@ + + + +the "strike" element is obsolete + + + +baz + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/tt-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/tt-novalid.html new file mode 100644 index 00000000000..ee4942dccb0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/obsolete/tt-novalid.html @@ -0,0 +1,10 @@ + + + +the "tt" element is obsolete + + + +baz + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/other/applet-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/other/applet-novalid.html new file mode 100644 index 00000000000..5b0c8de3433 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/other/applet-novalid.html @@ -0,0 +1,108 @@ + + + + + <applet> + + + + +

                                                                  + + +

                                                                  + + + + + +

                                                                  paragraph + + some
                                                                  • inline
                                                                  content +
                                                                  +

                                                                  +

                                                                  paragraph + + + some
                                                                  • inline
                                                                  content +
                                                                  +

                                                                  + + +

                                                                  strictly inline + + text + +

                                                                  +

                                                                  strictly inline + + + text + +

                                                                  + + + +

                                                                  text

                                                                  +
                                                                  + + +

                                                                  text

                                                                  +
                                                                  + + +

                                                                  paragraph + + link + +

                                                                  +

                                                                  paragraph + + + link + +

                                                                  +

                                                                  strictly inline + + link + +

                                                                  +

                                                                  strictly inline + + + link + +

                                                                  + +

                                                                  link

                                                                  +
                                                                  + + +

                                                                  link

                                                                  +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/other/obj-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/other/obj-novalid.html new file mode 100644 index 00000000000..178b7d259e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/other/obj-novalid.html @@ -0,0 +1,123 @@ + + + + + <obj> + + + + +

                                                                  + + +

                                                                  + + + + + +

                                                                  paragraph + + some

                                                                  • inline
                                                                  content + +

                                                                  +

                                                                  paragraph + + + some

                                                                  • inline
                                                                  content + +

                                                                  + + +

                                                                  strictly inline + + text + +

                                                                  +

                                                                  strictly inline + + + text + +

                                                                  + + + +

                                                                  text

                                                                  +
                                                                  + + +

                                                                  text

                                                                  +
                                                                  + + +

                                                                  paragraph + + link + +

                                                                  +

                                                                  paragraph + + + link + +

                                                                  +

                                                                  strictly inline + + link + +

                                                                  +

                                                                  strictly inline + + + link + +

                                                                  + +

                                                                  link

                                                                  +
                                                                  + + +

                                                                  link

                                                                  +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/parser/cr-charref-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/cr-charref-novalid.html new file mode 100644 index 00000000000..d517ec011cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/cr-charref-novalid.html @@ -0,0 +1 @@ +&#x0d;

                                                                  There should be an error. diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/parser/range-charref-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/range-charref-novalid.html new file mode 100644 index 00000000000..304b25fb95a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/range-charref-novalid.html @@ -0,0 +1 @@ +&#x110000;

                                                                  There should be an error.� diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/parser/u000b-charref-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/u000b-charref-novalid.html new file mode 100644 index 00000000000..c31ade018d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/u000b-charref-novalid.html @@ -0,0 +1 @@ +&#x000B;

                                                                  There should be an error. diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/parser/u000b-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/u000b-novalid.html new file mode 100644 index 00000000000..d35d7ca34c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/u000b-novalid.html @@ -0,0 +1 @@ +U+000B

                                                                  There should be an error. diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/parser/u007f-charref-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/u007f-charref-novalid.html new file mode 100644 index 00000000000..1dba4b5d27c --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/u007f-charref-novalid.html @@ -0,0 +1 @@ +&#x007F;

                                                                  There should be an error. diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/parser/u10ffff-charref-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/u10ffff-charref-novalid.html new file mode 100644 index 00000000000..f823390a000 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/u10ffff-charref-novalid.html @@ -0,0 +1 @@ +&#x10FFFF;

                                                                  There should be an error.􏿿 diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/parser/ufffe-charref-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/ufffe-charref-novalid.html new file mode 100644 index 00000000000..0ddab4a4222 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/ufffe-charref-novalid.html @@ -0,0 +1 @@ +&#xFFFE;

                                                                  There should be an error.￾ diff --git a/tests/wpt/web-platform-tests/conformance-checkers/html/parser/unassigned-charref-novalid.html b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/unassigned-charref-novalid.html new file mode 100644 index 00000000000..4e4c7489817 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/html/parser/unassigned-charref-novalid.html @@ -0,0 +1 @@ +&#xfdd0;

                                                                  There should be an error.﷐ diff --git a/tests/wpt/web-platform-tests/conformance-checkers/index.html b/tests/wpt/web-platform-tests/conformance-checkers/index.html new file mode 100644 index 00000000000..2dadc40cf1f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/index.html @@ -0,0 +1,113 @@ + +WPT conformance-checker tests + +

                                                                  WPT conformance-checker tests

                                                                  + +

                                                                  The files in this part of the tree are not browser tests; they're + documents intended for testing the behavior of conformance checkers + (e.g., validator.nu and the W3C Nu Markup Validator). + +

                                                                  +

                                                                  TK: We should have here some details about the contents of the + existing subdirectories in this tree... +

                                                                  + +

                                                                  Curious committers should see the makefile. + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/messages.json b/tests/wpt/web-platform-tests/conformance-checkers/messages.json new file mode 100644 index 00000000000..71c5f3ca5c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/messages.json @@ -0,0 +1,2403 @@ +{ + "html-rdfa/0019-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cdiv\u201d in this context.", + "html-rdfa/0035-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cimg\u201d in this context.", + "html-rdfa/0037-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cimg\u201d in this context.", + "html-rdfa/0039-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cimg\u201d in this context.", + "html-rdfa/0041-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cimg\u201d in this context.", + "html-rdfa/0079-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cp\u201d in this context.", + "html-rdfa/0085-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cp\u201d in this context.", + "html-rdfa/0109-novalid.html": "Attribute \u201cxml:base\u201d not allowed on element \u201chtml\u201d in this context.", + "html-rdfa/0131-novalid.html": "A numeric character reference expanded to carriage return.", + "html-rdfa/0147-novalid.html": "Attribute \u201cxmlns:xmlzzz\u201d not allowed here.", + "html-rdfa/0179-novalid.html": "Attribute \u201cxmlns:foaf\u201d not allowed here.", + "html-rdfa/0180-novalid.html": "Bad value \u201c: http://xmlns.com/foaf/0.1/\u201d for attribute \u201cprefix\u201d on element \u201cdiv\u201d.", + "html-rdfa/0183-novalid.html": "Attribute \u201cxmlns:foaf\u201d not allowed here.", + "html-rdfa/0222-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201cstrong\u201d.) Suppressing further errors from this subtree.", + "html-rdfa/0223-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201cstrong\u201d.) Suppressing further errors from this subtree.", + "html-rdfa/0226-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201cspan\u201d.) Suppressing further errors from this subtree.", + "html-rdfa/0227-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201cspan\u201d.) Suppressing further errors from this subtree.", + "html-rdfa/0230-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cimg\u201d in this context.", + "html-rdfa/0234-novalid.html": "Bad value \u201cdescribedby\u201d for attribute \u201crel\u201d on element \u201ca\u201d: Bad list of link-type keywords: The string \u201cdescribedby\u201d is not a registered keyword.", + "html-rdfa/0237-novalid.html": "Bad value \u201c$malformed http://example.com\u201d for attribute \u201cprefix\u201d on element \u201cbody\u201d.", + "html-rdfa/0258-novalid.html": "Attribute \u201cxmlns:_\u201d not allowed here.", + "html-rdfa/0280-novalid.html": "Bad value \u201cP2011Y06M28DT00H00M00S\u201d for attribute \u201cdatetime\u201d on element \u201ctime\u201d: Bad time-datetime: The literal did not satisfy the time-datetime format.", + "html-rdfa/0285-novalid.html": "Bad value \u201cD-Day\u201d for attribute \u201cdatetime\u201d on element \u201ctime\u201d: Bad time-datetime: The literal did not satisfy the time-datetime format.", + "html-rdfa/0303-novalid.html": "Bad value \u201chomepage foaf:homepage\u201d for attribute \u201crel\u201d on element \u201ca\u201d: Bad list of link-type keywords: The string \u201chomepage\u201d is not a registered keyword.", + "html-rdfa/0308-novalid.html": "Bad value \u201chttp://www.example.com/roles/somerole\u201d for attribute \u201crole\u201d on element \u201cdiv\u201d.", + "html-rdfa/0309-novalid.html": "Bad value \u201cex:somerole\u201d for attribute \u201crole\u201d on element \u201cdiv\u201d.", + "html-rdfa/0310-novalid.html": "Bad value \u201cex:somerole someOtherRole http://www.example.com/alternate/role\u201d for attribute \u201crole\u201d on element \u201cdiv\u201d.", + "html-rdfa/0314-novalid.html": "Bad value \u201csection\u201d for attribute \u201crole\u201d on element \u201cdiv\u201d.", + "html-rdfa/0319-novalid.html": "Attribute \u201cxmlns:xpr\u201d not allowed here.", + "html-rdfa/0320-novalid.html": "Attribute \u201csrc\u201d not allowed on element \u201ca\u201d in this context.", + "html-rdfalite/0015-novalid.html": "Bad value \u201cdc:source\u201d for attribute \u201crel\u201d on element \u201clink\u201d: Bad list of link-type keywords: The string \u201cdc:source\u201d is not a registered keyword.", + "html-rdfalite/0030-novalid.html": "Bad value \u201ccc:license\u201d for attribute \u201crel\u201d on element \u201ca\u201d: Bad list of link-type keywords: The string \u201ccc:license\u201d is not a registered keyword.", + "html-rdfalite/0071-novalid.html": "Bad value \u201ccc:license\u201d for attribute \u201crel\u201d on element \u201ca\u201d: Bad list of link-type keywords: The string \u201ccc:license\u201d is not a registered keyword.", + "html-rdfalite/0074-novalid.html": "Bad value \u201cdc:creator\u201d for attribute \u201crel\u201d on element \u201ca\u201d: Bad list of link-type keywords: The string \u201cdc:creator\u201d is not a registered keyword.", + "html-rdfalite/0147.novalid.html": "Attribute \u201cxmlns:xmlzzz\u201d not allowed here.", + "html-rdfalite/0319-novalid.html": "Attribute \u201cxmlns:xpr\u201d not allowed here.", + "html/attributes/accesskey/duplicate-key-labels-novalid.html": "Bad value \u201ca b \u306c c \u306c\u201d for attribute \u201caccesskey\u201d on element \u201ca\u201d: Bad key label list: Duplicate key label. Each key label must be unique.", + "html/attributes/accesskey/multi-character-key-label-novalid.html": "Bad value \u201ca b \u307b\u3052\u201d for attribute \u201caccesskey\u201d on element \u201ca\u201d: Bad key label list: Key label has multiple characters. Each key label must be a single character.", + "html/attributes/data/no-characters-after-hyphen-novalid.html": "Attribute \u201cdata-\u201d not allowed on element \u201cp\u201d in this context.", + "html/attributes/data/not-xml-serializable-novalid.html": "\u201cdata-*\u201d attribute names must be XML 1.0 4th ed. plus Namespaces NCNames.", + "html/attributes/lang/deprecated-tag-haswarn.html": "Bad value \u201cmo\u201d for attribute \u201clang\u201d on element \u201cbody\u201d: Bad language tag: The language subtag \u201cmo\u201d is deprecated. Use \u201cro\u201d instead.", + "html/attributes/lang/extlang-bad-novalid.html": "Bad value \u201cbat-smg\u201d for attribute \u201clang\u201d on element \u201cbody\u201d: Bad language tag: Bad extlang subtag \u201csmg\u201d.", + "html/attributes/lang/xmllang-different-value-novalid.html": "When the attribute \u201cxml:lang\u201d in no namespace is specified, the element must also have the attribute \u201clang\u201d present with the same value.", + "html/attributes/lang/xmllang-only-novalid.html": "When the attribute \u201cxml:lang\u201d in no namespace is specified, the element must also have the attribute \u201clang\u201d present with the same value.", + "html/attributes/role/unrecognized-role-name-novalid.html": "Discarding unrecognized tokens \u201cswitch\u201d, \u201cinput\u201d from value of attribute \u201crole\u201d. Browsers ignore any token that is not a defined ARIA non-abstract role.", + "html/attributes/spellcheck/value-bad-novalid.html": "Bad value \u201cbadvalue\u201d for attribute \u201cspellcheck\u201d on element \u201cp\u201d.", + "html/elements/a/href/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/a/href/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/a/href/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/a/href/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/a/href/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/a/href/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/a/href/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: empty host.", + "html/elements/a/href/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: empty host.", + "html/elements/a/href/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: empty host.", + "html/elements/a/href/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/a/href/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/a/href/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/a/href/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/a/href/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/a/href/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.", + "html/elements/a/href/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/a/href/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/a/href/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/a/href/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/a/href/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/a/href/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/a/href/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/a/href/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/a/href/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/a/href/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/a/href/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/a/href/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/a/href/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/a/href/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/a/href/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/a/href/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.", + "html/elements/a/href/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.", + "html/elements/a/href/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.", + "html/elements/a/href/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.", + "html/elements/a/href/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/a/href/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.", + "html/elements/a/href/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in port.", + "html/elements/a/href/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/a/href/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/a/href/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/a/href/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/a/href/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/a/href/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/a/href/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/a/href/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/a/href/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/a/href/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/a/href/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/a/href/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/a/href/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/a/href/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/a/href/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/a/href/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/a/href/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/a/href/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: syntax error", + "html/elements/a/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/a/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/a/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/a/href/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/a/href/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/a/href/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/a/href/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/a/href/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/a/href/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/a/media-novalid.html": "Attribute \u201cmedia\u201d not allowed on element \u201ca\u201d in this context.", + "html/elements/a/model-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201ca\u201d.) Suppressing further errors from this subtree.", + "html/elements/a/name-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cname\u201d on element \u201ca\u201d: Bad id: An ID must not be the empty string.", + "html/elements/abbr/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/address/model-novalid.html": "The element \u201caddress\u201d must not appear as a descendant of the \u201caddress\u201d element.", + "html/elements/area/href/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/area/href/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/area/href/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/area/href/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/area/href/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/area/href/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/area/href/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: empty host.", + "html/elements/area/href/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: empty host.", + "html/elements/area/href/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: empty host.", + "html/elements/area/href/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/area/href/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/area/href/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/area/href/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/area/href/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/area/href/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.", + "html/elements/area/href/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/area/href/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/area/href/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/area/href/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/area/href/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/area/href/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/area/href/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/area/href/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/area/href/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/area/href/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/area/href/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/area/href/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/area/href/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/area/href/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/area/href/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/area/href/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.", + "html/elements/area/href/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.", + "html/elements/area/href/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.", + "html/elements/area/href/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.", + "html/elements/area/href/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/area/href/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.", + "html/elements/area/href/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in port.", + "html/elements/area/href/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/area/href/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/area/href/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/area/href/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/area/href/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/area/href/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/area/href/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/area/href/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/area/href/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/area/href/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/area/href/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/area/href/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/area/href/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/area/href/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/area/href/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/area/href/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/area/href/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/area/href/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: syntax error", + "html/elements/area/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/area/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/area/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/area/href/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/area/href/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/area/href/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/area/href/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/area/href/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/area/href/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/area/media-novalid.html": "Attribute \u201cmedia\u201d not allowed on element \u201carea\u201d in this context.", + "html/elements/area/model-novalid.html": "Attribute \u201ccoords\u201d not allowed on element \u201carea\u201d in this context.", + "html/elements/audio/model-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201caudio\u201d.) Suppressing further errors from this subtree.", + "html/elements/audio/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Must be non-empty.", + "html/elements/audio/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Must be non-empty.", + "html/elements/audio/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/audio/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/audio/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/audio/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/audio/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/audio/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/audio/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: empty host.", + "html/elements/audio/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: empty host.", + "html/elements/audio/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: empty host.", + "html/elements/audio/src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/audio/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/audio/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/audio/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/audio/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/audio/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.", + "html/elements/audio/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/audio/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/audio/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/audio/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/audio/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/audio/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/audio/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/audio/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/audio/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/audio/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/audio/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/audio/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/audio/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/audio/src/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/audio/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/audio/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.", + "html/elements/audio/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.", + "html/elements/audio/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.", + "html/elements/audio/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.", + "html/elements/audio/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/audio/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.", + "html/elements/audio/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in port.", + "html/elements/audio/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/audio/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/audio/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/audio/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/audio/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/audio/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/audio/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/audio/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/audio/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/audio/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/audio/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/audio/src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/audio/src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/audio/src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/audio/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/audio/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/audio/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/audio/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: syntax error", + "html/elements/audio/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/audio/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/audio/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/audio/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/audio/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/audio/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/audio/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/audio/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/audio/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/base/href-and-target-missing-novalid.html": "Element \u201cbase\u201d is missing one or more of the following attributes: [href, target].", + "html/elements/base/href/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/base/href/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/base/href/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/base/href/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/base/href/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/base/href/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: empty host.", + "html/elements/base/href/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: empty host.", + "html/elements/base/href/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: empty host.", + "html/elements/base/href/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/base/href/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/base/href/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/base/href/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.", + "html/elements/base/href/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/base/href/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/base/href/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/base/href/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/base/href/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/base/href/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/base/href/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/base/href/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/base/href/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/base/href/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/base/href/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/base/href/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/base/href/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/base/href/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/base/href/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.", + "html/elements/base/href/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.", + "html/elements/base/href/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.", + "html/elements/base/href/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.", + "html/elements/base/href/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/base/href/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.", + "html/elements/base/href/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in port.", + "html/elements/base/href/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/base/href/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/base/href/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/base/href/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/base/href/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/base/href/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/base/href/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/base/href/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/base/href/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/base/href/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/base/href/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/base/href/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/base/href/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/base/href/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: syntax error", + "html/elements/base/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/base/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/base/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/base/href/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/base/href/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/base/href/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/base/href/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/bdo/model-novalid.html": "Element \u201cbdo\u201d must have attribute \u201cdir\u201d.", + "html/elements/blockquote/cite/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/blockquote/cite/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/blockquote/cite/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/blockquote/cite/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/blockquote/cite/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/blockquote/cite/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/blockquote/cite/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: empty host.", + "html/elements/blockquote/cite/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: empty host.", + "html/elements/blockquote/cite/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: empty host.", + "html/elements/blockquote/cite/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/blockquote/cite/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/blockquote/cite/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/blockquote/cite/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/blockquote/cite/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/blockquote/cite/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.", + "html/elements/blockquote/cite/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/blockquote/cite/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/blockquote/cite/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/blockquote/cite/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/blockquote/cite/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/blockquote/cite/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/blockquote/cite/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/blockquote/cite/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/blockquote/cite/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/blockquote/cite/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/blockquote/cite/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/blockquote/cite/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/blockquote/cite/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/blockquote/cite/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/blockquote/cite/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/blockquote/cite/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.", + "html/elements/blockquote/cite/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.", + "html/elements/blockquote/cite/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.", + "html/elements/blockquote/cite/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.", + "html/elements/blockquote/cite/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/blockquote/cite/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.", + "html/elements/blockquote/cite/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in port.", + "html/elements/blockquote/cite/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/blockquote/cite/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/blockquote/cite/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/blockquote/cite/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/blockquote/cite/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/blockquote/cite/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/blockquote/cite/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/blockquote/cite/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/blockquote/cite/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/blockquote/cite/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/blockquote/cite/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/blockquote/cite/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/blockquote/cite/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/blockquote/cite/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/blockquote/cite/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/blockquote/cite/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/blockquote/cite/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/blockquote/cite/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: syntax error", + "html/elements/blockquote/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/blockquote/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/blockquote/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/blockquote/cite/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/blockquote/cite/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/blockquote/cite/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/blockquote/cite/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/blockquote/cite/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/blockquote/cite/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/blockquote/model-novalid.html": "No \u201cp\u201d element in scope but a \u201cp\u201d end tag seen.", + "html/elements/br/model-novalid.html": "End tag \u201cbr\u201d.", + "html/elements/button/formaction-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Must be non-empty.", + "html/elements/button/formaction-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Must be non-empty.", + "html/elements/button/formaction/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/button/formaction/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/button/formaction/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/button/formaction/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/button/formaction/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/button/formaction/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: empty host.", + "html/elements/button/formaction/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: empty host.", + "html/elements/button/formaction/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: empty host.", + "html/elements/button/formaction/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/button/formaction/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/button/formaction/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/button/formaction/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.", + "html/elements/button/formaction/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/button/formaction/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/button/formaction/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/button/formaction/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/button/formaction/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/button/formaction/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/button/formaction/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/button/formaction/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/button/formaction/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/button/formaction/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/button/formaction/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/button/formaction/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.", + "html/elements/button/formaction/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.", + "html/elements/button/formaction/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.", + "html/elements/button/formaction/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.", + "html/elements/button/formaction/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/button/formaction/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.", + "html/elements/button/formaction/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in port.", + "html/elements/button/formaction/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/button/formaction/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/button/formaction/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/button/formaction/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/button/formaction/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/button/formaction/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/button/formaction/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/button/formaction/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/button/formaction/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/button/formaction/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/button/formaction/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/button/formaction/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/button/formaction/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/button/formaction/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: syntax error", + "html/elements/button/formaction/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/button/formaction/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/button/formaction/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/button/formaction/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/button/formaction/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/button/formaction/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/canvas/model-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201ccanvas\u201d.) Suppressing further errors from this subtree.", + "html/elements/cite/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/code/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/del/cite/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/del/cite/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/del/cite/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/del/cite/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/del/cite/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/del/cite/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/del/cite/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: empty host.", + "html/elements/del/cite/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: empty host.", + "html/elements/del/cite/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: empty host.", + "html/elements/del/cite/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/del/cite/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/del/cite/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/del/cite/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/del/cite/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/del/cite/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.", + "html/elements/del/cite/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/del/cite/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/del/cite/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/del/cite/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/del/cite/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/del/cite/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/del/cite/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/del/cite/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/del/cite/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/del/cite/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/del/cite/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/del/cite/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/del/cite/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/del/cite/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/del/cite/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/del/cite/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.", + "html/elements/del/cite/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.", + "html/elements/del/cite/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.", + "html/elements/del/cite/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.", + "html/elements/del/cite/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/del/cite/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.", + "html/elements/del/cite/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in port.", + "html/elements/del/cite/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/del/cite/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/del/cite/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/del/cite/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/del/cite/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/del/cite/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/del/cite/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/del/cite/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/del/cite/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/del/cite/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/del/cite/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/del/cite/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/del/cite/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/del/cite/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/del/cite/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/del/cite/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/del/cite/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/del/cite/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: syntax error", + "html/elements/del/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/del/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/del/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/del/cite/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/del/cite/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/del/cite/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/del/cite/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/del/cite/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/del/cite/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/del/date-0004-02-29-haswarn.html": "Bad value \u201c0004-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.", + "html/elements/del/date-0005-02-29-novalid.html": "Bad value \u201c0005-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-0214-09-29-haswarn.html": "Bad value \u201c0214-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.", + "html/elements/del/date-1900-02-29-novalid.html": "Bad value \u201c1900-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-1969-02-29-novalid.html": "Bad value \u201c1969-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-20014-09-29-haswarn.html": "Bad value \u201c20014-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.", + "html/elements/del/date-2014-02-29-novalid.html": "Bad value \u201c2014-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-2100-02-29-novalid.html": "Bad value \u201c2100-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-2200-02-29-novalid.html": "Bad value \u201c2200-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-day-01-32-novalid.html": "Bad value \u201c2002-01-32\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-day-03-32-novalid.html": "Bad value \u201c2002-03-32\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-day-04-31-novalid.html": "Bad value \u201c2002-04-31\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-day-05-32-novalid.html": "Bad value \u201c2002-05-32\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-day-06-31-novalid.html": "Bad value \u201c2002-06-31\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-day-07-32-novalid.html": "Bad value \u201c2002-07-32\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-day-08-32-novalid.html": "Bad value \u201c2002-08-32\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-day-09-31-novalid.html": "Bad value \u201c2002-09-31\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-day-10-32-novalid.html": "Bad value \u201c2002-10-32\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-day-11-31-novalid.html": "Bad value \u201c2002-11-31\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-day-12-32-novalid.html": "Bad value \u201c2002-12-32\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/del/date-day-missing-separator-novalid.html": "Bad value \u201c2014-0220\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-day-one-digit-novalid.html": "Bad value \u201c2002-09-9\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-day-three-digits-novalid.html": "Bad value \u201c2002-11-009\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-iso8601-YYYYMMDD-no-hyphen-novalid.html": "Bad value \u201c20020929\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-leading-bom-novalid.html": "Bad value \u201c\ufeff2002-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-leading-whitespace-novalid.html": "Bad value \u201c 2002-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-month-00-novalid.html": "Bad value \u201c2002-00-15\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad date: Month cannot be less than 1. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.", + "html/elements/del/date-month-13-novalid.html": "Bad value \u201c2002-13-15\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Month cannot be greater than 12.", + "html/elements/del/date-month-missing-separator-novalid.html": "Bad value \u201c201402-20\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-month-one-digit-novalid.html": "Bad value \u201c2002-9-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-month-three-digits-novalid.html": "Bad value \u201c2002-011-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-non-ascii-digit-novalid.html": "Bad value \u201c2002-09-2\uff19\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-trailing-U+0000-novalid.html": "Character reference expands to zero.", + "html/elements/del/date-trailing-pile-of-poo-novalid.html": "Bad value \u201c2002-09-29\ud83d\udca9\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-trailing-whitespace-novalid.html": "Bad value \u201c2002-09-29 \u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-wrong-day-separator-novalid.html": "Bad value \u201c2014-02:20\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-wrong-month-separator-novalid.html": "Bad value \u201c2014:02-20\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-year-0000-novalid.html": "Bad value \u201c0000-12-09\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Year cannot be less than 1.", + "html/elements/del/date-year-five-digits-haswarn.html": "Bad value \u201c12014-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.", + "html/elements/del/date-year-negative-novalid.html": "Bad value \u201c-2002-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/date-year-three-digits-novalid.html": "Bad value \u201c782-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/duration-P-form-novalid.html": "Bad value \u201cPT4H18M3S\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/duration-time-component-novalid.html": "Bad value \u201c4h 18m 3s\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-2400-novalid.html": "Bad value \u201c2011-11-12T24:00:00+08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: Hour cannot be greater than 23. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-60-minutes-novalid.html": "Bad value \u201c2011-11-12T00:60:00+08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: Minute cannot be greater than 59. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-60-seconds-novalid.html": "Bad value \u201c2011-11-12T00:00:60+08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: Second cannot be greater than 59. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-bad-fraction-separator-novalid.html": "Bad value \u201c2011-11-12T14:54:39,929+0000\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-four-digit-fraction-novalid.html": "Bad value \u201c2011-11-12T06:54:39.9291-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad date: The literal did not satisfy the date format. Bad datetime with timezone: A fraction of a second must be one, two, or three digits.", + "html/elements/del/global-date-and-time-hour-one-digit-novalid.html": "Bad value \u201c2011-11-12T6:54:39-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-hour-three-digits-novalid.html": "Bad value \u201c2011-11-12T016:54:39-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-iso8601-hh-novalid.html": "Bad value \u201c2011-11-12T14Z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-iso8601-hhmm-no-colon-novalid.html": "Bad value \u201c2011-11-12T1454Z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html": "Bad value \u201c2011-11-12T145439Z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-lowercase-z-novalid.html": "Bad value \u201c2011-11-12T14:54z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-minutes-one-digit-novalid.html": "Bad value \u201c2011-11-12T16:4:39-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-minutes-three-digits-novalid.html": "Bad value \u201c2011-11-12T16:354:39-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-missing-minutes-separator-novalid.html": "Bad value \u201c2011-11-12T1454Z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-missing-seconds-separator-novalid.html": "Bad value \u201c2011-11-12T14:5439Z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-nbsp-novalid.html": "Bad value \u201c2011-11-12\u00a014:54Z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-seconds-one-digit-novalid.html": "Bad value \u201c2011-11-12T16:54:9-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-seconds-three-digits-novalid.html": "Bad value \u201c2011-11-12T16:54:039-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-space-before-timezone-novalid.html": "Bad value \u201c2011-11-12T06:54:39 08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-60-minutes-novalid.html": "Bad value \u201c2011-11-12T06:54:39-08:60\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad date: The literal did not satisfy the date format. Bad datetime with timezone: Minutes out of range in time zone designator.", + "html/elements/del/global-date-and-time-timezone-iso8601-two-digit-novalid.html": "Bad value \u201c2011-11-12T06:54:39-08\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-lowercase-t-novalid.html": "Bad value \u201c2011-11-12t14:54Z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-minus-1300-haswarn.html": "Bad value \u201c2011-11-12T00:00:00-1300\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: Hours in time zone designator should be from \u201c-12:00\u201d to \u201d+14:00\u201d Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-minus-2400-novalid.html": "Bad value \u201c2011-11-12T06:54:39-24:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: Hours out of range in time zone designator. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-minutes-15-haswarn.html": "Bad value \u201c2011-11-12T00:00:00+08:15\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: Minutes in time zone designator should be either \u201c00\u201d, \u201c30\u201d, or \u201c45\u201d. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-multiple-spaces-novalid.html": "Bad value \u201c2011-11-12 14:54Z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-non-T-character-novalid.html": "Bad value \u201c2011-11-12+14:54Z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-offset-colon-start-novalid.html": "Bad value \u201c2011-11-12T06:54:39.929:08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-offset-space-start-novalid.html": "Bad value \u201c2011-11-12T06:54:39.929 08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-one-digit-hour-novalid.html": "Bad value \u201c2011-11-12T06:54:39-5:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-one-digit-minute-novalid.html": "Bad value \u201c2011-11-12T06:54:39-05:0\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-plus-1500-haswarn.html": "Bad value \u201c2011-11-12T00:00:00+1500\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: Hours in time zone designator should be from \u201c-12:00\u201d to \u201d+14:00\u201d Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-plus-2400-novalid.html": "Bad value \u201c2011-11-12T06:54:39-24:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: Hours out of range in time zone designator. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-three-digit-hour-novalid.html": "Bad value \u201c2011-11-12T06:54:39-005:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-three-digit-minute-novalid.html": "Bad value \u201c2011-11-12T06:54:39-05:000\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-timezone-with-seconds-novalid.html": "Bad value \u201c2011-11-12T06:54:39-08:00:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-with-both-T-and-space-novalid.html": "Bad value \u201c2011-11-12T 14:54Z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-wrong-minutes-separator-novalid.html": "Bad value \u201c2011-11-12T14-54Z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-wrong-seconds-separator-novalid.html": "Bad value \u201c2011-11-12T14:54-39Z\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/global-date-and-time-zero-digit-fraction-novalid.html": "Bad value \u201c2011-11-12T06:54:39.-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/local-date-and-time-novalid.html": "Bad value \u201c2011-11-12T14:54\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/del/month-novalid.html": "Bad value \u201c2011-11\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/time-novalid.html": "Bad value \u201c14:54:39\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/week-novalid.html": "Bad value \u201c2011-W46\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/year-novalid.html": "Bad value \u201c2006\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/del/yearless-date-novalid.html": "Bad value \u201c07-15\u201d for attribute \u201cdatetime\u201d on element \u201cdel\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/dfn/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/dialog/model-novalid.html": "Element \u201cdt\u201d not allowed in this context. (The parent was element \u201cdialog\u201d.) Suppressing further errors from this subtree.", + "html/elements/div/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/dl/model-novalid.html": "Duplicate ID \u201cid\u201d.", + "html/elements/em/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/embed/height-novalid.html": "Bad value \u201c20%\u201d for attribute \u201cheight\u201d on element \u201cembed\u201d: Bad non-negative integer: Expected a digit but saw \u201c%\u201d instead.", + "html/elements/embed/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Must be non-empty.", + "html/elements/embed/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Must be non-empty.", + "html/elements/embed/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/embed/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/embed/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/embed/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/embed/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/embed/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/embed/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: empty host.", + "html/elements/embed/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: empty host.", + "html/elements/embed/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: empty host.", + "html/elements/embed/src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/embed/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/embed/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/embed/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/embed/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/embed/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.", + "html/elements/embed/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/embed/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/embed/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/embed/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/embed/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/embed/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/embed/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/embed/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/embed/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/embed/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/embed/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/embed/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/embed/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/embed/src/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/embed/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/embed/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.", + "html/elements/embed/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.", + "html/elements/embed/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.", + "html/elements/embed/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.", + "html/elements/embed/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/embed/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.", + "html/elements/embed/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in port.", + "html/elements/embed/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/embed/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/embed/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/embed/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/embed/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/embed/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/embed/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/embed/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/embed/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/embed/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/embed/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/embed/src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/embed/src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/embed/src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/embed/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/embed/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/embed/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/embed/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: syntax error", + "html/elements/embed/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/embed/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/embed/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/embed/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/embed/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/embed/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/embed/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/embed/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/embed/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/embed/type-novalid.html": "Bad value \u201cfoo\u201d for attribute \u201ctype\u201d on element \u201cembed\u201d: Bad MIME type: Subtype missing.", + "html/elements/embed/width-novalid.html": "Bad value \u201c20%\u201d for attribute \u201cwidth\u201d on element \u201cembed\u201d: Bad non-negative integer: Expected a digit but saw \u201c%\u201d instead.", + "html/elements/footer/nested-footer-novalid.html": "The element \u201cfooter\u201d must not appear as a descendant of the \u201cfooter\u201d element.", + "html/elements/footer/nested-header-novalid.html": "The element \u201cheader\u201d must not appear as a descendant of the \u201cfooter\u201d element.", + "html/elements/form/action-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Must be non-empty.", + "html/elements/form/action-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Must be non-empty.", + "html/elements/form/action/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/form/action/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/form/action/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/form/action/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/form/action/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/form/action/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/form/action/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: empty host.", + "html/elements/form/action/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: empty host.", + "html/elements/form/action/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: empty host.", + "html/elements/form/action/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/form/action/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/form/action/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/form/action/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/form/action/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/form/action/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.", + "html/elements/form/action/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/form/action/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/form/action/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/form/action/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/form/action/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/form/action/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/form/action/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/form/action/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/form/action/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/form/action/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/form/action/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/form/action/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/form/action/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/form/action/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/form/action/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/form/action/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.", + "html/elements/form/action/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.", + "html/elements/form/action/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.", + "html/elements/form/action/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.", + "html/elements/form/action/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/form/action/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.", + "html/elements/form/action/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in port.", + "html/elements/form/action/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/form/action/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/form/action/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/form/action/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/form/action/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/form/action/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/form/action/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/form/action/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/form/action/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/form/action/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/form/action/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/form/action/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/form/action/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/form/action/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/form/action/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/form/action/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/form/action/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/form/action/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: syntax error", + "html/elements/form/action/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/form/action/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/form/action/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/form/action/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/form/action/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/form/action/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/form/action/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/form/action/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/form/action/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/h1/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/h2/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/h3/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/h4/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/h5/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/h6/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/header/nested-footer-novalid.html": "The element \u201cfooter\u201d must not appear as a descendant of the \u201cheader\u201d element.", + "html/elements/header/nested-header-novalid.html": "The element \u201cheader\u201d must not appear as a descendant of the \u201cheader\u201d element.", + "html/elements/hr/model-novalid.html": "No \u201cp\u201d element in scope but a \u201cp\u201d end tag seen.", + "html/elements/html/manifest-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Must be non-empty.", + "html/elements/html/manifest-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Must be non-empty.", + "html/elements/html/manifest/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/html/manifest/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/html/manifest/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/html/manifest/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/html/manifest/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/html/manifest/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/html/manifest/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: empty host.", + "html/elements/html/manifest/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: empty host.", + "html/elements/html/manifest/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: empty host.", + "html/elements/html/manifest/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/html/manifest/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/html/manifest/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/html/manifest/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/html/manifest/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/html/manifest/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.", + "html/elements/html/manifest/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/html/manifest/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/html/manifest/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/html/manifest/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/html/manifest/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/html/manifest/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/html/manifest/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/html/manifest/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/html/manifest/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/html/manifest/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/html/manifest/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/html/manifest/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/html/manifest/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/html/manifest/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/html/manifest/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/html/manifest/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.", + "html/elements/html/manifest/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.", + "html/elements/html/manifest/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.", + "html/elements/html/manifest/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.", + "html/elements/html/manifest/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/html/manifest/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.", + "html/elements/html/manifest/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in port.", + "html/elements/html/manifest/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/html/manifest/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/html/manifest/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/html/manifest/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/html/manifest/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/html/manifest/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/html/manifest/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/html/manifest/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/html/manifest/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/html/manifest/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/html/manifest/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/html/manifest/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/html/manifest/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/html/manifest/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/html/manifest/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/html/manifest/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/html/manifest/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/html/manifest/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: syntax error", + "html/elements/html/manifest/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/html/manifest/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/html/manifest/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/html/manifest/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/html/manifest/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/html/manifest/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/html/manifest/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/html/manifest/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/html/manifest/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cmanifest\u201d on element \u201chtml\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/i/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/iframe/model-novalid.html": "The \u201cframeborder\u201d attribute on the \u201ciframe\u201d element is obsolete. Use CSS instead.", + "html/elements/iframe/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Must be non-empty.", + "html/elements/iframe/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Must be non-empty.", + "html/elements/iframe/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/iframe/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/iframe/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/iframe/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/iframe/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/iframe/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/iframe/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: empty host.", + "html/elements/iframe/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: empty host.", + "html/elements/iframe/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: empty host.", + "html/elements/iframe/src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/iframe/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/iframe/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/iframe/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/iframe/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/iframe/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.", + "html/elements/iframe/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/iframe/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/iframe/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/iframe/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/iframe/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/iframe/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/iframe/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/iframe/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/iframe/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/iframe/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/iframe/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/iframe/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/iframe/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/iframe/src/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/iframe/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/iframe/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.", + "html/elements/iframe/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.", + "html/elements/iframe/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.", + "html/elements/iframe/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.", + "html/elements/iframe/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/iframe/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.", + "html/elements/iframe/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in port.", + "html/elements/iframe/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/iframe/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/iframe/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/iframe/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/iframe/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/iframe/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/iframe/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/iframe/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/iframe/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/iframe/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/iframe/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/iframe/src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/iframe/src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/iframe/src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/iframe/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/iframe/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/iframe/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/iframe/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: syntax error", + "html/elements/iframe/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/iframe/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/iframe/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/iframe/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/iframe/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/iframe/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/iframe/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/iframe/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/iframe/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/img/model-novalid.html": "Bad value \u201curl\u201d for attribute \u201cusemap\u201d on element \u201cimg\u201d: Bad hash-name reference: A hash-name reference must start with \u201c#\u201d.", + "html/elements/img/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Must be non-empty.", + "html/elements/img/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Must be non-empty.", + "html/elements/img/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/img/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/img/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/img/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/img/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/img/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: empty host.", + "html/elements/img/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: empty host.", + "html/elements/img/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: empty host.", + "html/elements/img/src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/img/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/img/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/img/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/img/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.", + "html/elements/img/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/img/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/img/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/img/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/img/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/img/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/img/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/img/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/img/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/img/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/img/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/img/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/img/src/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/img/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/img/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.", + "html/elements/img/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.", + "html/elements/img/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.", + "html/elements/img/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.", + "html/elements/img/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/img/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.", + "html/elements/img/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in port.", + "html/elements/img/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/img/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/img/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/img/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/img/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/img/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/img/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/img/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/img/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/img/src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/img/src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/img/src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/img/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/img/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/img/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/img/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: syntax error", + "html/elements/img/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/img/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/img/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/img/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/img/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/img/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/img/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/img/usemap-bad-value-novalid.html": "Bad value \u201c#\u201d for attribute \u201cusemap\u201d on element \u201cimg\u201d: Bad hash-name reference: A hash-name reference must have at least one character after \u201c#\u201d.", + "html/elements/img/width-height-negative-novalid.html": "Bad value \u201c-1\u201d for attribute \u201cwidth\u201d on element \u201cimg\u201d: Bad non-negative integer: Expected a digit but saw \u201c-\u201d instead.", + "html/elements/input/list-novalid.html": "The \u201clist\u201d attribute of the \u201cinput\u201d element must refer to a \u201cdatalist\u201d element.", + "html/elements/input/pattern-asterisk-novalid.html": "Bad value \u201c*\u201d for attribute \u201cpattern\u201d on element \u201cinput\u201d: Bad pattern: Invalid quantifier *", + "html/elements/input/pattern-paren-novalid.html": "Bad value \u201c(\u201d for attribute \u201cpattern\u201d on element \u201cinput\u201d: Bad pattern: Unterminated parenthetical ", + "html/elements/input/type-image-formaction-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Must be non-empty.", + "html/elements/input/type-image-formaction-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Must be non-empty.", + "html/elements/input/type-image-formaction/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-image-formaction/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-image-formaction/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-image-formaction/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.", + "html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.", + "html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.", + "html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/input/type-image-formaction/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-formaction/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-formaction/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/input/type-image-formaction/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-image-formaction/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-formaction/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-formaction/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-formaction/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/input/type-image-formaction/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-formaction/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-formaction/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-formaction/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-formaction/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-formaction/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-formaction/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-formaction/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-formaction/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/input/type-image-formaction/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-formaction/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-formaction/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-formaction/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-formaction/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: syntax error", + "html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-image-formaction/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-image-src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Must be non-empty.", + "html/elements/input/type-image-src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Must be non-empty.", + "html/elements/input/type-image-src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-image-src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-image-src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-image-src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-image-src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-image-src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.", + "html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.", + "html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.", + "html/elements/input/type-image-src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/input/type-image-src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/input/type-image-src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-image-src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-image-src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/input/type-image-src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-image-src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/input/type-image-src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-src/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/input/type-image-src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-image-src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-image-src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/input/type-image-src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/input/type-image-src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/input/type-image-src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-image-src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: syntax error", + "html/elements/input/type-image-src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-image-src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-image-src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-image-src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-image-src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-submit-formaction-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Must be non-empty.", + "html/elements/input/type-submit-formaction-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Must be non-empty.", + "html/elements/input/type-submit-formaction/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-submit-formaction/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-submit-formaction/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-submit-formaction/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-submit-formaction/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-submit-formaction/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-submit-formaction/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.", + "html/elements/input/type-submit-formaction/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.", + "html/elements/input/type-submit-formaction/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: empty host.", + "html/elements/input/type-submit-formaction/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/input/type-submit-formaction/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/input/type-submit-formaction/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-submit-formaction/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/input/type-submit-formaction/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-submit-formaction/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-submit-formaction/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-submit-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-submit-formaction/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/input/type-submit-formaction/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-submit-formaction/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-submit-formaction/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-submit-formaction/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-submit-formaction/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-submit-formaction/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/input/type-submit-formaction/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-submit-formaction/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-submit-formaction/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-submit-formaction/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/input/type-submit-formaction/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-submit-formaction/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-submit-formaction/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-submit-formaction/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-submit-formaction/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-submit-formaction/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-submit-formaction/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-submit-formaction/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in port.", + "html/elements/input/type-submit-formaction/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/input/type-submit-formaction/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/input/type-submit-formaction/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/input/type-submit-formaction/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/input/type-submit-formaction/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/input/type-submit-formaction/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-submit-formaction/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-submit-formaction/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-submit-formaction/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-submit-formaction/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-submit-formaction/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-submit-formaction/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/input/type-submit-formaction/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: syntax error", + "html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-url-value/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c#\\\u201d is not an absolute URL.", + "html/elements/input/type-url-value/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html": "Bad value \u201c#\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c#\u201d is not an absolute URL.", + "html/elements/input/type-url-value/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in fragment: not a URL code point.", + "html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html": "Bad value \u201c#\u03b2\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c#\u03b2\u201d is not an absolute URL.", + "html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html": "Bad value \u201c#;?\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c#;?\u201d is not an absolute URL.", + "html/elements/input/type-url-value/fragment-slash-relative-novalid.html": "Bad value \u201c#/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c#/\u201d is not an absolute URL.", + "html/elements/input/type-url-value/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", + "html/elements/input/type-url-value/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-url-value/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: empty host.", + "html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: empty host.", + "html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: empty host.", + "html/elements/input/type-url-value/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Illegal character.", + "html/elements/input/type-url-value/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/input/type-url-value/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", + "html/elements/input/type-url-value/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: .", + "html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", + "html/elements/input/type-url-value/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", + "html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", + "html/elements/input/type-url-value/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/input/type-url-value/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c/a/ /c\u201d is not an absolute URL.", + "html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c:\\\u201d is not an absolute URL.", + "html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c:foo.com\\\u201d is not an absolute URL.", + "html/elements/input/type-url-value/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html": "Bad value \u201c/a/%2f/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c/a/%2f/c\u201d is not an absolute URL.", + "html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html": "Bad value \u201c/a%2fc\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c/a%2fc\u201d is not an absolute URL.", + "html/elements/input/type-url-value/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c[61:24:74]:98\u201d is not an absolute URL.", + "html/elements/input/type-url-value/path-simple-relative-novalid.html": "Bad value \u201c/a/b/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c/a/b/c\u201d is not an absolute URL.", + "html/elements/input/type-url-value/path-slash-only-relative-novalid.html": "Bad value \u201c/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c/\u201d is not an absolute URL.", + "html/elements/input/type-url-value/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", + "html/elements/input/type-url-value/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-url-value/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/input/type-url-value/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", + "html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", + "html/elements/input/type-url-value/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", + "html/elements/input/type-url-value/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", + "html/elements/input/type-url-value/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", + "html/elements/input/type-url-value/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", + "html/elements/input/type-url-value/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", + "html/elements/input/type-url-value/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in port.", + "html/elements/input/type-url-value/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Tab, new line or carriage return found.", + "html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html": "Bad value \u201c?\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c?\u201d is not an absolute URL.", + "html/elements/input/type-url-value/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in query: not a URL code point.", + "html/elements/input/type-url-value/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in query: not a URL code point.", + "html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/input/type-url-value/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/input/type-url-value/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in path segment: not a URL code point.", + "html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/elements/input/type-url-value/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/elements/input/type-url-value/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/elements/input/type-url-value/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/elements/input/type-url-value/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/elements/input/type-url-value/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/elements/input/type-url-value/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/elements/input/type-url-value/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/elements/input/type-url-value/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: syntax error", + "html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html": "Bad value \u201c//foo/bar\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c//foo/bar\u201d is not an absolute URL.", + "html/elements/input/type-url-value/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-url-value/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-url-value/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-url-value/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: not a URL code point.", + "html/elements/input/type-url-value/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in user or password: not a URL code point.", + "html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in user or password: not a URL code point.", + "html/elements/ins/cite/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/ins/cite/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/ins/cite/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/ins/cite/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/ins/cite/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/ins/cite/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/ins/cite/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: empty host.", + "html/elements/ins/cite/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: empty host.", + "html/elements/ins/cite/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: empty host.", + "html/elements/ins/cite/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/ins/cite/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/ins/cite/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/ins/cite/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/ins/cite/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/ins/cite/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", + "html/elements/ins/cite/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/ins/cite/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/ins/cite/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/ins/cite/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/ins/cite/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/ins/cite/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/ins/cite/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/ins/cite/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/ins/cite/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/ins/cite/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/ins/cite/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/ins/cite/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/ins/cite/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/ins/cite/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/ins/cite/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/ins/cite/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", + "html/elements/ins/cite/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", + "html/elements/ins/cite/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", + "html/elements/ins/cite/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", + "html/elements/ins/cite/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/ins/cite/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", + "html/elements/ins/cite/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in port.", + "html/elements/ins/cite/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/ins/cite/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/ins/cite/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/ins/cite/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/ins/cite/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/ins/cite/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/ins/cite/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/ins/cite/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/ins/cite/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/ins/cite/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/ins/cite/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/ins/cite/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/ins/cite/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/ins/cite/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/ins/cite/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/ins/cite/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/ins/cite/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/ins/cite/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: syntax error", + "html/elements/ins/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/ins/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/ins/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/ins/cite/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/ins/cite/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/ins/cite/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/ins/cite/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/ins/cite/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/ins/cite/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/ins/date-0004-02-29-haswarn.html": "Bad value \u201c0004-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.", + "html/elements/ins/date-0005-02-29-novalid.html": "Bad value \u201c0005-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-0214-09-29-haswarn.html": "Bad value \u201c0214-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.", + "html/elements/ins/date-1900-02-29-novalid.html": "Bad value \u201c1900-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-1969-02-29-novalid.html": "Bad value \u201c1969-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-20014-09-29-haswarn.html": "Bad value \u201c20014-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.", + "html/elements/ins/date-2014-02-29-novalid.html": "Bad value \u201c2014-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-2100-02-29-novalid.html": "Bad value \u201c2100-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-2200-02-29-novalid.html": "Bad value \u201c2200-02-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-day-01-32-novalid.html": "Bad value \u201c2002-01-32\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-day-03-32-novalid.html": "Bad value \u201c2002-03-32\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-day-04-31-novalid.html": "Bad value \u201c2002-04-31\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-day-05-32-novalid.html": "Bad value \u201c2002-05-32\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-day-06-31-novalid.html": "Bad value \u201c2002-06-31\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-day-07-32-novalid.html": "Bad value \u201c2002-07-32\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-day-08-32-novalid.html": "Bad value \u201c2002-08-32\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-day-09-31-novalid.html": "Bad value \u201c2002-09-31\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-day-10-32-novalid.html": "Bad value \u201c2002-10-32\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-day-11-31-novalid.html": "Bad value \u201c2002-11-31\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-day-12-32-novalid.html": "Bad value \u201c2002-12-32\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Day out of range.", + "html/elements/ins/date-day-missing-separator-novalid.html": "Bad value \u201c2014-0220\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-day-one-digit-novalid.html": "Bad value \u201c2002-09-9\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-day-three-digits-novalid.html": "Bad value \u201c2002-11-009\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-iso8601-YYYYMMDD-no-hyphen-novalid.html": "Bad value \u201c20020929\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-leading-bom-novalid.html": "Bad value \u201c\ufeff2002-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-leading-whitespace-novalid.html": "Bad value \u201c 2002-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-month-00-novalid.html": "Bad value \u201c2002-00-15\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad date: Month cannot be less than 1. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.", + "html/elements/ins/date-month-13-novalid.html": "Bad value \u201c2002-13-15\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Month cannot be greater than 12.", + "html/elements/ins/date-month-missing-separator-novalid.html": "Bad value \u201c201402-20\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-month-one-digit-novalid.html": "Bad value \u201c2002-9-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-month-three-digits-novalid.html": "Bad value \u201c2002-011-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-non-ascii-digit-novalid.html": "Bad value \u201c2002-09-2\uff19\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-trailing-U+0000-novalid.html": "Character reference expands to zero.", + "html/elements/ins/date-trailing-pile-of-poo-novalid.html": "Bad value \u201c2002-09-29\ud83d\udca9\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-trailing-whitespace-novalid.html": "Bad value \u201c2002-09-29 \u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-wrong-day-separator-novalid.html": "Bad value \u201c2014-02:20\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-wrong-month-separator-novalid.html": "Bad value \u201c2014:02-20\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-year-0000-novalid.html": "Bad value \u201c0000-12-09\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: Year cannot be less than 1.", + "html/elements/ins/date-year-five-digits-haswarn.html": "Bad value \u201c12014-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad date: Year may be mistyped. Bad datetime with timezone: The literal did not satisfy the datetime with timezone format.", + "html/elements/ins/date-year-negative-novalid.html": "Bad value \u201c-2002-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/date-year-three-digits-novalid.html": "Bad value \u201c782-09-29\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/duration-P-form-novalid.html": "Bad value \u201cPT4H18M3S\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/duration-time-component-novalid.html": "Bad value \u201c4h 18m 3s\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-2400-novalid.html": "Bad value \u201c2011-11-12T24:00:00+08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: Hour cannot be greater than 23. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-60-minutes-novalid.html": "Bad value \u201c2011-11-12T00:60:00+08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: Minute cannot be greater than 59. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-60-seconds-novalid.html": "Bad value \u201c2011-11-12T00:00:60+08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: Second cannot be greater than 59. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-bad-fraction-separator-novalid.html": "Bad value \u201c2011-11-12T14:54:39,929+0000\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-four-digit-fraction-novalid.html": "Bad value \u201c2011-11-12T06:54:39.9291-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad date: The literal did not satisfy the date format. Bad datetime with timezone: A fraction of a second must be one, two, or three digits.", + "html/elements/ins/global-date-and-time-hour-one-digit-novalid.html": "Bad value \u201c2011-11-12T6:54:39-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-hour-three-digits-novalid.html": "Bad value \u201c2011-11-12T016:54:39-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-iso8601-hh-novalid.html": "Bad value \u201c2011-11-12T14Z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-iso8601-hhmm-no-colon-novalid.html": "Bad value \u201c2011-11-12T1454Z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html": "Bad value \u201c2011-11-12T145439Z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-lowercase-z-novalid.html": "Bad value \u201c2011-11-12T14:54z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-minutes-one-digit-novalid.html": "Bad value \u201c2011-11-12T16:4:39-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-minutes-three-digits-novalid.html": "Bad value \u201c2011-11-12T16:354:39-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-missing-minutes-separator-novalid.html": "Bad value \u201c2011-11-12T1454Z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-missing-seconds-separator-novalid.html": "Bad value \u201c2011-11-12T14:5439Z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-nbsp-novalid.html": "Bad value \u201c2011-11-12\u00a014:54Z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-seconds-one-digit-novalid.html": "Bad value \u201c2011-11-12T16:54:9-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-seconds-three-digits-novalid.html": "Bad value \u201c2011-11-12T16:54:039-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-space-before-timezone-novalid.html": "Bad value \u201c2011-11-12T06:54:39 08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-60-minutes-novalid.html": "Bad value \u201c2011-11-12T06:54:39-08:60\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad date: The literal did not satisfy the date format. Bad datetime with timezone: Minutes out of range in time zone designator.", + "html/elements/ins/global-date-and-time-timezone-iso8601-two-digit-novalid.html": "Bad value \u201c2011-11-12T06:54:39-08\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-lowercase-t-novalid.html": "Bad value \u201c2011-11-12t14:54Z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-minus-1300-haswarn.html": "Bad value \u201c2011-11-12T00:00:00-1300\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: Hours in time zone designator should be from \u201c-12:00\u201d to \u201d+14:00\u201d Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-minus-2400-novalid.html": "Bad value \u201c2011-11-12T06:54:39-24:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: Hours out of range in time zone designator. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-minutes-15-haswarn.html": "Bad value \u201c2011-11-12T00:00:00+08:15\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: Minutes in time zone designator should be either \u201c00\u201d, \u201c30\u201d, or \u201c45\u201d. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-multiple-spaces-novalid.html": "Bad value \u201c2011-11-12 14:54Z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-non-T-character-novalid.html": "Bad value \u201c2011-11-12+14:54Z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-offset-colon-start-novalid.html": "Bad value \u201c2011-11-12T06:54:39.929:08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-offset-space-start-novalid.html": "Bad value \u201c2011-11-12T06:54:39.929 08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-one-digit-hour-novalid.html": "Bad value \u201c2011-11-12T06:54:39-5:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-one-digit-minute-novalid.html": "Bad value \u201c2011-11-12T06:54:39-05:0\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-plus-1500-haswarn.html": "Bad value \u201c2011-11-12T00:00:00+1500\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: Hours in time zone designator should be from \u201c-12:00\u201d to \u201d+14:00\u201d Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-plus-2400-novalid.html": "Bad value \u201c2011-11-12T06:54:39-24:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: Hours out of range in time zone designator. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-three-digit-hour-novalid.html": "Bad value \u201c2011-11-12T06:54:39-005:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-three-digit-minute-novalid.html": "Bad value \u201c2011-11-12T06:54:39-05:000\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-timezone-with-seconds-novalid.html": "Bad value \u201c2011-11-12T06:54:39-08:00:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-with-both-T-and-space-novalid.html": "Bad value \u201c2011-11-12T 14:54Z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-wrong-minutes-separator-novalid.html": "Bad value \u201c2011-11-12T14-54Z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-wrong-seconds-separator-novalid.html": "Bad value \u201c2011-11-12T14:54-39Z\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/global-date-and-time-zero-digit-fraction-novalid.html": "Bad value \u201c2011-11-12T06:54:39.-08:00\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/local-date-and-time-novalid.html": "Bad value \u201c2011-11-12T14:54\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/ins/month-novalid.html": "Bad value \u201c2011-11\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/time-novalid.html": "Bad value \u201c14:54:39\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/week-novalid.html": "Bad value \u201c2011-W46\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/year-novalid.html": "Bad value \u201c2006\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/ins/yearless-date-novalid.html": "Bad value \u201c07-15\u201d for attribute \u201cdatetime\u201d on element \u201cins\u201d: Bad datetime with timezone: The literal did not satisfy the datetime with timezone format. Bad date: The literal did not satisfy the date format.", + "html/elements/kbd/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/keygen/id-bad-novalid.html": "Any \u201ckeygen\u201d descendant of a \u201clabel\u201d element with a \u201cfor\u201d attribute must have an ID value that matches that \u201cfor\u201d attribute.", + "html/elements/keygen/id-missing-novalid.html": "Any \u201ckeygen\u201d descendant of a \u201clabel\u201d element with a \u201cfor\u201d attribute must have an ID value that matches that \u201cfor\u201d attribute.", + "html/elements/keygen/id-redundant-novalid.html": "The \u201clabel\u201d element may contain at most one \u201cinput\u201d, \u201cbutton\u201d, \u201cselect\u201d, \u201ctextarea\u201d, or \u201ckeygen\u201d descendant.", + "html/elements/keygen/keytype-bad-value-novalid.html": "Bad value \u201cdsa\u201d for attribute \u201ckeytype\u201d on element \u201ckeygen\u201d.", + "html/elements/keygen/keytype-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201ckeytype\u201d on element \u201ckeygen\u201d.", + "html/elements/keygen/model-novalid.html": "The element \u201ckeygen\u201d must not appear as a descendant of the \u201ca\u201d element.", + "html/elements/keygen/non-void-novalid.html": "Stray end tag \u201ckeygen\u201d.", + "html/elements/label/for-descendant-no-id-novalid.html": "Any \u201cinput\u201d descendant of a \u201clabel\u201d element with a \u201cfor\u201d attribute must have an ID value that matches that \u201cfor\u201d attribute.", + "html/elements/label/multiple-descendants-novalid.html": "The \u201clabel\u201d element may contain at most one \u201cinput\u201d, \u201cbutton\u201d, \u201cselect\u201d, \u201ctextarea\u201d, or \u201ckeygen\u201d descendant.", + "html/elements/link/href-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Must be non-empty.", + "html/elements/link/href-missing-novalid.html": "Element \u201clink\u201d is missing required attribute \u201chref\u201d.", + "html/elements/link/href-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Must be non-empty.", + "html/elements/link/href/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/link/href/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/link/href/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/link/href/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/link/href/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/link/href/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/link/href/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: empty host.", + "html/elements/link/href/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: empty host.", + "html/elements/link/href/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: empty host.", + "html/elements/link/href/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/link/href/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/link/href/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/link/href/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/link/href/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", + "html/elements/link/href/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/link/href/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/link/href/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/link/href/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/link/href/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/link/href/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/link/href/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/link/href/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/link/href/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/link/href/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/link/href/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/link/href/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/link/href/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/link/href/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/link/href/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/link/href/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", + "html/elements/link/href/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", + "html/elements/link/href/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", + "html/elements/link/href/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", + "html/elements/link/href/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/link/href/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", + "html/elements/link/href/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in port.", + "html/elements/link/href/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/link/href/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/link/href/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/link/href/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/link/href/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/link/href/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/link/href/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/link/href/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/link/href/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/link/href/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/link/href/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/link/href/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/link/href/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/link/href/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/link/href/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: syntax error", + "html/elements/link/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/link/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/link/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/link/href/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/link/href/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/link/href/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/link/href/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/map/model-novalid.html": "The \u201cid\u201d attribute on a \u201cmap\u201d element must have an the same value as the \u201cname\u201d attribute.", + "html/elements/object/data-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Must be non-empty.", + "html/elements/object/data-type-missing-novalid.html": "Element \u201cobject\u201d is missing one or more of the following attributes: [data, type].", + "html/elements/object/data-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Must be non-empty.", + "html/elements/object/data/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/object/data/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/object/data/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/object/data/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/object/data/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/object/data/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/object/data/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: empty host.", + "html/elements/object/data/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: empty host.", + "html/elements/object/data/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: empty host.", + "html/elements/object/data/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/object/data/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/object/data/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/object/data/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/object/data/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/object/data/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", + "html/elements/object/data/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/object/data/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/object/data/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/object/data/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/object/data/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/object/data/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/object/data/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/object/data/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/object/data/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/object/data/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/object/data/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/object/data/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/object/data/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/object/data/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/object/data/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/object/data/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", + "html/elements/object/data/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", + "html/elements/object/data/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", + "html/elements/object/data/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", + "html/elements/object/data/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/object/data/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", + "html/elements/object/data/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in port.", + "html/elements/object/data/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/object/data/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/object/data/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/object/data/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/object/data/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/object/data/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/object/data/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/object/data/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/object/data/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/object/data/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/object/data/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/object/data/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/object/data/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/object/data/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/object/data/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/object/data/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/object/data/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/object/data/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: syntax error", + "html/elements/object/data/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/object/data/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/object/data/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/object/data/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/object/data/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/object/data/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/object/data/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/object/data/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/object/data/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/object/model-novalid.html": "Element \u201cobject\u201d is missing one or more of the following attributes: [data, type].", + "html/elements/ol/model-novalid.html": "Duplicate ID \u201cid\u201d.", + "html/elements/option/label-novalid.html": "Bad value \u201c\u201d for attribute \u201clabel\u201d on element \u201coption\u201d: Bad non-empty string: Must not be empty.", + "html/elements/option/model-novalid.html": "Element \u201coption\u201d without attribute \u201clabel\u201d must not be empty.", + "html/elements/p/model-novalid.html": "No \u201cp\u201d element in scope but a \u201cp\u201d end tag seen.", + "html/elements/param/model-novalid.html": "Element \u201cparam\u201d not allowed in this context. (The parent was element \u201cbody\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/always-matching-source-media-all-spaces-with-following-source-srcset-novalid.html": "Value of \u201cmedia\u201d attribute here must not be \u201call\u201d.", + "html/elements/picture/always-matching-source-media-all-with-following-source-srcset-novalid.html": "Value of \u201cmedia\u201d attribute here must not be \u201call\u201d.", + "html/elements/picture/always-matching-source-media-empty-with-following-source-srcset-novalid.html": "Bad value \u201c\u201d for attribute \u201cmedia\u201d on element \u201csource\u201d: Bad media query: Media query ended prematurely.", + "html/elements/picture/always-matching-source-media-spaces-with-following-source-srcset-novalid.html": "Bad value \u201c \n\t\u201d for attribute \u201cmedia\u201d on element \u201csource\u201d: Bad media query: Media query ended prematurely.", + "html/elements/picture/always-matching-source-media-uppercase-with-following-source-srcset-novalid.html": "Value of \u201cmedia\u201d attribute here must not be \u201call\u201d.", + "html/elements/picture/always-matching-source-sizes-with-following-source-srcset-novalid.html": "A \u201csource\u201d element that has a following sibling \u201csource\u201d element or \u201cimg\u201d element with a \u201csrcset\u201d attribute must have a \u201cmedia\u201d attribute and/or \u201ctype\u201d attribute.", + "html/elements/picture/always-matching-source-with-following-img-srcset-novalid.html": "A \u201csource\u201d element that has a following sibling \u201csource\u201d element or \u201cimg\u201d element with a \u201csrcset\u201d attribute must have a \u201cmedia\u201d attribute and/or \u201ctype\u201d attribute.", + "html/elements/picture/always-matching-source-with-following-source-media-novalid.html": "A \u201csource\u201d element that has a following sibling \u201csource\u201d element or \u201cimg\u201d element with a \u201csrcset\u201d attribute must have a \u201cmedia\u201d attribute and/or \u201ctype\u201d attribute.", + "html/elements/picture/always-matching-source-with-following-source-srcset-novalid.html": "A \u201csource\u201d element that has a following sibling \u201csource\u201d element or \u201cimg\u201d element with a \u201csrcset\u201d attribute must have a \u201cmedia\u201d attribute and/or \u201ctype\u201d attribute.", + "html/elements/picture/always-matching-source-with-following-source-type-novalid.html": "A \u201csource\u201d element that has a following sibling \u201csource\u201d element or \u201cimg\u201d element with a \u201csrcset\u201d attribute must have a \u201cmedia\u201d attribute and/or \u201ctype\u201d attribute.", + "html/elements/picture/audio-srcset-novalid.html": "Attribute \u201csrcset\u201d not allowed on element \u201caudio\u201d in this context.", + "html/elements/picture/html-syntax-img-end-tag-novalid.html": "Stray end tag \u201cimg\u201d.", + "html/elements/picture/html-syntax-picture-no-end-tag-novalid.html": "End of file seen and there were open elements.", + "html/elements/picture/html-syntax-picture-slash-no-end-tag-novalid.html": "Self-closing syntax (\u201c/>\u201d) used on a non-void HTML element. Ignoring the slash and treating as a start tag.", + "html/elements/picture/html-syntax-picture-slash-novalid.html": "Self-closing syntax (\u201c/>\u201d) used on a non-void HTML element. Ignoring the slash and treating as a start tag.", + "html/elements/picture/html-syntax-source-end-tag-novalid.html": "Stray end tag \u201csource\u201d.", + "html/elements/picture/img-no-src-novalid.html": "Element \u201cimg\u201d is missing required attribute \u201csrc\u201d.", + "html/elements/picture/img-no-src-with-picture-novalid.html": "Element \u201cimg\u201d is missing required attribute \u201csrc\u201d.", + "html/elements/picture/img-no-src-with-source-novalid.html": "Element \u201cimg\u201d is missing required attribute \u201csrc\u201d.", + "html/elements/picture/img-no-src-with-srcset-and-picture-novalid.html": "Element \u201cimg\u201d is missing required attribute \u201csrc\u201d.", + "html/elements/picture/img-no-src-with-srcset-novalid.html": "Element \u201cimg\u201d is missing required attribute \u201csrc\u201d.", + "html/elements/picture/img-srcset-no-descriptor-with-sizes-novalid.html": "Bad value \u201cx\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: No width specified for image \u201cx\u201d. (When the \u201csizes\u201d attribute is present, all image candidate strings must specify a width.)", + "html/elements/picture/img-srcset-w-and-x-width-sizes-novalid.html": "Bad value \u201cx 100w, y 2x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected width descriptor but found \u201c2x\u201d at \u201cx 100w, y 2x\u201d. (When the \u201csizes\u201d attribute is present, all image candidate strings must specify a width.)", + "html/elements/picture/img-srcset-w-no-sizes-novalid.html": "When the \u201csrcset\u201d attribute has any image candidate string with a width descriptor, the \u201csizes\u201d attribute must also be present.", + "html/elements/picture/img-type-novalid.html": "Attribute \u201ctype\u201d not allowed on element \u201cimg\u201d in this context.", + "html/elements/picture/img-type-with-picture-novalid.html": "Attribute \u201ctype\u201d not allowed on element \u201cimg\u201d in this context.", + "html/elements/picture/img-with-sizes-no-srcset-novalid.html": "The \u201csizes\u201d attribute may be specified only if the \u201csrcset\u201d attribute is also present.", + "html/elements/picture/input-type-image-srcset-novalid.html": "Attribute \u201csrcset\u201d not allowed on element \u201cinput\u201d in this context.", + "html/elements/picture/junk-br-after-img-novalid.html": "Element \u201cbr\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-br-after-source-novalid.html": "Element \u201cbr\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-br-before-img-novalid.html": "Element \u201cbr\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-br-before-source-novalid.html": "Element \u201cbr\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-figure-wrapping-novalid.html": "Element \u201cfigure\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-input-type-hidden-novalid.html": "Element \u201cinput\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-math-nog-img-novalid.html": "Element \u201cmath\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-noscript-after-source-no-img-novalid.html": "Element \u201cnoscript\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-noscript-novalid.html": "Element \u201cnoscript\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-p-after-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-p-before-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-p-wrapping-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-picture-before-novalid.html": "Element \u201cpicture\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-picture-wrapping-novalid.html": "Element \u201cpicture\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-span-after-novalid.html": "Element \u201cspan\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-span-before-novalid.html": "Element \u201cspan\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-span-wrapping-novalid.html": "Element \u201cspan\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-style-scroped-novalid.html": "Element \u201cstyle\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-svg-no-img-novalid.html": "Element \u201csvg\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-svg-novalid.html": "Element \u201csvg\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-text-after-img-novalid.html": "Text not allowed in element \u201cpicture\u201d in this context.", + "html/elements/picture/junk-text-after-source-novalid.html": "Text not allowed in element \u201cpicture\u201d in this context.", + "html/elements/picture/junk-text-before-img-novalid.html": "Text not allowed in element \u201cpicture\u201d in this context.", + "html/elements/picture/junk-text-before-source-novalid.html": "Text not allowed in element \u201cpicture\u201d in this context.", + "html/elements/picture/junk-video-before-novalid.html": "Element \u201cvideo\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/junk-video-no-img-novalid.html": "Element \u201cvideo\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/link-rel-icon-srcset-novalid.html": "Attribute \u201csrcset\u201d not allowed on element \u201clink\u201d in this context.", + "html/elements/picture/missing-img-empty-picture-novalid.html": "Element \u201cpicture\u201d is missing required child element \u201cimg\u201d.", + "html/elements/picture/missing-img-only-script-novalid.html": "Element \u201cpicture\u201d is missing required child element \u201cimg\u201d.", + "html/elements/picture/missing-img-only-source-novalid.html": "Element \u201cpicture\u201d is missing required child element \u201cimg\u201d.", + "html/elements/picture/missing-img-script-and-source-novalid.html": "Element \u201cpicture\u201d is missing required child element \u201cimg\u201d.", + "html/elements/picture/missing-img-source-and-script-novalid.html": "Element \u201cpicture\u201d is missing required child element \u201cimg\u201d.", + "html/elements/picture/multiple-img-novalid.html": "Element \u201cimg\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/multiple-img-with-script-novalid.html": "Element \u201cimg\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/multiple-img-with-source-and-script-novalid.html": "Element \u201cimg\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/multiple-img-with-source-novalid.html": "Element \u201cimg\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/object-srcset-novalid.html": "Attribute \u201csrcset\u201d not allowed on element \u201cobject\u201d in this context.", + "html/elements/picture/parent-dl-novalid.html": "Element \u201cpicture\u201d not allowed in this context. (The parent was element \u201cdl\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/parent-hgroup-novalid.html": "Element \u201cpicture\u201d not allowed in this context. (The parent was element \u201chgroup\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/parent-noscript-in-head-novalid.html": "Bad start tag in \u201cpicture\u201d in \u201chead\u201d.", + "html/elements/picture/parent-ul-novalid.html": "Element \u201cpicture\u201d not allowed in this context. (The parent was element \u201cul\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/picture-align-novalid.html": "Attribute \u201calign\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-alt-novalid.html": "Attribute \u201calt\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-aria-role-application-novalid.html": "Attribute \u201crole\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-aria-role-button-novalid.html": "Attribute \u201crole\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-aria-role-img-novalid.html": "Attribute \u201crole\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-aria-role-presentation-novalid.html": "Attribute \u201crole\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-aria-role-region-novalid.html": "Attribute \u201crole\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-border-novalid.html": "Attribute \u201cborder\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-crossorigin-novalid.html": "Attribute \u201ccrossorigin\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-height-novalid.html": "Attribute \u201cheight\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-hspace-novalid.html": "Attribute \u201chspace\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-ismap-novalid.html": "Attribute \u201cismap\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-longdesc-novalid.html": "Attribute \u201clongdesc\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-lowsrc-novalid.html": "Attribute \u201clowsrc\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-media-novalid.html": "Attribute \u201cmedia\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-name-novalid.html": "Attribute \u201cname\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-sizes-novalid.html": "Attribute \u201csizes\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-src-novalid.html": "Attribute \u201csrc\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-srcset-novalid.html": "Attribute \u201csrcset\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-usemap-novalid.html": "Attribute \u201cusemap\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-vspace-novalid.html": "Attribute \u201cvspace\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/picture-width-novalid.html": "Attribute \u201cwidth\u201d not allowed on element \u201cpicture\u201d in this context.", + "html/elements/picture/sizes-microsyntax-auto-source-size-value-novalid.html": "Bad value \u201cauto\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad CSS number token: Expected a minus sign or a digit but saw \u201ca\u201d instead at \u201cauto\u201d.", + "html/elements/picture/sizes-microsyntax-comma-novalid.html": "Bad value \u201c,\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Starts with empty source size.", + "html/elements/picture/sizes-microsyntax-css-comment-after-plus-novalid.html": "Bad value \u201c+/**/50vw\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected number but found \u201c+/\u201d at \u201c+/**/50vw\u201d.", + "html/elements/picture/sizes-microsyntax-css-comment-before-unit-novalid.html": "Bad value \u201c50/**/vw\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201c/vw\u201d at \u201c50/**/vw\u201d.", + "html/elements/picture/sizes-microsyntax-default-first-novalid.html": "Bad value \u201c100vw, (min-width:500px) 500px\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected media condition before \u201c\u201d at \u201c100vw,\u201d.", + "html/elements/picture/sizes-microsyntax-default-source-size-value-novalid.html": "Bad value \u201cdefault\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad CSS number token: Expected a minus sign or a digit but saw \u201cd\u201d instead at \u201cdefault\u201d.", + "html/elements/picture/sizes-microsyntax-deg-source-size-value-novalid.html": "Bad value \u201c1deg\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201cdeg\u201d at \u201c1deg\u201d.", + "html/elements/picture/sizes-microsyntax-dpcm-source-size-value-novalid.html": "Bad value \u201c1dpcm\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201cdpcm\u201d at \u201c1dpcm\u201d.", + "html/elements/picture/sizes-microsyntax-dpi-source-size-value-novalid.html": "Bad value \u201c1dpi\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201cdpi\u201d at \u201c1dpi\u201d.", + "html/elements/picture/sizes-microsyntax-dppx-source-size-value-novalid.html": "Bad value \u201c1dppx\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201cdppx\u201d at \u201c1dppx\u201d.", + "html/elements/picture/sizes-microsyntax-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Must not be empty.", + "html/elements/picture/sizes-microsyntax-foo-bar-source-size-value-novalid.html": "Bad value \u201cfoo-bar\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad CSS number token: Expected a minus sign or a digit but saw \u201cf\u201d instead at \u201cfoo-bar\u201d.", + "html/elements/picture/sizes-microsyntax-grad-source-size-value-novalid.html": "Bad value \u201c1grad\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201cgrad\u201d at \u201c1grad\u201d.", + "html/elements/picture/sizes-microsyntax-hz-source-size-value-novalid.html": "Bad value \u201c1Hz\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201cHz\u201d at \u201c1Hz\u201d.", + "html/elements/picture/sizes-microsyntax-inherit-source-size-value-novalid.html": "Bad value \u201cinherit\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad CSS number token: Expected a minus sign or a digit but saw \u201ci\u201d instead at \u201cinherit\u201d.", + "html/elements/picture/sizes-microsyntax-initial-source-size-value-novalid.html": "Bad value \u201cinitial\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad CSS number token: Expected a minus sign or a digit but saw \u201ci\u201d instead at \u201cinitial\u201d.", + "html/elements/picture/sizes-microsyntax-junk-in-default-novalid.html": "Bad value \u201c(min-width:500px) 500px, 100vw foo bar\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad CSS number token: Expected a minus sign or a digit but saw \u201cb\u201d instead at \u201c\u20260px) 500px, 100vw foo bar\u201d.", + "html/elements/picture/sizes-microsyntax-junk-in-source-size-novalid.html": "Bad value \u201c(min-width:500px) 500px foo bar, 100vw\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad CSS number token: Expected a minus sign or a digit but saw \u201cb\u201d instead at \u201c\u2026dth:500px) 500px foo bar,\u201d.", + "html/elements/picture/sizes-microsyntax-khz-source-size-value-novalid.html": "Bad value \u201c1kHz\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201ckHz\u201d at \u201c1kHz\u201d.", + "html/elements/picture/sizes-microsyntax-media-all-and-min-width-novalid.html": "Bad value \u201call and (min-width:500px) 500px, 100vw\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad media condition: Expected a CSS media condition but saw CSS media type \u201call\u201d instead at \u201c\u2026 (min-width:500px) 500px,\u201d.", + "html/elements/picture/sizes-microsyntax-media-all-novalid.html": "Bad value \u201call 500px, 100vw\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad media condition: Expected a CSS media condition but saw CSS media type \u201call\u201d instead at \u201call 500px,\u201d.", + "html/elements/picture/sizes-microsyntax-media-bad-junk-novalid.html": "Bad value \u201c(}) 500px, 100vw\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad media condition: Expected a letter at start of a media feature part but saw \u201c}\u201d instead at \u201c(}) 500px,\u201d.", + "html/elements/picture/sizes-microsyntax-media-general-enclosed-junk-novalid.html": "Bad value \u201c(123) 500px, 100vw\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad media condition: Expected a letter at start of a media feature part but saw \u201c1\u201d instead at \u201c(123) 500px,\u201d.", + "html/elements/picture/sizes-microsyntax-media-min-width-no-parenthesis-novalid.html": "Bad value \u201cmin-width:500px 500px, 100vw\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad media condition: Expected a letter, hyphen or whitespace but saw \u201c:\u201d instead at \u201cmin-width:500px 500px,\u201d.", + "html/elements/picture/sizes-microsyntax-ms-source-size-value-novalid.html": "Bad value \u201c1ms\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201cms\u201d at \u201c1ms\u201d.", + "html/elements/picture/sizes-microsyntax-negative-source-size-value-novalid.html": "Bad value \u201c-1px\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected positive size value but found \u201c-1px\u201d at \u201c-1px\u201d.", + "html/elements/picture/sizes-microsyntax-no-unit-in-source-size-value-novalid.html": "Bad value \u201c(min-width:500px) 50, 100vw\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found no units at \u201c(min-width:500px) 50,\u201d.", + "html/elements/picture/sizes-microsyntax-percent-in-source-size-value-novalid.html": "Bad value \u201c(min-width:500px) 50%, 100vw\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201c%\u201d at \u201c(min-width:500px) 50%,\u201d.", + "html/elements/picture/sizes-microsyntax-rad-source-size-value-novalid.html": "Bad value \u201c1rad\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201crad\u201d at \u201c1rad\u201d.", + "html/elements/picture/sizes-microsyntax-s-source-size-value-novalid.html": "Bad value \u201c1s\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201cs\u201d at \u201c1s\u201d.", + "html/elements/picture/sizes-microsyntax-scientific-notation-negative-novalid.html": "Bad value \u201c-1e+0px\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected positive size value but found \u201c-1e+0px\u201d at \u201c-1e+0px\u201d.", + "html/elements/picture/sizes-microsyntax-scientific-notation-non-integer-in-exponent-novalid.html": "Bad value \u201c1e+1.5px\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Bad CSS number token: Expected a digit but saw \u201c.\u201d instead at \u201c1e+1.5px\u201d.", + "html/elements/picture/sizes-microsyntax-trailing-comma-novalid.html": "Bad value \u201c(min-width:500px) 500px, 100vw,\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected media condition before \u201c\u201d at \u201c\u2026idth:500px) 500px, 100vw,\u201d.", + "html/elements/picture/sizes-microsyntax-trailing-junk-novalid.html": "Bad value \u201c(min-width:500px) 500px, 100vw, foo bar\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected media condition before \u201c\u201d at \u201c\u2026idth:500px) 500px, 100vw,\u201d.", + "html/elements/picture/sizes-microsyntax-turn-source-size-value-novalid.html": "Bad value \u201c1turn\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected units (one of \u201cem\u201d, \u201cex\u201d, \u201cch\u201d, \u201crem\u201d, \u201cvw\u201d, \u201cvh\u201d, \u201cvmin\u201d, \u201cvmax\u201d, \u201ccm\u201d, \u201cmm\u201d, \u201cq\u201d, \u201cin\u201d, \u201cpc\u201d, \u201cpt\u201d, \u201cpx\u201d) but found \u201cturn\u201d at \u201c1turn\u201d.", + "html/elements/picture/sizes-microsyntax-two-defaults-novalid.html": "Bad value \u201c500px, 100vw\u201d for attribute \u201csizes\u201d on element \u201cimg\u201d: Bad source size list: Expected media condition before \u201c\u201d at \u201c500px,\u201d.", + "html/elements/picture/source-after-img-novalid.html": "Element \u201csource\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/source-align-novalid.html": "Attribute \u201calign\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-alt-novalid.html": "Attribute \u201calt\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-aria-role-img-novalid.html": "Attribute \u201crole\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-aria-role-presentation-novalid.html": "Attribute \u201crole\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-before-and-after-img-novalid.html": "Element \u201csource\u201d not allowed in this context. (The parent was element \u201cpicture\u201d.) Suppressing further errors from this subtree.", + "html/elements/picture/source-border-novalid.html": "Attribute \u201cborder\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-crossorigin-novalid.html": "Attribute \u201ccrossorigin\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-height-novalid.html": "Attribute \u201cheight\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-hspace-novalid.html": "Attribute \u201chspace\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-ismap-novalid.html": "Attribute \u201cismap\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-longdesc-novalid.html": "Attribute \u201clongdesc\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-name-novalid.html": "Attribute \u201ccrossorigin\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-no-srcset-novalid.html": "Element \u201csource\u201d is missing required attribute \u201csrcset\u201d.", + "html/elements/picture/source-no-srcset-with-media-novalid.html": "Element \u201csource\u201d is missing required attribute \u201csrcset\u201d.", + "html/elements/picture/source-no-srcset-with-sizes-novalid.html": "Element \u201csource\u201d is missing required attribute \u201csrcset\u201d.", + "html/elements/picture/source-no-srcset-with-type-novalid.html": "Element \u201csource\u201d is missing required attribute \u201csrcset\u201d.", + "html/elements/picture/source-src-novalid.html": "Attribute \u201csrc\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-src-srcset-novalid.html": "Attribute \u201csrc\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-srcset-h-with-sizes-novalid.html": "Bad value \u201cx 100h, y 200h\u201d for attribute \u201csrcset\u201d on element \u201csource\u201d: Expected width descriptor but found \u201c100h\u201d at \u201cx 100h,\u201d. (When the \u201csizes\u201d attribute is present, all image candidate strings must specify a width.)", + "html/elements/picture/source-srcset-w-and-x-with-sizes-novalid.html": "Bad value \u201cx 100w, y 2x\u201d for attribute \u201csrcset\u201d on element \u201csource\u201d: Expected width descriptor but found \u201c2x\u201d at \u201cx 100w, y 2x\u201d. (When the \u201csizes\u201d attribute is present, all image candidate strings must specify a width.)", + "html/elements/picture/source-srcset-w-no-sizes-novalid.html": "When the \u201csrcset\u201d attribute has any image candidate string with a width descriptor, the \u201csizes\u201d attribute must also be present.", + "html/elements/picture/source-srcset-x-with-sizes-novalid.html": "Bad value \u201cx 1x, y 2x\u201d for attribute \u201csrcset\u201d on element \u201csource\u201d: Expected width descriptor but found \u201c1x\u201d at \u201cx 1x,\u201d. (When the \u201csizes\u201d attribute is present, all image candidate strings must specify a width.)", + "html/elements/picture/source-type-srcset-w-novalid.html": "When the \u201csrcset\u201d attribute has any image candidate string with a width descriptor, the \u201csizes\u201d attribute must also be present.", + "html/elements/picture/source-usemap-novalid.html": "Attribute \u201cusemap\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-vspace-novalid.html": "Attribute \u201cvspace\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/source-width-novalid.html": "Attribute \u201cwidth\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/srcset-microsyntax-broken-url-novalid.html": "Bad value \u201chttp: 1x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Bad image-candidate URL: \u201chttp:\u201d: Expected a slash (\"/\").", + "html/elements/picture/srcset-microsyntax-comma-novalid.html": "Bad value \u201c,\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Starts with empty image-candidate string.", + "html/elements/picture/srcset-microsyntax-css-comment-after-descriptor-novalid.html": "Bad value \u201cx 2x/**/\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number followed by \u201cw\u201d or \u201cx\u201d but found \u201c2x/**/\u201d at \u201cx 2x/**/\u201d.", + "html/elements/picture/srcset-microsyntax-curly-bracket-junk-novalid.html": "Bad value \u201cx {, y 1x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number followed by \u201cw\u201d or \u201cx\u201d but found \u201c{\u201d at \u201cx {,\u201d.", + "html/elements/picture/srcset-microsyntax-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Must contain one or more image candidate strings.", + "html/elements/picture/srcset-microsyntax-function-novalid.html": "Bad value \u201cx foobar(baz quux, lol), y 1x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number followed by \u201cw\u201d or \u201cx\u201d but found \u201cfoobar(baz quux, lol))\u201d at \u201c\u2026baz quux, lol),\u201d.", + "html/elements/picture/srcset-microsyntax-h-novalid.html": "Bad value \u201cx 1h\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected width descriptor but found \u201c1h\u201d at \u201cx 1h\u201d. (When the \u201csizes\u201d attribute is present, all image candidate strings must specify a width.)", + "html/elements/picture/srcset-microsyntax-infinity-x-novalid.html": "Bad value \u201cx Infinityx\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Bad positive floating point number: Expected a digit but saw \u201cI\u201d instead at \u201cx Infinityx\u201d.", + "html/elements/picture/srcset-microsyntax-leading-comma-multiple-novalid.html": "Bad value \u201c,,,x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Starts with empty image-candidate string.", + "html/elements/picture/srcset-microsyntax-leading-comma-novalid.html": "Bad value \u201c,x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Starts with empty image-candidate string.", + "html/elements/picture/srcset-microsyntax-leading-dot-x-novalid.html": "Bad value \u201cx .5x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Bad positive floating point number: Expected a digit but saw \u201c.\u201d instead at \u201cx .5x\u201d.", + "html/elements/picture/srcset-microsyntax-nan-x-novalid.html": "Bad value \u201cx NaNx\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Bad positive floating point number: Expected a digit but saw \u201cN\u201d instead at \u201cx NaNx\u201d.", + "html/elements/picture/srcset-microsyntax-negative-w-novalid.html": "Bad value \u201cx -1w\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number greater than zero but found \u201c-1\u201d at \u201cx -1w\u201d.", + "html/elements/picture/srcset-microsyntax-negative-x-novalid.html": "Bad value \u201cx -1x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number greater than zero but found \u201c-1\u201d at \u201cx -1x\u201d.", + "html/elements/picture/srcset-microsyntax-negative-zero-w-novalid.html": "Bad value \u201cx -0w\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number greater than zero but found \u201c-0\u201d at \u201cx -0w\u201d.", + "html/elements/picture/srcset-microsyntax-negative-zero-x-novalid.html": "Bad value \u201cx -0x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number greater than zero but found \u201c-0\u201d at \u201cx -0x\u201d.", + "html/elements/picture/srcset-microsyntax-non-integer-w-novalid.html": "Bad value \u201cx 1.5w\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected integer but found \u201c1.5\u201d at \u201cx 1.5w\u201d.", + "html/elements/picture/srcset-microsyntax-parenthesis-junk-novalid.html": "Bad value \u201cx ><(((((o)>, y 1x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number followed by \u201cw\u201d or \u201cx\u201d but found \u201c><(((((o))>\u201d at \u201cx ><(((((o)>,\u201d.", + "html/elements/picture/srcset-microsyntax-pipe-junk-novalid.html": "Bad value \u201cx ||, y 1x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number followed by \u201cw\u201d or \u201cx\u201d but found \u201c||\u201d at \u201cx ||,\u201d.", + "html/elements/picture/srcset-microsyntax-plus-w-novalid.html": "Bad value \u201cx +1w\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number without leading plus sign but found \u201c+1\u201d at \u201cx +1w\u201d.", + "html/elements/picture/srcset-microsyntax-plus-x-novalid.html": "Bad value \u201cx +1x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number without leading plus sign but found \u201c+1\u201d at \u201cx +1x\u201d.", + "html/elements/picture/srcset-microsyntax-scientific-notation-w-novalid.html": "Bad value \u201cx 1e0w\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected integer but found \u201c1e0\u201d at \u201cx 1e0w\u201d.", + "html/elements/picture/srcset-microsyntax-square-bracket-junk-novalid.html": "Bad value \u201cx [, y 1x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number followed by \u201cw\u201d or \u201cx\u201d but found \u201c[\u201d at \u201cx [,\u201d.", + "html/elements/picture/srcset-microsyntax-trailing-comma-multiple-novalid.html": "Bad value \u201cx,,,\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Empty image-candidate string at \u201cx,,,\u201d.", + "html/elements/picture/srcset-microsyntax-trailing-comma-novalid.html": "Bad value \u201cx,\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Ends with empty image-candidate string.", + "html/elements/picture/srcset-microsyntax-unique-descriptors-1x-and-omitted-novalid.html": "Bad value \u201cx 1x, y\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Density for image \u201cy\u201d is identical to density for image \u201cx\u201d.", + "html/elements/picture/srcset-microsyntax-unique-descriptors-2x-novalid.html": "Bad value \u201cx 2x, y 2x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Density for image \u201cy\u201d is identical to density for image \u201cx\u201d.", + "html/elements/picture/srcset-microsyntax-unique-descriptors-integer-and-decimals-x-novalid.html": "Bad value \u201cx 1x, y 1.0x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Density for image \u201cy\u201d is identical to density for image \u201cx\u201d.", + "html/elements/picture/srcset-microsyntax-unique-descriptors-w-novalid.html": "Bad value \u201cx 1w, y 1w\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Width for image \u201cy\u201d is identical to width for image \u201cx\u201d.", + "html/elements/picture/srcset-microsyntax-uppercase-w-novalid.html": "Bad value \u201cx 1W\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected width descriptor but found \u201c1W\u201d at \u201cx 1W\u201d. (When the \u201csizes\u201d attribute is present, all image candidate strings must specify a width.)", + "html/elements/picture/srcset-microsyntax-w-and-h-novalid.html": "Bad value \u201cx 1w 1h\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected single descriptor but found extraneous descriptor \u201c1h\u201d at \u201cx 1w 1h\u201d.", + "html/elements/picture/srcset-microsyntax-w-and-no-descriptor-novalid.html": "Bad value \u201cx 1w, y\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: No width specified for image \u201cy\u201d. (When the \u201csizes\u201d attribute is present, all image candidate strings must specify a width.)", + "html/elements/picture/srcset-microsyntax-x-and-h-novalid.html": "Bad value \u201cx 1x 1h\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected width descriptor but found \u201c1x\u201d at \u201cx 1x \u201d. (When the \u201csizes\u201d attribute is present, all image candidate strings must specify a width.)", + "html/elements/picture/srcset-microsyntax-x-and-w-novalid.html": "Bad value \u201cx 1x 1w\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected width descriptor but found \u201c1x\u201d at \u201cx 1x \u201d. (When the \u201csizes\u201d attribute is present, all image candidate strings must specify a width.)", + "html/elements/picture/srcset-microsyntax-zero-w-novalid.html": "Bad value \u201cx 0w\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Expected number greater than zero but found \u201c0\u201d at \u201cx 0w\u201d.", + "html/elements/picture/srcset-microsyntax-zero-x-novalid.html": "Bad value \u201cx 0x\u201d for attribute \u201csrcset\u201d on element \u201cimg\u201d: Bad positive floating point number: Zero is not a valid positive floating point number at \u201cx 0x\u201d.", + "html/elements/picture/svg-image-srcset-novalid.html": "Attribute \u201csrcset\u201d not allowed on element \u201cimage\u201d in this context.", + "html/elements/picture/track-srcset-novalid.html": "Attribute \u201csrcset\u201d not allowed on element \u201ctrack\u201d in this context.", + "html/elements/picture/video-source-media-src-novalid.html": "Attribute \u201cmedia\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/video-source-sizes-srcset-novalid.html": "Attribute \u201csizes\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/video-source-srcset-novalid.html": "Attribute \u201csrcset\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/video-source-srcset-src-novalid.html": "Attribute \u201csrcset\u201d not allowed on element \u201csource\u201d in this context.", + "html/elements/picture/video-srcset-novalid.html": "Attribute \u201csrcset\u201d not allowed on element \u201cvideo\u201d in this context.", + "html/elements/pre/model-novalid.html": "No \u201cp\u201d element in scope but a \u201cp\u201d end tag seen.", + "html/elements/q/cite/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/q/cite/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/q/cite/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/q/cite/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/q/cite/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/q/cite/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/q/cite/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: empty host.", + "html/elements/q/cite/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: empty host.", + "html/elements/q/cite/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: empty host.", + "html/elements/q/cite/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/q/cite/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/q/cite/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/q/cite/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/q/cite/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/q/cite/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", + "html/elements/q/cite/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/q/cite/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/q/cite/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/q/cite/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/q/cite/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/q/cite/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/q/cite/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/q/cite/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/q/cite/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/q/cite/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/q/cite/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/q/cite/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/q/cite/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/q/cite/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/q/cite/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/q/cite/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", + "html/elements/q/cite/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", + "html/elements/q/cite/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", + "html/elements/q/cite/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", + "html/elements/q/cite/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/q/cite/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", + "html/elements/q/cite/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in port.", + "html/elements/q/cite/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/q/cite/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/q/cite/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/q/cite/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/q/cite/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/q/cite/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/q/cite/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/q/cite/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/q/cite/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/q/cite/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/q/cite/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/q/cite/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/q/cite/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/q/cite/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/q/cite/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/q/cite/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/q/cite/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/q/cite/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: syntax error", + "html/elements/q/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/q/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/q/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/q/cite/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/q/cite/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/q/cite/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/q/cite/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/q/cite/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/q/cite/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/q/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/ruby/empty-novalid.html": "Element \u201cruby\u201d is missing one or more of the following child elements: [rp, rt].", + "html/elements/ruby/missing-rt-novalid.html": "Element \u201cruby\u201d is missing required child element \u201crt\u201d.", + "html/elements/samp/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/script/language-novalid.html": "The \u201clanguage\u201d attribute on the \u201cscript\u201d element is obsolete. Use the \u201ctype\u201d attribute instead.", + "html/elements/script/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Must be non-empty.", + "html/elements/script/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Must be non-empty.", + "html/elements/script/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/script/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/script/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/script/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/script/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/script/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/script/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: empty host.", + "html/elements/script/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: empty host.", + "html/elements/script/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: empty host.", + "html/elements/script/src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/script/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/script/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/script/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/script/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/script/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", + "html/elements/script/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/script/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/script/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/script/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/script/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/script/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/script/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/script/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/script/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/script/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/script/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/script/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/script/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/script/src/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/script/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/script/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", + "html/elements/script/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", + "html/elements/script/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", + "html/elements/script/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", + "html/elements/script/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/script/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", + "html/elements/script/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in port.", + "html/elements/script/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/script/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/script/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/script/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/script/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/script/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/script/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/script/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/script/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/script/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/script/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/script/src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/script/src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/script/src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/script/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/script/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/script/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/script/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: syntax error", + "html/elements/script/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/script/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/script/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/script/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/script/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/script/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/script/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/script/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/script/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/small/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/source/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Must be non-empty.", + "html/elements/source/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Must be non-empty.", + "html/elements/source/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/source/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/source/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/source/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/source/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/source/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/source/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: empty host.", + "html/elements/source/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: empty host.", + "html/elements/source/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: empty host.", + "html/elements/source/src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/source/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/source/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/source/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/source/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/source/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", + "html/elements/source/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/source/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/source/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/source/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/source/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/source/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/source/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/source/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/source/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/source/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/source/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/source/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/source/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/source/src/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/source/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/source/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", + "html/elements/source/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", + "html/elements/source/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", + "html/elements/source/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", + "html/elements/source/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/source/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", + "html/elements/source/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in port.", + "html/elements/source/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/source/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/source/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/source/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/source/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/source/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/source/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/source/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/source/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/source/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/source/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/source/src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/source/src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/source/src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/source/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/source/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/source/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/source/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: syntax error", + "html/elements/source/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/source/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/source/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/source/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/source/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/source/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/source/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/source/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/source/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/span/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/strong/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/style/scoped-as-p-child-novalid.html": "Element \u201cstyle\u201d not allowed in this context. (The parent was element \u201cp\u201d.) Suppressing further errors from this subtree.", + "html/elements/style/scoped-in-head-novalid.html": "Attribute \u201cscoped\u201d not allowed on element \u201cstyle\u201d in this context.", + "html/elements/style/scoped-model-novalid.html": "Element \u201cstyle\u201d not allowed in this context. (The parent was element \u201cdiv\u201d.) Suppressing further errors from this subtree.", + "html/elements/sub/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/sup/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/table/model-input-child-hidden-novalid.html": "Start tag \u201cinput\u201d seen in \u201ctable\u201d.", + "html/elements/table/model-input-child-novalid.html": "Start tag \u201cinput\u201d seen in \u201ctable\u201d.", + "html/elements/table/model-input-type-child-novalid.html": "Start tag \u201cinput\u201d seen in \u201ctable\u201d.", + "html/elements/title/empty-novalid.html": "Element \u201ctitle\u201d must not be empty.", + "html/elements/title/missing-novalid.html": "Element \u201chead\u201d is missing required child element \u201ctitle\u201d.", + "html/elements/track/src-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Must be non-empty.", + "html/elements/track/src-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Must be non-empty.", + "html/elements/track/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/track/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/track/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/track/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/track/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/track/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/track/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: empty host.", + "html/elements/track/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: empty host.", + "html/elements/track/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: empty host.", + "html/elements/track/src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/track/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/track/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/track/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/track/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/track/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", + "html/elements/track/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/track/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/track/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/track/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/track/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/track/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/track/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/track/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/track/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/track/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/track/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/track/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/track/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/track/src/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/track/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/track/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", + "html/elements/track/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", + "html/elements/track/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", + "html/elements/track/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", + "html/elements/track/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/track/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", + "html/elements/track/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in port.", + "html/elements/track/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/track/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/track/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/track/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/track/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/track/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/track/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/track/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/track/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/track/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/track/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/track/src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/track/src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/track/src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/track/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/track/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/track/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/track/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: syntax error", + "html/elements/track/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/track/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/track/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/track/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/track/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/track/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/track/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/track/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/track/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/ul/model-novalid.html": "Duplicate ID \u201cid\u201d.", + "html/elements/var/model-novalid.html": "End tag \u201cp\u201d implied, but there were open elements.", + "html/elements/video/model-novalid.html": "Element \u201cp\u201d not allowed in this context. (The parent was element \u201cvideo\u201d.) Suppressing further errors from this subtree.", + "html/elements/video/poster-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Must be non-empty.", + "html/elements/video/poster-whitespace-only-novalid.html": "Bad value \u201c\t \n\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Must be non-empty.", + "html/elements/video/poster/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/video/poster/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/video/poster/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/video/poster/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/poster/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/video/poster/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: empty host.", + "html/elements/video/poster/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: empty host.", + "html/elements/video/poster/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: empty host.", + "html/elements/video/poster/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/video/poster/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/video/poster/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/poster/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/poster/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/poster/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/video/poster/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/video/poster/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/poster/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/video/poster/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/video/poster/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/poster/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/video/poster/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/poster/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/poster/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/poster/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/video/poster/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/poster/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/poster/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/poster/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/poster/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/poster/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/poster/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/poster/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/poster/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/video/poster/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/video/poster/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/video/poster/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/video/poster/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/poster/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/poster/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/poster/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/poster/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/poster/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/poster/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/poster/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/poster/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/poster/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/poster/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: syntax error", + "html/elements/video/poster/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/video/poster/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/video/poster/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/video/poster/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/video/poster/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/video/poster/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/video/src/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/video/src/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/video/src/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/elements/video/src/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/src/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/video/src/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/video/src/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: empty host.", + "html/elements/video/src/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: empty host.", + "html/elements/video/src/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: empty host.", + "html/elements/video/src/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Illegal character.", + "html/elements/video/src/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/elements/video/src/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/src/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/src/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/src/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/video/src/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/elements/video/src/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/video/src/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/src/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/video/src/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/video/src/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/video/src/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/src/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/elements/video/src/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/src/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/src/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/src/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/elements/video/src/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/src/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/src/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/src/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/src/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/src/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/src/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/src/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in port.", + "html/elements/video/src/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Tab, new line or carriage return found.", + "html/elements/video/src/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/video/src/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/elements/video/src/scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/elements/video/src/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/elements/video/src/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/elements/video/src/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/src/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/src/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/src/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/src/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/src/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").", + "html/elements/video/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: syntax error", + "html/elements/video/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/video/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/video/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/video/src/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/elements/video/src/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/elements/video/src/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/elements/video/src/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/media-queries/001-novalid.html": "Bad value \u201cscreen and\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Media query ended prematurely.", + "html/media-queries/002-novalid.html": "Bad value \u201calla\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a CSS media type but the query ended.", + "html/media-queries/003-novalid.html": "Bad value \u201cPROJECT\u0130ON\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a letter, hyphen or whitespace but saw \u201c\u0130\u201d instead.", + "html/media-queries/004-novalid.html": "Bad value \u201cnotscreen\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Media query ended prematurely.", + "html/media-queries/005-novalid.html": "Bad value \u201conlyscreen\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Media query ended prematurely.", + "html/media-queries/006-novalid.html": "Bad value \u201cscreenand (min-width: 400px)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a CSS media type but saw \u201cscreenand\u201d instead.", + "html/media-queries/007-novalid.html": "Bad value \u201cscreen and(min-width: 400px)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a letter or whitespace but saw \u201c(\u201d instead.", + "html/media-queries/008-novalid.html": "Bad value \u201cscreen and (min-width: 400px;)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a letter, a dot or a digit but saw \u201c;\u201d instead.", + "html/media-queries/009-novalid.html": "Bad value \u201cscreen and (min-width: 400uu)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a length unit but saw \u201c)\u201d instead.", + "html/media-queries/010-novalid.html": "Bad value \u201cscreen and (min-width: 400)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Non-zero lengths require a unit.", + "html/media-queries/011-novalid.html": "Bad value \u201cscreen and (min-width: 400dpi)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a length unit but saw \u201c)\u201d instead.", + "html/media-queries/012-novalid.html": "Bad value \u201cscreen and (min-width: 400px)and (max-width: 600px)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected whitespace but saw \u201ca\u201d instead.", + "html/media-queries/013-novalid.html": "Bad value \u201cscreen and (min-width:\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Media query ended prematurely.", + "html/media-queries/014-novalid.html": "Bad value \u201cscreen and (min-width: 400px) and\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Media query ended prematurely.", + "html/media-queries/015-novalid.html": "Bad value \u201ctv and (scan: 1)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a letter but saw \u201c1\u201d instead.", + "html/media-queries/016-novalid.html": "Bad value \u201ctv and (scan: \u0130NTERLACE)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a letter but saw \u201c\u0130\u201d instead.", + "html/media-queries/017-novalid.html": "Bad value \u201cscreen and (device-aspect-ratio: 16px/9pt)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a digit, whitespace or \u201c/\u201d for device-aspect-ratio value but saw \u201cp\u201d instead.", + "html/media-queries/018-haswarn.html": "This document is not mappable to XML 1.0 without data loss due to U+000c which is not a legal XML 1.0 character.", + "html/media-queries/019-novalid.html": "Bad value \u201cscreen and (color: 1em)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Expected a digit, whitespace or \u201c)\u201d but saw \u201ce\u201d instead.", + "html/media-queries/020-novalid.html": "Bad value \u201c,\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Media query ended prematurely.", + "html/media-queries/021-novalid.html": "Bad value \u201cscreen,,print\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Media query ended prematurely.", + "html/media-queries/022-novalid.html": "Bad value \u201cscreen,\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Media query ended prematurely.", + "html/media-queries/023-novalid.html": "Bad value \u201c,screen\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Media query ended prematurely.", + "html/media-queries/024-novalid.html": "Bad value \u201cscreen and (min-width: 400)\u201d for attribute \u201cmedia\u201d on element \u201clink\u201d: Bad media query: Non-zero lengths require a unit.", + "html/microdata/itemid-scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/microdata/itemid/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/microdata/itemid/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/microdata/itemid/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in fragment: not a URL code point.", + "html/microdata/itemid/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", + "html/microdata/itemid/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/microdata/itemid/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/microdata/itemid/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: empty host.", + "html/microdata/itemid/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: empty host.", + "html/microdata/itemid/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: empty host.", + "html/microdata/itemid/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Illegal character.", + "html/microdata/itemid/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/microdata/itemid/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: A label or domain name contains disallowed characters..", + "html/microdata/itemid/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", + "html/microdata/itemid/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Domain contains invalid character: .", + "html/microdata/itemid/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", + "html/microdata/itemid/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", + "html/microdata/itemid/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/microdata/itemid/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Invalid host: Domain contains invalid character: %.", + "html/microdata/itemid/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/microdata/itemid/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/microdata/itemid/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/microdata/itemid/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/microdata/itemid/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/microdata/itemid/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/microdata/itemid/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/microdata/itemid/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/microdata/itemid/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", + "html/microdata/itemid/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/microdata/itemid/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/microdata/itemid/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", + "html/microdata/itemid/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", + "html/microdata/itemid/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", + "html/microdata/itemid/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", + "html/microdata/itemid/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", + "html/microdata/itemid/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", + "html/microdata/itemid/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", + "html/microdata/itemid/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in port.", + "html/microdata/itemid/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Tab, new line or carriage return found.", + "html/microdata/itemid/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/microdata/itemid/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in query: not a URL code point.", + "html/microdata/itemid/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/microdata/itemid/scheme-file-backslash-novalid.html": "Bad value \u201cfile:c:\\foo\\bar.html\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/microdata/itemid/scheme-file-single-slash-c-bar-novalid.html": "Bad value \u201cfile:/C|/foo/bar\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/microdata/itemid/scheme-file-triple-slash-c-bar-novalid.html": "Bad value \u201cfile:///C|/foo/bar\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in path segment: not a URL code point.", + "html/microdata/itemid/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", + "html/microdata/itemid/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", + "html/microdata/itemid/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", + "html/microdata/itemid/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", + "html/microdata/itemid/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", + "html/microdata/itemid/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", + "html/microdata/itemid/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", + "html/microdata/itemid/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", + "html/microdata/itemid/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").", + "html/microdata/itemid/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: syntax error", + "html/microdata/itemid/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/microdata/itemid/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/microdata/itemid/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/microdata/itemid/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: not a URL code point.", + "html/microdata/itemid/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Backslash (\"\\\") used as path segment delimiter.", + "html/microdata/itemid/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/microdata/itemid/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/microdata/itemid/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/microdata/itemid/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in user or password: not a URL code point.", + "html/microdata/itemtype-empty-novalid.html": "Bad value \u201c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d.", + "html/microdata/itemtype-scheme-data-contains-fragment-haswarn.html": "Bad value \u201cdata:text/html,test#test\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Fragment is not allowed for data: URIs according to RFC 2397.", + "html/microdata/itemtype/fragment-backslash-novalid.html": "Bad value \u201c#\\\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c#\\\u201d is not an absolute URL.", + "html/microdata/itemtype/fragment-contains-hash-novalid.html": "Bad value \u201chttp://foo/path#f#g\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in fragment: not a URL code point.", + "html/microdata/itemtype/fragment-empty-hash-only-no-path-relative-novalid.html": "Bad value \u201c#\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c#\u201d is not an absolute URL.", + "html/microdata/itemtype/fragment-leading-space-novalid.html": "Bad value \u201chttp://f:21/b# e\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201ce\u201d is not an absolute URL.", + "html/microdata/itemtype/fragment-non-ascii-relative-novalid.html": "Bad value \u201c#\u03b2\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c#\u03b2\u201d is not an absolute URL.", + "html/microdata/itemtype/fragment-semicolon-question-mark-relative-novalid.html": "Bad value \u201c#;?\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c#;?\u201d is not an absolute URL.", + "html/microdata/itemtype/fragment-slash-relative-novalid.html": "Bad value \u201c#/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c#/\u201d is not an absolute URL.", + "html/microdata/itemtype/host-cr-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201corg\u201d is not an absolute URL.", + "html/microdata/itemtype/host-double-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff14\uff11.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", + "html/microdata/itemtype/host-double-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%94%ef%bc%91.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", + "html/microdata/itemtype/host-empty-novalid.html": "Bad value \u201chttp://\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: empty host.", + "html/microdata/itemtype/host-empty-userinfo-empty-novalid.html": "Bad value \u201chttp://@/www.example.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: empty host.", + "html/microdata/itemtype/host-empty-with-userinfo-novalid.html": "Bad value \u201chttp://user:pass@/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: empty host.", + "html/microdata/itemtype/host-hostname-in-brackets-novalid.html": "Bad value \u201chttp://[www.google.com]/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Illegal character.", + "html/microdata/itemtype/host-invalid-unicode-novalid.html": "Forbidden code point U+fdd0.", + "html/microdata/itemtype/host-invalid-unicode-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%b7%90zyx.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: A label or domain name contains disallowed characters..", + "html/microdata/itemtype/host-newline-novalid.html": "Bad value \u201chttp://example.\norg\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201corg\u201d is not an absolute URL.", + "html/microdata/itemtype/host-space-novalid.html": "Bad value \u201chttp://example .org\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c.org\u201d is not an absolute URL.", + "html/microdata/itemtype/host-square-brackets-port-contains-colon-novalid.html": "Bad value \u201chttp://[1::2]:3:4\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port.", + "html/microdata/itemtype/host-tab-novalid.html": "Bad value \u201chttp://example\t.org\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c.org\u201d is not an absolute URL.", + "html/microdata/itemtype/host-u0000-percent-encoded-novalid.html": "Bad value \u201chttp://\uff05\uff10\uff10.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", + "html/microdata/itemtype/host-u0000-percent-encoded-percent-encoded-novalid.html": "Bad value \u201chttp://%ef%bc%85%ef%bc%90%ef%bc%90.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Invalid host: Domain contains invalid character: %.", + "html/microdata/itemtype/path-bare-percent-sign-novalid.html": "Bad value \u201chttp://example.com/foo%\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/microdata/itemtype/path-contains-space-novalid.html": "Bad value \u201c/a/ /c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/a/\u201d is not an absolute URL.", + "html/microdata/itemtype/path-leading-backslash-at-sign-novalid.html": "Bad value \u201chttp://foo.com/\\@\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Backslash (\"\\\") used as path segment delimiter.", + "html/microdata/itemtype/path-leading-colon-backslash-novalid.html": "Bad value \u201c:\\\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c:\\\u201d is not an absolute URL.", + "html/microdata/itemtype/path-leading-colon-chars-backslash-novalid.html": "Bad value \u201c:foo.com\\\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c:foo.com\\\u201d is not an absolute URL.", + "html/microdata/itemtype/path-leading-space-novalid.html": "Bad value \u201chttp://f:21/ b\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201cb\u201d is not an absolute URL.", + "html/microdata/itemtype/path-percent-encoded-malformed-novalid.html": "Bad value \u201chttp://example.com/foo/%2e%2\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Percentage (\"%\") is not followed by two hexadecimal digits.", + "html/microdata/itemtype/path-percent-encoded-slash-plus-slashes-relative-novalid.html": "Bad value \u201c/a/%2f/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/a/%2f/c\u201d is not an absolute URL.", + "html/microdata/itemtype/path-percent-encoded-slash-relative-novalid.html": "Bad value \u201c/a%2fc\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/a%2fc\u201d is not an absolute URL.", + "html/microdata/itemtype/path-relative-square-brackets-novalid.html": "Bad value \u201c[61:24:74]:98\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c[61:24:74]:98\u201d is not an absolute URL.", + "html/microdata/itemtype/path-simple-relative-novalid.html": "Bad value \u201c/a/b/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/a/b/c\u201d is not an absolute URL.", + "html/microdata/itemtype/path-slash-only-relative-novalid.html": "Bad value \u201c/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/\u201d is not an absolute URL.", + "html/microdata/itemtype/path-tab-novalid.html": "Bad value \u201chttp://example.com/foo\tbar\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201cbar\u201d is not an absolute URL.", + "html/microdata/itemtype/path-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b ?\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c?\u201d is not an absolute URL.", + "html/microdata/itemtype/path-u0091-novalid.html": "Forbidden code point U+0091.", + "html/microdata/itemtype/port-cr-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/c\u201d is not an absolute URL.", + "html/microdata/itemtype/port-leading-colon-bracket-colon-novalid.html": "Bad value \u201chttp://2001::1]:80\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port.", + "html/microdata/itemtype/port-leading-colon-novalid.html": "Bad value \u201chttp://2001::1\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port.", + "html/microdata/itemtype/port-leading-dash-novalid.html": "Bad value \u201chttp://foo:-80/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port.", + "html/microdata/itemtype/port-multiple-letters-novalid.html": "Bad value \u201chttp://f:fifty-two/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port.", + "html/microdata/itemtype/port-newline-novalid.html": "Bad value \u201chttp://f:\n/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/c\u201d is not an absolute URL.", + "html/microdata/itemtype/port-single-letter-novalid.html": "Bad value \u201chttp://f:b/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in port.", + "html/microdata/itemtype/port-space-novalid.html": "Bad value \u201chttp://f: /c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/c\u201d is not an absolute URL.", + "html/microdata/itemtype/port-tab-novalid.html": "Bad value \u201chttp://f:\t/c\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c/c\u201d is not an absolute URL.", + "html/microdata/itemtype/query-empty-no-path-relative-novalid.html": "Bad value \u201c?\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c?\u201d is not an absolute URL.", + "html/microdata/itemtype/query-leading-space-novalid.html": "Bad value \u201chttp://f:21/b? d\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201cd\u201d is not an absolute URL.", + "html/microdata/itemtype/query-trailing-space-novalid.html": "Bad value \u201chttp://f:21/b?d #\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c#\u201d is not an absolute URL.", + "html/microdata/itemtype/scheme-data-single-slash-novalid.html": "Bad value \u201cdata:/example.com/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a token character or a semicolon but saw \u201c/\u201d instead.", + "html/microdata/itemtype/scheme-ftp-no-slash-novalid.html": "Bad value \u201cftp:example.com/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/microdata/itemtype/scheme-ftp-single-slash-novalid.html": "Bad value \u201cftp:/example.com/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/microdata/itemtype/scheme-http-backslash-novalid.html": "Bad value \u201chttp:\\\\foo.com\\\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/microdata/itemtype/scheme-http-no-slash-colon-novalid.html": "Bad value \u201chttp::@c:29\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/microdata/itemtype/scheme-http-no-slash-novalid.html": "Bad value \u201chttp:foo.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/microdata/itemtype/scheme-http-no-slash-square-bracket-novalid.html": "Bad value \u201chttp:[61:27]/:foo\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/microdata/itemtype/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/microdata/itemtype/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/microdata/itemtype/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a slash (\"/\").", + "html/microdata/itemtype/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: syntax error", + "html/microdata/itemtype/scheme-schemeless-relative-novalid.html": "Bad value \u201c//foo/bar\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c//foo/bar\u201d is not an absolute URL.", + "html/microdata/itemtype/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201cfoo.com\u201d is not an absolute URL.", + "html/microdata/itemtype/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201cfoo.com\u201d is not an absolute URL.", + "html/microdata/itemtype/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201cfoo.com\u201d is not an absolute URL.", + "html/microdata/itemtype/scheme-trailing-tab-novalid.html": "Bad value \u201ca:\tfoo.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201cfoo.com\u201d is not an absolute URL.", + "html/microdata/itemtype/userinfo-backslash-novalid.html": "Bad value \u201chttp://a\\b:c\\d@foo.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Backslash (\"\\\") used as path segment delimiter.", + "html/microdata/itemtype/userinfo-password-bad-chars-novalid.html": "\u201c&\u201d did not start a character reference. (\u201c&\u201d probably should have been escaped as \u201c&\u201d.)", + "html/microdata/itemtype/userinfo-password-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://foo:\ud83d\udca9@example.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in user or password: not a URL code point.", + "html/microdata/itemtype/userinfo-username-contains-at-sign-novalid.html": "Bad value \u201chttp://::@c@d:2\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: User or password contains an at symbol (\"@\") not percent-encoded.", + "html/microdata/itemtype/userinfo-username-contains-pile-of-poo-novalid.html": "Bad value \u201chttp://\ud83d\udca9:foo@example.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Illegal character in user or password: not a URL code point.", + "html/mime-types/001-novalid.html": "Bad value \u201ctext/html \u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Extraneous trailing whitespace.", + "html/mime-types/002-novalid.html": "Bad value \u201c TEXT/HTML\u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Expected a token character but saw \u201c \u201d instead.", + "html/mime-types/003-novalid.html": "Bad value \u201ctext/html;charset=\u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Parameter value missing.", + "html/mime-types/004-novalid.html": "Bad value \u201ctext/html ;charset\u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Parameter value missing.", + "html/mime-types/005-novalid.html": "Bad value \u201ctext/html;\u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Semicolon seen but there was no parameter following it.", + "html/mime-types/006-novalid.html": "Bad value \u201ctext/html; \u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Semicolon seen but there was no parameter following it.", + "html/mime-types/007-novalid.html": "Bad value \u201ctext/html ;\u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Semicolon seen but there was no parameter following it.", + "html/mime-types/008-novalid.html": "Bad value \u201ctext/html;charset=\"utf-8\u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Unfinished quoted string.", + "html/mime-types/009-novalid.html": "Bad value \u201ctext/html;charset=\"u\\\u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Unfinished quoted string.", + "html/mime-types/010-novalid.html": "Bad value \u201capplication\u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Subtype missing.", + "html/mime-types/011-novalid.html": "Bad value \u201capplication/\u201d for attribute \u201ctype\u201d on element \u201clink\u201d: Bad MIME type: Subtype missing.", + "html/obsolete/acronym-novalid.html": "The \u201cacronym\u201d element is obsolete. Use the \u201cabbr\u201d element instead.", + "html/obsolete/applet-novalid.html": "Element \u201capplet\u201d is missing required attribute \u201ccode\u201d.", + "html/obsolete/basefont-novalid.html": "The \u201cbasefont\u201d element is obsolete. Use CSS instead.", + "html/obsolete/big-novalid.html": "The \u201cbig\u201d element is obsolete. Use CSS instead.", + "html/obsolete/center-novalid.html": "The \u201ccenter\u201d element is obsolete. Use CSS instead.", + "html/obsolete/dir-novalid.html": "The \u201cdir\u201d element is obsolete. Use the \u201cul\u201d element instead.", + "html/obsolete/font-novalid.html": "The \u201cfont\u201d element is obsolete. Use CSS instead.", + "html/obsolete/frameset-novalid.html": "The \u201cframeset\u201d element is obsolete. Use the \u201ciframe\u201d element and CSS instead, or use server-side includes.", + "html/obsolete/noframes-novalid.html": "The \u201cnoframes\u201d element is obsolete. Use the \u201ciframe\u201d element and CSS instead, or use server-side includes.", + "html/obsolete/profile-novalid.html": "The \u201cprofile\u201d attribute on the \u201chead\u201d element is obsolete. To declare which \u201cmeta\u201d terms are used in the document, instead register the names as meta extensions. To trigger specific UA behaviors, use a \u201clink\u201d element instead.", + "html/obsolete/strike-novalid.html": "The \u201cstrike\u201d element is obsolete. Use CSS instead.", + "html/obsolete/tt-novalid.html": "The \u201ctt\u201d element is obsolete. Use CSS instead.", + "html/other/applet-novalid.html": "The \u201capplet\u201d element is obsolete. Use the \u201cobject\u201d element instead.", + "html/other/obj-novalid.html": "Element \u201cobj\u201d not allowed in this context. (The parent was element \u201cp\u201d.) Suppressing further errors from this subtree.", + "html/parser/cr-charref-novalid.html": "A numeric character reference expanded to carriage return.", + "html/parser/range-charref-novalid.html": "Character reference outside the permissible Unicode range.", + "html/parser/u000b-charref-novalid.html": "Character reference expands to a control character (U+000b).", + "html/parser/u000b-novalid.html": "Forbidden code point U+000b.", + "html/parser/u007f-charref-novalid.html": "Character reference expands to a control character (U+007f).", + "html/parser/u10ffff-charref-novalid.html": "Character reference expands to an astral non-character (U+10ffff).", + "html/parser/ufffe-charref-novalid.html": "Character reference expands to a non-character (U+fffe).", + "html/parser/unassigned-charref-novalid.html": "Character reference expands to a permanently unassigned code point.", + "xhtml/attributes/accesskey/003-novalid.xhtml": "Bad value \u201ca b \u306c c \u306c\u201d for attribute \u201caccesskey\u201d on element \u201ca\u201d: Bad key label list: Duplicate key label. Each key label must be unique.", + "xhtml/attributes/accesskey/004-novalid.xhtml": "Bad value \u201ca b \u307b\u3052\u201d for attribute \u201caccesskey\u201d on element \u201ca\u201d: Bad key label list: Key label has multiple characters. Each key label must be a single character.", + "xhtml/attributes/data/002-novalid.xhtml": "\u201cdata-*\u201d attributes must not have characters from the range \u201cA\u201d\u2026\u201cZ\u201d in the name.", + "xhtml/attributes/spellcheck/050-novalid.xhtml": "Bad value \u201cbadvalue\u201d for attribute \u201cspellcheck\u201d on element \u201cp\u201d.", + "xhtml/attributes/spellcheck/350-novalid.xhtml": "Bad value \u201cbadvalue\u201d for attribute \u201cspellcheck\u201d on element \u201cp\u201d.", + "xhtml/elements/a/100-novalid.xhtml": "Bad value \u201c\u201d for attribute \u201cname\u201d on element \u201ca\u201d: Bad id: An ID must not be the empty string.", + "xhtml/elements/base/001-novalid.xhtml": "Element \u201cbase\u201d is missing one or more of the following attributes: [href, target].", + "xhtml/elements/dialog/001-novalid.xhtml": "Element \u201cdt\u201d not allowed in this context. (The parent was element \u201cdialog\u201d.) Suppressing further errors from this subtree.", + "xhtml/elements/embed/001-novalid.xhtml": "Bad value \u201c20%\u201d for attribute \u201cheight\u201d on element \u201cembed\u201d: Bad non-negative integer: Expected a digit but saw \u201c%\u201d instead.", + "xhtml/elements/embed/002-novalid.xhtml": "Bad value \u201cfoo\u201d for attribute \u201ctype\u201d on element \u201cembed\u201d: Bad MIME type: Subtype missing.", + "xhtml/elements/embed/003-novalid.xhtml": "Bad value \u201c20%\u201d for attribute \u201cwidth\u201d on element \u201cembed\u201d: Bad non-negative integer: Expected a digit but saw \u201c%\u201d instead.", + "xhtml/elements/figure/002-novalid.xhtml": "Text not allowed in element \u201cfigure\u201d in this context.", + "xhtml/elements/figure/101-novalid.xhtml": "Element \u201cimg\u201d not allowed in this context. (The parent was element \u201cfigure\u201d.) Suppressing further errors from this subtree.", + "xhtml/elements/figure/102-novalid.xhtml": "Text not allowed in element \u201cfigure\u201d in this context.", + "xhtml/elements/figure/103-novalid.xhtml": "Text not allowed in element \u201cfigure\u201d in this context.", + "xhtml/elements/figure/104-novalid.xhtml": "Element \u201cimg\u201d not allowed in this context. (The parent was element \u201cfigure\u201d.) Suppressing further errors from this subtree.", + "xhtml/elements/figure/304-novalid.xhtml": "Element \u201cimg\u201d not allowed in this context. (The parent was element \u201cfigure\u201d.) Suppressing further errors from this subtree.", + "xhtml/elements/footer/001-novalid.xhtml": "The element \u201cfooter\u201d must not appear as a descendant of the \u201cfooter\u201d element.", + "xhtml/elements/footer/003-novalid.xhtml": "The element \u201cheader\u201d must not appear as a descendant of the \u201cfooter\u201d element.", + "xhtml/elements/header/001-novalid.xhtml": "The element \u201cfooter\u201d must not appear as a descendant of the \u201cheader\u201d element.", + "xhtml/elements/header/002-novalid.xhtml": "The element \u201cheader\u201d must not appear as a descendant of the \u201cheader\u201d element.", + "xhtml/elements/iframe/042-novalid.xhtml": "Text not allowed in element \u201ciframe\u201d in this context.", + "xhtml/elements/img/003-novalid.xhtml": "The \u201cimg\u201d element with the \u201cismap\u201d attribute set must have an \u201ca\u201d ancestor with the \u201chref\u201d attribute.", + "xhtml/elements/img/004-novalid.xhtml": "The element \u201cimg\u201d with the attribute \u201cusemap\u201d must not appear as a descendant of the \u201ca\u201d element.", + "xhtml/elements/img/051-novalid.xhtml": "Bad value \u201c-1\u201d for attribute \u201cwidth\u201d on element \u201cimg\u201d: Bad non-negative integer: Expected a digit but saw \u201c-\u201d instead.", + "xhtml/elements/input/003-novalid.xhtml": "The \u201clist\u201d attribute of the \u201cinput\u201d element must refer to a \u201cdatalist\u201d element.", + "xhtml/elements/keygen/054-novalid.xhtml": "Text not allowed in element \u201ckeygen\u201d in this context.", + "xhtml/elements/keygen/056-novalid.xhtml": "Bad value \u201cdsa\u201d for attribute \u201ckeytype\u201d on element \u201ckeygen\u201d.", + "xhtml/elements/keygen/057-novalid.xhtml": "Bad value \u201c\u201d for attribute \u201ckeytype\u201d on element \u201ckeygen\u201d.", + "xhtml/elements/keygen/058-novalid.xhtml": "Any \u201ckeygen\u201d descendant of a \u201clabel\u201d element with a \u201cfor\u201d attribute must have an ID value that matches that \u201cfor\u201d attribute.", + "xhtml/elements/keygen/059-novalid.xhtml": "Any \u201ckeygen\u201d descendant of a \u201clabel\u201d element with a \u201cfor\u201d attribute must have an ID value that matches that \u201cfor\u201d attribute.", + "xhtml/elements/keygen/060-novalid.xhtml": "The \u201clabel\u201d element may contain at most one \u201cinput\u201d, \u201cbutton\u201d, \u201cselect\u201d, \u201ctextarea\u201d, or \u201ckeygen\u201d descendant.", + "xhtml/elements/keygen/061-novalid.xhtml": "The element \u201ckeygen\u201d must not appear as a descendant of the \u201ca\u201d element.", + "xhtml/elements/keygen/154-novalid.xhtml": "Text not allowed in element \u201ckeygen\u201d in this context.", + "xhtml/elements/keygen/157-novalid.xhtml": "Bad value \u201c\u201d for attribute \u201ckeytype\u201d on element \u201ckeygen\u201d.", + "xhtml/elements/keygen/359-novalid.xhtml": "Any \u201ckeygen\u201d descendant of a \u201clabel\u201d element with a \u201cfor\u201d attribute must have an ID value that matches that \u201cfor\u201d attribute.", + "xhtml/elements/keygen/360-novalid.xhtml": "The \u201clabel\u201d element may contain at most one \u201cinput\u201d, \u201cbutton\u201d, \u201cselect\u201d, \u201ctextarea\u201d, or \u201ckeygen\u201d descendant.", + "xhtml/elements/keygen/361-novalid.xhtml": "The element \u201ckeygen\u201d must not appear as a descendant of the \u201ca\u201d element.", + "xhtml/elements/link/001-novalid.xhtml": "Element \u201clink\u201d is missing required attribute \u201chref\u201d.", + "xhtml/elements/menu/001-haswarn.xhtml": "The \u201cmenu\u201d element is not supported by browsers yet. It would probably be better to wait for implementations.", + "xhtml/elements/menu/001-novalid.xhtml": "The \u201ccontextmenu\u201d attribute must refer to a \u201cmenu\u201d element.", + "xhtml/elements/meter/010-novalid.xhtml": "The value of the \u201cmin\u201d attribute must be less than or equal to the value of the \u201cvalue\u201d attribute.", + "xhtml/elements/meter/011-novalid.xhtml": "Element \u201cmeter\u201d is missing required attribute \u201cvalue\u201d.", + "xhtml/elements/meter/012-novalid.xhtml": "Element \u201cmeter\u201d is missing required attribute \u201cvalue\u201d.", + "xhtml/elements/meter/110-novalid.xhtml": "The value of the \u201cmin\u201d attribute must be less than or equal to the value of the \u201cvalue\u201d attribute.", + "xhtml/elements/meter/312-novalid.xhtml": "Element \u201cmeter\u201d is missing required attribute \u201cvalue\u201d.", + "xhtml/elements/object/001-novalid.xhtml": "Element \u201cobject\u201d is missing one or more of the following attributes: [data, type].", + "xhtml/elements/progress/008-novalid.xhtml": "The value of the \u201cvalue\u201d attribute must be less than or equal to one when the \u201cmax\u201d attribute is absent.", + "xhtml/elements/progress/009-novalid.xhtml": "The value of the \u201cvalue\u201d attribute must be less than or equal to the value of the \u201cmax\u201d attribute.", + "xhtml/elements/progress/108-novalid.xhtml": "The value of the \u201cvalue\u201d attribute must be less than or equal to one when the \u201cmax\u201d attribute is absent.", + "xhtml/elements/progress/309-novalid.xhtml": "The value of the \u201cvalue\u201d attribute must be less than or equal to the value of the \u201cmax\u201d attribute.", + "xhtml/elements/ruby/001-novalid.xhtml": "Element \u201cruby\u201d is missing one or more of the following child elements: [rp, rt].", + "xhtml/elements/ruby/002-novalid.xhtml": "Element \u201cruby\u201d is missing required child element \u201crt\u201d.", + "xhtml/elements/script/001-novalid.xhtml": "The \u201clanguage\u201d attribute on the \u201cscript\u201d element is obsolete. Use the \u201ctype\u201d attribute instead.", + "xhtml/elements/table/201-novalid.xhtml": "Table cell spans past the end of its row group established by a \u201ctbody\u201d element; clipped to the end of the row group.", + "xhtml/elements/table/202-novalid.xhtml": "Table cell is overlapped by later table cell.", + "xhtml/elements/table/203-novalid.xhtml": "Table column 3 established by element \u201ctd\u201d has no cells beginning in it.", + "xhtml/elements/table/204-novalid.xhtml": "Row 3 of an implicit row group has no cells beginning on it.", + "xhtml/elements/table/205-novalid.xhtml": "Element \u201ccol\u201d not allowed in this context. (The parent was element \u201ctable\u201d.) Suppressing further errors from this subtree.", + "xhtml/other/045-novalid.xhtml": "The \u201capplet\u201d element is obsolete. Use the \u201cobject\u201d element instead." +} diff --git a/tests/wpt/web-platform-tests/conformance-checkers/tools/ins-del-datetime.py b/tests/wpt/web-platform-tests/conformance-checkers/tools/ins-del-datetime.py new file mode 100644 index 00000000000..3767a7d709f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/tools/ins-del-datetime.py @@ -0,0 +1,176 @@ +# -*- coding: utf-8 -*- +import os +ccdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +template = """ + +""" +errors = { + "date-year-0000": "0000-12-09", + "date-month-00": "2002-00-15", + "date-month-13": "2002-13-15", + "date-0005-02-29": "0005-02-29", + "date-1969-02-29": "1969-02-29", + "date-1900-02-29": "1900-02-29", + "date-2100-02-29": "2100-02-29", + "date-2200-02-29": "2200-02-29", + "date-2014-02-29": "2014-02-29", + "date-day-04-31": "2002-04-31", + "date-day-06-31": "2002-06-31", + "date-day-09-31": "2002-09-31", + "date-day-11-31": "2002-11-31", + "date-day-01-32": "2002-01-32", + "date-day-03-32": "2002-03-32", + "date-day-05-32": "2002-05-32", + "date-day-07-32": "2002-07-32", + "date-day-08-32": "2002-08-32", + "date-day-10-32": "2002-10-32", + "date-day-12-32": "2002-12-32", + "date-iso8601-YYYYMMDD-no-hyphen": "20020929", + "date-leading-whitespace": " 2002-09-29", + "date-trailing-whitespace": "2002-09-29 ", + "date-month-one-digit": "2002-9-29", + "date-month-three-digits": "2002-011-29", + "date-year-three-digits": "782-09-29", + "date-day-one-digit": "2002-09-9", + "date-day-three-digits": "2002-11-009", + "date-day-missing-separator": "2014-0220", + "date-month-missing-separator": "201402-20", + "date-non-ascii-digit": "2002-09-29", + "date-trailing-U+0000": "2002-09-29�", + "date-trailing-pile-of-poo": "2002-09-29💩", + "date-wrong-day-separator": "2014-02:20", + "date-wrong-month-separator": "2014:02-20", + "date-year-negative": "-2002-09-29", + "date-leading-bom": "2002-09-29", + "global-date-and-time-60-minutes": "2011-11-12T00:60:00+08:00", + "global-date-and-time-60-seconds": "2011-11-12T00:00:60+08:00", + "global-date-and-time-2400": "2011-11-12T24:00:00+08:00", + "global-date-and-time-space-before-timezone": "2011-11-12T06:54:39 08:00", + "global-date-and-time-hour-one-digit": "2011-11-12T6:54:39-08:00", + "global-date-and-time-hour-three-digits": "2011-11-12T016:54:39-08:00", + "global-date-and-time-minutes-one-digit": "2011-11-12T16:4:39-08:00", + "global-date-and-time-minutes-three-digits": "2011-11-12T16:354:39-08:00", + "global-date-and-time-seconds-one-digit": "2011-11-12T16:54:9-08:00", + "global-date-and-time-seconds-three-digits": "2011-11-12T16:54:039-08:00", + "global-date-and-time-timezone-with-seconds": "2011-11-12T06:54:39-08:00:00", + "global-date-and-time-timezone-60-minutes": "2011-11-12T06:54:39-08:60", + "global-date-and-time-timezone-one-digit-hour": "2011-11-12T06:54:39-5:00", + "global-date-and-time-timezone-one-digit-minute": "2011-11-12T06:54:39-05:0", + "global-date-and-time-timezone-three-digit-hour": "2011-11-12T06:54:39-005:00", + "global-date-and-time-timezone-three-digit-minute": "2011-11-12T06:54:39-05:000", + "global-date-and-time-nbsp": "2011-11-12 14:54Z", + "global-date-and-time-missing-minutes-separator": "2011-11-12T1454Z", + "global-date-and-time-missing-seconds-separator": "2011-11-12T14:5439Z", + "global-date-and-time-wrong-minutes-separator": "2011-11-12T14-54Z", + "global-date-and-time-wrong-seconds-separator": "2011-11-12T14:54-39Z", + "global-date-and-time-lowercase-z": "2011-11-12T14:54z", + "global-date-and-time-with-both-T-and-space": "2011-11-12T 14:54Z", + "global-date-and-time-zero-digit-fraction": "2011-11-12T06:54:39.-08:00", + "global-date-and-time-four-digit-fraction": "2011-11-12T06:54:39.9291-08:00", + "global-date-and-time-bad-fraction-separator": "2011-11-12T14:54:39,929+0000", + "global-date-and-time-timezone-non-T-character": "2011-11-12+14:54Z", + "global-date-and-time-timezone-lowercase-t": "2011-11-12t14:54Z", + "global-date-and-time-timezone-multiple-spaces": "2011-11-12 14:54Z", + "global-date-and-time-timezone-offset-space-start": "2011-11-12T06:54:39.929 08:00", + "global-date-and-time-timezone-offset-colon-start": "2011-11-12T06:54:39.929:08:00", + "global-date-and-time-timezone-plus-2400": "2011-11-12T06:54:39-24:00", + "global-date-and-time-timezone-minus-2400": "2011-11-12T06:54:39-24:00", + "global-date-and-time-timezone-iso8601-two-digit": "2011-11-12T06:54:39-08", + "global-date-and-time-iso8601-hhmmss-no-colon": "2011-11-12T145439Z", + "global-date-and-time-iso8601-hhmm-no-colon": "2011-11-12T1454Z", + "global-date-and-time-iso8601-hh": "2011-11-12T14Z", + "year": "2006", + "yearless-date": "07-15", + "month": "2011-11", + "week": "2011-W46", + "time": "14:54:39", + "local-date-and-time": "2011-11-12T14:54", + "duration-P-form": "PT4H18M3S", + "duration-time-component": "4h 18m 3s", +} + +warnings = { + "global-date-and-time-timezone-plus-1500": "2011-11-12T00:00:00+1500", + "global-date-and-time-timezone-minus-1300": "2011-11-12T00:00:00-1300", + "global-date-and-time-timezone-minutes-15": "2011-11-12T00:00:00+08:15", + "date-0214-09-29": "0214-09-29", + "date-20014-09-29": "20014-09-29", + "date-0004-02-29": "0004-02-29", + "date-year-five-digits": "12014-09-29", +} + +non_errors = { + "date": "2002-09-29", + "date-2000-02-29": "2000-02-29", + "date-2400-02-29": "2400-02-29", + "date-1968-02-29": "1968-02-29", + "date-1900-02-28": "1900-02-28", + "date-2100-02-28": "2100-02-28", + "date-2100-02-28": "2100-02-28", + "date-2200-02-28": "2200-02-28", + "date-2014-02-28": "2014-02-28", + "date-day-01-31": "2002-01-31", + "date-day-03-31": "2002-03-31", + "date-day-05-31": "2002-05-31", + "date-day-07-31": "2002-07-31", + "date-day-08-31": "2002-08-31", + "date-day-10-31": "2002-10-31", + "date-day-12-31": "2002-12-31", + "date-day-04-30": "2002-04-30", + "date-day-06-30": "2002-06-30", + "date-day-09-30": "2002-09-30", + "date-day-11-30": "2002-11-30", + "global-date-and-time-no-seconds": "2011-11-12T14:54Z", + "global-date-and-time-with-seconds": "2011-11-12T14:54:39+0000", + "global-date-and-time-with-one-digit-fraction": "2011-11-12T06:54:39.9-08:00", + "global-date-and-time-with-two-digit-fraction": "2011-11-12T06:54:39.92+07:00", + "global-date-and-time-with-three-digit-fraction": "2011-11-12T06:54:39.929-06:00", + "global-date-and-time-space": "2011-11-12 14:54Z", + "global-date-and-time-timezone": "2011-11-12T06:54:39+0900", + "global-date-and-time-timezone-30": "2011-11-12T06:54:39-0830", + "global-date-and-time-timezone-45": "2011-11-12T06:54:39-0845", + "global-date-and-time-timezone-with-colon": "2011-11-12T06:54:39-08:00", + "global-date-and-time-timezone-without-colon": "2011-11-12T06:54:39-0800", +} + +for key in errors.keys(): + error = errors[key] + template_ins = template + template_del = template + template_ins += '%s\n' % key + template_del += '%s\n' % key + template_ins += '' % errors[key] + template_del += '' % errors[key] + ins_file = open(os.path.join(ccdir, "html/elements/ins/%s-novalid.html" % key), 'wb') + ins_file.write(template_ins) + ins_file.close() + del_file = open(os.path.join(ccdir, "html/elements/del/%s-novalid.html" % key), 'wb') + del_file.write(template_del) + del_file.close() + +for key in warnings.keys(): + non_error = warnings[key] + template_ins = template + template_del = template + template_ins += '%s\n' % key + template_del += '%s\n' % key + template_ins += '' % warnings[key] + template_del += '' % warnings[key] + ins_file = open(os.path.join(ccdir, "html/elements/ins/%s-haswarn.html" % key), 'wb') + ins_file.write(template_ins) + ins_file.close() + del_file = open(os.path.join(ccdir, "html/elements/del/%s-haswarn.html" % key), 'wb') + del_file.write(template_del) + del_file.close() + +ins_file = open(os.path.join(ccdir, "html/elements/ins/datetime-isvalid.html"), 'wb') +del_file = open(os.path.join(ccdir, "html/elements/del/datetime-isvalid.html"), 'wb') +ins_file.write(template + 'valid datetime\n') +del_file.write(template + 'valid datetime\n') +for key in non_errors.keys(): + non_error = non_errors[key] + ins_file.write(' \n' % (non_errors[key], key)) + del_file.write(' \n' % (non_errors[key], key)) +ins_file.close() +del_file.close() +# vim: ts=4:sw=4 diff --git a/tests/wpt/web-platform-tests/conformance-checkers/tools/picture.py b/tests/wpt/web-platform-tests/conformance-checkers/tools/picture.py new file mode 100644 index 00000000000..5b03f67ac98 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/tools/picture.py @@ -0,0 +1,364 @@ +# -*- coding: utf-8 -*- +import os +ccdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +template = """ + +""" + +errors = { + # missing src on img + "img-no-src": "", + "img-no-src-with-srcset": "", + "img-no-src-with-picture": "", + "img-no-src-with-srcset-and-picture": "", + "img-no-src-with-source": "", + # junk content in picture + "junk-text-before-img": "x", + "junk-text-after-img": "x", + "junk-text-before-source": "x", + "junk-text-after-source": "x", + "junk-br-before-img": "
                                                                  ", + "junk-br-after-img": "
                                                                  ", + "junk-br-before-source": "
                                                                  ", + "junk-br-after-source": "
                                                                  ", + "junk-video-before": "", + "junk-video-no-img": "", + "junk-p-before": "

                                                                  ", + "junk-p-after": "

                                                                  ", + "junk-p-wrapping": "

                                                                  ", + "junk-span-before": "", + "junk-span-after": "", + "junk-span-wrapping": "", + "junk-picture-before": "", + "junk-picture-wrapping": "", + "junk-figure-wrapping": "
                                                                  ", + "junk-input-type-hidden": "", + "junk-style-scroped": "", + "junk-noscript": "", + "junk-noscript-after-source-no-img": "", + "junk-svg": "", + "junk-svg-no-img": "", + "junk-math-nog-img": "", + # parents + "parent-ul": "
                                                                  ", + "parent-dl": "
                                                                  ", + "parent-hgroup": "

                                                                  x

                                                                  ", + "parent-noscript-in-head": "", + # invalid html syntax + "html-syntax-source-end-tag": "", + "html-syntax-img-end-tag": "", + "html-syntax-picture-no-end-tag": "", + "html-syntax-picture-slash": "", + "html-syntax-picture-slash-no-end-tag": "", + # missing img in picture + "missing-img-empty-picture": "", + "missing-img-only-source": "", + "missing-img-only-script": "", + "missing-img-script-and-source": "", + "missing-img-source-and-script": "", + # multiple img in picture + "multiple-img": "", + "multiple-img-with-script": "", + "multiple-img-with-source": "", + "multiple-img-with-source-and-script": "", + # source after img + "source-after-img": "", + "source-before-and-after-img": "", + # source with following sibling source element or img element with a srcset attribute + "always-matching-source-with-following-img-srcset": "", + "always-matching-source-with-following-source-srcset": "", + "always-matching-source-with-following-source-media": "", + "always-matching-source-with-following-source-type": "", + "always-matching-source-media-empty-with-following-source-srcset": "", + "always-matching-source-media-spaces-with-following-source-srcset": "", + "always-matching-source-media-all-with-following-source-srcset": "", + "always-matching-source-media-uppercase-with-following-source-srcset": "", + "always-matching-source-media-all-spaces-with-following-source-srcset": "", + "always-matching-source-sizes-with-following-source-srcset": "", + # sizes present + "img-srcset-no-descriptor-with-sizes": "", + "img-srcset-w-and-x-width-sizes": "", + "source-srcset-x-with-sizes": "", + "source-srcset-h-with-sizes": "", + "source-srcset-w-and-x-with-sizes": "", + "img-with-sizes-no-srcset": "", + # width descriptor without sizes + "img-srcset-w-no-sizes": "", + "source-srcset-w-no-sizes": "", + "source-type-srcset-w": "", + # invalid attributes on source + "source-src": "", + "source-src-srcset": "", + "source-alt": "", + "source-width": "", + "source-height": "", + "source-usemap": "", + "source-ismap": "", + "source-crossorigin": "", + "source-name": "", + "source-align": "", + "source-hspace": "", + "source-vspace": "", + "source-longdesc": "", + "source-border": "", + # missing srcset on source + "source-no-srcset": "", + "source-no-srcset-with-sizes": "", + "source-no-srcset-with-media": "", + "source-no-srcset-with-type": "", + # invalid attributes on picture + "picture-src": "", + "picture-srcset": "", + "picture-media": "", + "picture-sizes": "", + "picture-alt": "", + "picture-width": "", + "picture-height": "", + "picture-usemap": "", + "picture-ismap": "", + "picture-crossorigin": "", + "picture-name": "", + "picture-lowsrc": "", + "picture-align": "", + "picture-hspace": "", + "picture-vspace": "", + "picture-longdesc": "", + "picture-border": "", + # invalid attributes on source in video + "video-source-srcset": "", + "video-source-srcset-src": "", + "video-source-sizes-srcset": "", + "video-source-media-src": "", + # srcset on other elements + "link-rel-icon-srcset": "", + "input-type-image-srcset": "", + "object-srcset": "", + "video-srcset": "", + "audio-srcset": "", + "track-srcset": "", + "svg-image-srcset": "", + # invalid attributes on img + "img-type": "", + "img-type-with-picture": "", + # sizes microsyntax + "sizes-microsyntax-media-all": "", + "sizes-microsyntax-media-all-and-min-width": "", + "sizes-microsyntax-media-min-width-no-parenthesis": "", + "sizes-microsyntax-media-general-enclosed-junk": "", + "sizes-microsyntax-media-bad-junk": "", + "sizes-microsyntax-two-defaults": "", + "sizes-microsyntax-default-first": "", + "sizes-microsyntax-trailing-comma": "", + "sizes-microsyntax-trailing-junk": "", + "sizes-microsyntax-junk-in-default": "", + "sizes-microsyntax-junk-in-source-size": "", + "sizes-microsyntax-percent-in-source-size-value": "", + "sizes-microsyntax-no-unit-in-source-size-value": "", + "sizes-microsyntax-deg-source-size-value": "", + "sizes-microsyntax-grad-source-size-value": "", + "sizes-microsyntax-rad-source-size-value": "", + "sizes-microsyntax-turn-source-size-value": "", + "sizes-microsyntax-s-source-size-value": "", + "sizes-microsyntax-ms-source-size-value": "", + "sizes-microsyntax-hz-source-size-value": "", + "sizes-microsyntax-khz-source-size-value": "", + "sizes-microsyntax-dpi-source-size-value": "", + "sizes-microsyntax-dpcm-source-size-value": "", + "sizes-microsyntax-dppx-source-size-value": "", + "sizes-microsyntax-auto-source-size-value": "", + "sizes-microsyntax-inherit-source-size-value": "", + "sizes-microsyntax-initial-source-size-value": "", + "sizes-microsyntax-default-source-size-value": "", + "sizes-microsyntax-foo-bar-source-size-value": "", + "sizes-microsyntax-negative-source-size-value": "", + "sizes-microsyntax-empty": "", + "sizes-microsyntax-comma": "", + "sizes-microsyntax-css-comment-after-plus": "", + "sizes-microsyntax-css-comment-before-unit": "", + "sizes-microsyntax-scientific-notation-negative": "", + "sizes-microsyntax-scientific-notation-non-integer-in-exponent": "", + # srcset microsyntax + "srcset-microsyntax-leading-comma": "", + "srcset-microsyntax-leading-comma-multiple": "", + "srcset-microsyntax-trailing-comma": "", + "srcset-microsyntax-trailing-comma-multiple": "", + "srcset-microsyntax-broken-url": "", + "srcset-microsyntax-non-integer-w": "", + "srcset-microsyntax-uppercase-w": "", + "srcset-microsyntax-plus-w": "", + "srcset-microsyntax-scientific-notation-w": "", + "srcset-microsyntax-zero-w": "", + "srcset-microsyntax-negative-zero-w": "", + "srcset-microsyntax-negative-w": "", + "srcset-microsyntax-plus-x": "", + "srcset-microsyntax-negative-x": "", + "srcset-microsyntax-zero-x": "", + "srcset-microsyntax-negative-zero-x": "", + "srcset-microsyntax-leading-dot-x": "", + "srcset-microsyntax-nan-x": "", + "srcset-microsyntax-infinity-x": "", + "srcset-microsyntax-x-and-w": "", + "srcset-microsyntax-x-and-h": "", + "srcset-microsyntax-w-and-h": "", + "srcset-microsyntax-h": "", + "srcset-microsyntax-function": "", + "srcset-microsyntax-parenthesis-junk": "", + "srcset-microsyntax-square-bracket-junk": "", + "srcset-microsyntax-curly-bracket-junk": "", + "srcset-microsyntax-pipe-junk": "", + "srcset-microsyntax-w-and-no-descriptor": "", + "srcset-microsyntax-unique-descriptors-1x-and-omitted": "", + "srcset-microsyntax-unique-descriptors-2x": "", + "srcset-microsyntax-unique-descriptors-integer-and-decimals-x": "", + "srcset-microsyntax-unique-descriptors-w": "", + "srcset-microsyntax-empty": "", + "srcset-microsyntax-comma": "", + "srcset-microsyntax-css-comment-after-descriptor": "", + # aria + "picture-aria-role-img": "", + "picture-aria-role-button": "", + "picture-aria-role-region": "", + "picture-aria-role-application": "", + "source-aria-role-img": "", + "picture-aria-role-presentation": "", + "source-aria-role-presentation": "", +} + +non_errors_in_head = { + "parent-template-in-head": "", +} + +non_errors = { + # basic + "basic-img-src": "", + "basic-picture-img-src": "", + "basic-picture-source": "", + # inter-element whitespace + "inter-element-whitespace": " ", + # parents + "parent-p": "

                                                                  ", + "parent-h1": "

                                                                  x

                                                                  ", + "parent-noscript-in-body": "", + "parent-object": "", + "parent-video": "", + "parent-section": "

                                                                  x

                                                                  ", + "parent-main": "
                                                                  ", + "parent-canvas": "", + "parent-template-in-body": "", + "parent-ruby": "x", + "parent-rt": "x", + "parent-rp": "xxx", + "parent-a": "", + "parent-button": "", + "parent-td": "
                                                                  ", + # script-supporting elements + "script-first": "", + "template-first": "", + "script-between": "", + "script-after": "", + "script-before-after": "", + "script-before-between-after": "", + "script-and-template": "", + # source with following sibling source element or img element with a srcset attribute + "source-with-media-img-with-srcset": "", + "source-with-media-uppercase-img-with-srcset": "", + "source-with-media-spaces-img-with-srcset": "", + "source-with-media-source-with-srcset": "", + "source-with-type-img-with-srcset": "", + "source-with-type-source-with-srcset": "", + # sizes present + "img-with-sizes": "", + "source-with-sizes": "", + # embed allows any attributes + "embed-srcset-empty": "", + "embed-srcset-junk": "", + "embed-sizes-empty": "", + "embed-sizes-junk": "", + # img src also in srcset + "img-src-also-in-srcset-1x": "", + "img-src-also-in-srcset-2x": "", + "img-src-also-in-srcset-w": "", + # img src not in srcset + "img-src-not-in-srcset-x": "", + "img-src-not-in-srcset-w": "", + # source type + "source-type": "", + "source-type-srcset-x": "", + "source-type-srcset-w-sizes": "", + # sizes microsyntax + "sizes-microsyntax-media-min-width": "", + "sizes-microsyntax-multiple-source-sizes": "", + "sizes-microsyntax-no-default": "", + "sizes-microsyntax-media-not-and": "", + "sizes-microsyntax-only-default": "", + "sizes-microsyntax-calc-in-default": "", + "sizes-microsyntax-calc-in-source-size-value": "", + "sizes-microsyntax-calc-in-media": "", + "sizes-microsyntax-zero": "", + "sizes-microsyntax-minus-zero": "", + "sizes-microsyntax-em-in-source-size-value": "", + "sizes-microsyntax-ex-in-source-size-value": "", + "sizes-microsyntax-ch-in-source-size-value": "", + "sizes-microsyntax-rem-in-source-size-value": "", + "sizes-microsyntax-vw-in-source-size-value": "", + "sizes-microsyntax-vh-in-source-size-value": "", + "sizes-microsyntax-vmin-in-source-size-value": "", + "sizes-microsyntax-vmax-in-source-size-value": "", + "sizes-microsyntax-cm-in-source-size-value": "", + "sizes-microsyntax-mm-in-source-size-value": "", + "sizes-microsyntax-q-in-source-size-value": "", + "sizes-microsyntax-in-in-source-size-value": "", + "sizes-microsyntax-pc-in-source-size-value": "", + "sizes-microsyntax-pt-in-source-size-value": "", + "sizes-microsyntax-px-in-source-size-value": "", + "sizes-microsyntax-non-integer-px-in-source-size-value": "", + "sizes-microsyntax-leading-css-comment": "", + "sizes-microsyntax-trailing-css-comment": "", + "sizes-microsyntax-plus": "", + "sizes-microsyntax-non-integer-omitted-zero": "", + "sizes-microsyntax-scientifi-notation-0": "", + "sizes-microsyntax-scientifi-notation-1": "", + "sizes-microsyntax-scientifi-notation-2": "", + "sizes-microsyntax-scientifi-notation-3": "", + "sizes-microsyntax-scientifi-notation-4": "", + # srcset microsyntax + "srcset-microsyntax-comma-in-url": "", + "srcset-microsyntax-percent-escaped-leading-comma-in-url": "", + "srcset-microsyntax-percent-escaped-trailing-comma-in-url": "", + "srcset-microsyntax-percent-escaped-space-in-url": "", + "srcset-microsyntax-w": "", + "srcset-microsyntax-x": "", + "srcset-microsyntax-non-integer-x": "", + "srcset-microsyntax-scientific-notation-x": "", + "srcset-microsyntax-scientific-notation-decimals-x": "", + "srcset-microsyntax-scientific-notation-e-plus-x": "", + "srcset-microsyntax-scientific-notation-e-minus-x": "", + "srcset-microsyntax-scientific-notation-e-uppercase-x": "", + "srcset-microsyntax-no-space-between-candidates": "", + # valid attributes on img in picture + "img-crossorigin-with-picture": "", + "img-usemap-with-picture": "", + "img-ismap-with-picture": "", + "img-width-height-with-picture": "", + "img-width-height-zero-with-picture": "", + # global attributes on picture + "picture-global-attributes": "", +} + +for key in errors.keys(): + template_error = template + template_error += 'invalid %s\n' % key + template_error += errors[key] + file = open(os.path.join(ccdir, "html/elements/picture/%s-novalid.html" % key), 'wb') + file.write(template_error) + file.close() + +file = open(os.path.join(ccdir, "html/elements/picture/picture-isvalid.html"), 'wb') +file.write(template + 'valid picture\n') +for key in non_errors_in_head.keys(): + file.write('%s \n' % (non_errors_in_head[key], key)) +file.write('\n') +for key in non_errors.keys(): + file.write('%s \n' % (non_errors[key], key)) +file.close() +# vim: ts=4:sw=4 diff --git a/tests/wpt/web-platform-tests/conformance-checkers/tools/url.py b/tests/wpt/web-platform-tests/conformance-checkers/tools/url.py new file mode 100644 index 00000000000..ce3eef7d868 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/tools/url.py @@ -0,0 +1,453 @@ +# -*- coding: utf-8 -*- +import os +ccdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +# based on https://github.com/w3c/web-platform-tests/blob/275544eab54a0d0c7f74ccc2baae9711293d8908/url/urltestdata.txt +invalid = { + "scheme-trailing-tab": "a:\tfoo.com", + "scheme-trailing-newline": "a:\nfoo.com", + "scheme-trailing-cr": "a:\rfoo.com", + "scheme-trailing-space": "a: foo.com", + "scheme-trailing-tab": "a:\tfoo.com", + "scheme-trailing-newline": "a:\nfoo.com", + "scheme-trailing-cr": "a:\rfoo.com", + "scheme-http-no-slash": "http:foo.com", + "scheme-http-no-slash-colon": "http::@c:29", + "scheme-http-no-slash-square-bracket": "http:[61:27]/:foo", + "scheme-http-backslash": "http:\\\\foo.com\\", + "scheme-http-single-slash": "http:/example.com/", + "scheme-ftp-single-slash": "ftp:/example.com/", + "scheme-https-single-slash": "https:/example.com/", + "scheme-data-single-slash": "data:/example.com/", + "scheme-ftp-no-slash": "ftp:example.com/", + "scheme-https-no-slash": "https:example.com/", + "scheme-javascript-no-slash-malformed": "javascript:example.com/", + "userinfo-password-bad-chars": "http://&a:foo(b]c@d:2/", + "userinfo-username-contains-at-sign": "http://::@c@d:2", + "userinfo-backslash": "http://a\\b:c\\d@foo.com", + "host-space": "http://example .org", + "host-tab": "http://example\t.org", + "host-newline": "http://example.\norg", + "host-cr": "http://example.\rorg", + "host-square-brackets-port-contains-colon": "http://[1::2]:3:4", + "port-single-letter": "http://f:b/c", + "port-multiple-letters": "http://f:fifty-two/c", + "port-leading-colon": "http://2001::1", + "port-leading-colon-bracket-colon": "http://2001::1]:80", + "path-leading-backslash-at-sign": "http://foo.com/\\@", + "path-leading-colon-backslash": ":\\", + "path-leading-colon-chars-backslash": ":foo.com\\", + "path-relative-square-brackets": "[61:24:74]:98", + "fragment-contains-hash": "http://foo/path#f#g", + "path-percent-encoded-malformed": "http://example.com/foo/%2e%2", + "path-bare-percent-sign": "http://example.com/foo%", + "path-u0091": u"http://example.com/foo\u0091".encode('utf-8'), + "userinfo-username-contains-pile-of-poo": "http://💩:foo@example.com", + "userinfo-password-contains-pile-of-poo": "http://foo:💩@example.com", + "host-hostname-in-brackets": "http://[www.google.com]/", + "host-empty": "http://", + "host-empty-with-userinfo": "http://user:pass@/", + "port-leading-dash": "http://foo:-80/", + "host-empty-userinfo-empty": "http://@/www.example.com", + "host-invalid-unicode": u"http://\ufdd0zyx.com".encode('utf-8'), + "host-invalid-unicode-percent-encoded": "http://%ef%b7%90zyx.com", + "host-double-percent-encoded": u"http://\uff05\uff14\uff11.com".encode('utf-8'), + "host-double-percent-encoded-percent-encoded": "http://%ef%bc%85%ef%bc%94%ef%bc%91.com", + "host-u0000-percent-encoded": u"http://\uff05\uff10\uff10.com".encode('utf-8'), + "host-u0000-percent-encoded-percent-encoded": "http://%ef%bc%85%ef%bc%90%ef%bc%90.com", +} +invalid_absolute = invalid.copy() + +invalid_url_code_points = { + "fragment-backslash": "#\\", + "fragment-leading-space": "http://f:21/b# e", + "path-contains-space": "/a/ /c", + "path-leading-space": "http://f:21/ b", + "path-tab": "http://example.com/foo\tbar", + "path-trailing-space": "http://f:21/b ?", + "port-cr": "http://f:\r/c", + "port-newline": "http://f:\n/c", + "port-space": "http://f: /c", + "port-tab": "http://f:\t/c", + "query-leading-space": "http://f:21/b? d", + "query-trailing-space": "http://f:21/b?d #", +} +invalid.update(invalid_url_code_points) +invalid_absolute.update(invalid_url_code_points) + +valid_absolute = { + "scheme-private": "a:foo.com", + "scheme-private-slash": "foo:/", + "scheme-private-slash-slash": "foo://", + "scheme-private-path": "foo:/bar.com/", + "scheme-private-path-leading-slashes-only": "foo://///////", + "scheme-private-path-leading-slashes-chars": "foo://///////bar.com/", + "scheme-private-path-leading-slashes-colon-slashes": "foo:////://///", + "scheme-private-single-letter": "c:/foo", + "scheme-private-single-slash": "madeupscheme:/example.com/", + "scheme-file-single-slash": "file:/example.com/", + "scheme-ftps-single-slash": "ftps:/example.com/", + "scheme-gopher-single-slash": "gopher:/example.com/", + "scheme-ws-single-slash": "ws:/example.com/", + "scheme-wss-single-slash": "wss:/example.com/", + "scheme-javascript-single-slash": "javascript:/example.com/", + "scheme-mailto-single-slash": "mailto:/example.com/", + "scheme-private-no-slash": "madeupscheme:example.com/", + "scheme-ftps-no-slash": "ftps:example.com/", + "scheme-gopher-no-slash": "gopher:example.com/", + "scheme-wss-no-slash": "wss:example.com/", + "scheme-mailto-no-slash": "mailto:example.com/", + "scheme-data-no-slash": "data:text/plain,foo", + "userinfo": "http://user:pass@foo:21/bar;par?b#c", + "host-ipv6": "http://[2001::1]", + "host-ipv6-port": "http://[2001::1]:80", + "port-none-but-colon": "http://f:/c", + "port-0": "http://f:0/c", + "port-00000000000000": "http://f:00000000000000/c", + "port-00000000000000000000080": "http://f:00000000000000000000080/c", + "port-00000000000000000000080": "http://f:00000000000000000000080/c", + "userinfo-host-port-path": "http://a:b@c:29/d", + "userinfo-username-non-alpha": "http://foo.com:b@d/", + "query-contains-question-mark": "http://foo/abcd?efgh?ijkl", + "fragment-contains-question-mark": "http://foo/abcd#foo?bar", + "path-percent-encoded-dot": "http://example.com/foo/%2e", + "path-percent-encoded-space": "http://example.com/%20foo", + "path-non-ascii": u"http://example.com/\u00C2\u00A9zbar".encode('utf-8'), + "path-percent-encoded-multiple": "http://example.com/foo%41%7a", + "path-percent-encoded-u0091": "http://example.com/foo%91", + "path-percent-encoded-u0000": "http://example.com/foo%00", + "path-percent-encoded-mixed-case": "http://example.com/%3A%3a%3C%3c", + "path-unicode-han": u"http://example.com/\u4F60\u597D\u4F60\u597D".encode('utf-8'), + "path-uFEFF": u"http://example.com/\uFEFF/foo".encode('utf-8'), + "path-u202E-u202D": u"http://example.com/\u202E/foo/\u202D/bar".encode('utf-8'), + "host-is-pile-of-poo": "http://💩", + "path-contains-pile-of-poo": "http://example.com/foo/💩", + "query-contains-pile-of-poo": "http://example.com/foo?💩", + "fragment-contains-pile-of-poo": "http://example.com/foo#💩", + "host-192.0x00A80001": "http://192.0x00A80001", + "userinfo-username-contains-percent-encoded": "http://%25DOMAIN:foobar@foodomain.com", + "userinfo-empty": "http://@www.example.com", + "userinfo-user-empty": "http://:b@www.example.com", + "userinfo-password-empty": "http://a:@www.example.com", + "host-exotic-whitespace": u"http://GOO\u200b\u2060\ufeffgoo.com".encode('utf-8'), + "host-exotic-dot": u"http://www.foo\u3002bar.com".encode('utf-8'), + "host-fullwidth": u"http://\uff27\uff4f.com".encode('utf-8'), + "host-idn-unicode-han": u"http://\u4f60\u597d\u4f60\u597d".encode('utf-8'), + "host-IP-address-broken": "http://192.168.0.257/", +} +valid = valid_absolute.copy() + +valid_relative = { + "scheme-schemeless-relative": "//foo/bar", + "path-slash-only-relative": "/", + "path-simple-relative": "/a/b/c", + "path-percent-encoded-slash-relative": "/a%2fc", + "path-percent-encoded-slash-plus-slashes-relative": "/a/%2f/c", + "query-empty-no-path-relative": "?", + "fragment-empty-hash-only-no-path-relative": "#", + "fragment-slash-relative": "#/", + "fragment-semicolon-question-mark-relative": "#;?", + "fragment-non-ascii-relative": u"#\u03B2".encode('utf-8'), +} +valid.update(valid_relative) +invalid_absolute.update(valid_relative) + +valid_relative_colon_dot = { + "scheme-none-relative": "foo.com", + "path-colon-relative": ":", + "path-leading-colon-letter-relative": ":a", + "path-leading-colon-chars-relative": ":foo.com", + "path-leading-colon-slash-relative": ":/", + "path-leading-colon-hash-relative": ":#", + "path-leading-colon-number-relative": ":23", + "path-slash-colon-number-relative": "/:23", + "path-leading-colon-colon-relative": "::", + "path-colon-colon-number-relative": "::23", + "path-starts-with-pile-of-poo": "💩http://foo", + "path-contains-pile-of-poo": "http💩//:foo", +} +valid.update(valid_relative_colon_dot) + +invalid_file = { + "scheme-file-backslash": "file:c:\\foo\\bar.html", + "scheme-file-single-slash-c-bar": "file:/C|/foo/bar", + "scheme-file-triple-slash-c-bar": "file:///C|/foo/bar", +} +invalid.update(invalid_file) + +valid_file = { + "scheme-file-uppercase": "File://foo/bar.html", + "scheme-file-slash-slash-c-bar": "file://C|/foo/bar", + "scheme-file-slash-slash-abc-bar": "file://abc|/foo/bar", + "scheme-file-host-included": "file://server/foo/bar", + "scheme-file-host-empty": "file:///foo/bar.txt", + "scheme-file-scheme-only": "file:", + "scheme-file-slash-only": "file:/", + "scheme-file-slash-slash-only": "file://", + "scheme-file-slash-slash-slash-only": "file:///", + "scheme-file-no-slash": "file:test", +} +valid.update(valid_file) +valid_absolute.update(valid_file) + +warnings = { + "scheme-data-contains-fragment": "data:text/html,test#test", +} + +element_attribute_pairs = [ + "a href", + # "a ping", space-separated list of URLs; tested elsewhere + "area href", + # "area ping", space-separated list of URLs; tested elsewhere + "audio src", + "base href", + "blockquote cite", + "button formaction", + "del cite", + "embed src", + "form action", + "html manifest", + "iframe src", + "img src", # srcset is tested elsewhere + "input formaction", # type=submit, type=image + "input src", # type=image + "input value", # type=url + "ins cite", + "link href", + #"menuitem icon", # skip until parser is updated + "object data", + "q cite", + "script src", + "source src", + "track src", + "video poster", + "video src", +] + +template = "\n\n" + +def write_novalid_files(): + for el, attr in (pair.split() for pair in element_attribute_pairs): + for desc, url in invalid.items(): + if ("area" == el): + f = open(os.path.join(ccdir, "html/elements/area/href/%s-novalid.html" % desc), 'wb') + f.write(template + 'invalid href: %s\n' % desc) + f.write('<%s %s="%s" alt>\n' % (el, attr, url)) + f.close() + elif ("base" == el or "embed" == el): + f = open(os.path.join(ccdir, "html/elements/%s/%s/%s-novalid.html" % (el, attr, desc)), 'wb') + f.write(template + 'invalid %s: %s\n' % (attr, desc)) + f.write('<%s %s="%s">\n' % (el, attr, url)) + f.close() + elif ("html" == el): + f = open(os.path.join(ccdir, "html/elements/html/manifest/%s-novalid.html" % desc), 'wb') + f.write('\n') + f.write('\n' % url) + f.write('\n') + f.write('invalid manifest: %s\n' % desc) + f.write('\n') + f.close() + elif ("img" == el): + f = open(os.path.join(ccdir, "html/elements/img/src/%s-novalid.html" % desc), 'wb') + f.write(template + 'invalid src: %s\n' % desc) + f.write('\n' % url) + f.close() + elif ("input" == el and "src" == attr): + f = open(os.path.join(ccdir, "html/elements/input/type-image-src/%s-novalid.html" % desc), 'wb') + f.write(template + 'invalid src: %s\n' % desc) + f.write('<%s type=image alt="foo" %s="%s">\n' % (el, attr, url)) + f.close() + elif ("input" == el and "formaction" == attr): + f = open(os.path.join(ccdir, "html/elements/input/type-submit-formaction/%s-novalid.html" % desc), 'wb') + f.write(template + 'invalid formaction: %s\n' % desc) + f.write('<%s type=submit %s="%s">\n' % (el, attr, url)) + f.close() + f = open(os.path.join(ccdir, "html/elements/input/type-image-formaction/%s-novalid.html" % desc), 'wb') + f.write(template + 'invalid formaction: %s\n' % desc) + f.write('<%s type=image alt="foo" %s="%s">\n' % (el, attr, url)) + f.close() + elif ("input" == el and "value" == attr): + f = open(os.path.join(ccdir, "html/elements/input/type-url-value/%s-novalid.html" % desc), 'wb') + f.write(template + 'invalid value attribute: %s\n' % desc) + f.write('<%s type=url %s="%s">\n' % (el, attr, url)) + f.close() + elif ("link" == el): + f = open(os.path.join(ccdir, "html/elements/link/href/%s-novalid.html" % desc), 'wb') + f.write(template + 'invalid href: %s\n' % desc) + f.write('\n' % url) + f.close() + elif ("source" == el or "track" == el): + f = open(os.path.join(ccdir, "html/elements/%s/%s/%s-novalid.html" % (el, attr, desc)), 'wb') + f.write(template + 'invalid %s: %s\n' % (attr, desc)) + f.write('\n' % (el, attr, url)) + f.close() + else: + f = open(os.path.join(ccdir, "html/elements/%s/%s/%s-novalid.html" % (el, attr, desc)), 'wb') + f.write(template + 'invalid %s: %s\n' % (attr, desc)) + f.write('<%s %s="%s">\n' % (el, attr, url, el)) + f.close() + for desc, url in invalid.items(): + f = open(os.path.join(ccdir, "html/microdata/itemid/%s-novalid.html" % desc), 'wb') + f.write(template + 'invalid itemid: %s\n' % desc) + f.write('
                                                                  \n' % url) + f.close() + for desc, url in invalid_absolute.items(): + f = open(os.path.join(ccdir, "html/microdata/itemtype/%s-novalid.html" % desc), 'wb') + f.write(template + 'invalid itemtype: %s\n' % desc) + f.write('
                                                                  \n' % url) + f.close() + f = open(os.path.join(ccdir, "html/elements/input/type-url-value/%s-novalid.html" % desc), 'wb') + f.write(template + 'invalid value attribute: %s\n' %desc) + f.write('\n' % url) + f.close() + +def write_haswarn_files(): + for el, attr in (pair.split() for pair in element_attribute_pairs): + for desc, url in warnings.items(): + if ("area" == el): + f = open(os.path.join(ccdir, "html/elements/area/href/%s-haswarn.html" % desc), 'wb') + f.write(template + '%s warning: %s\n' % (attr, desc)) + f.write('<%s %s="%s" alt>\n' % (el, attr, url)) + f.close() + elif ("base" == el or "embed" == el): + f = open(os.path.join(ccdir, "html/elements/%s/%s/%s-haswarn.html" % (el, attr, desc)), 'wb') + f.write(template + '%s warning: %s\n' % (attr, desc)) + f.write('<%s %s="%s">\n' % (el, attr, url)) + f.close() + elif ("html" == el): + f = open(os.path.join(ccdir, "html/elements/html/manifest/%s-haswarn.html" % desc), 'wb') + f.write('\n') + f.write('\n' % url) + f.write('\n') + f.write('%s warning: %s\n' % (attr, desc)) + f.write('\n') + f.close() + elif ("img" == el): + f = open(os.path.join(ccdir, "html/elements/img/src/%s-haswarn.html" % desc), 'wb') + f.write(template + '%s warning: %s\n' % (attr, desc)) + f.write('<%s %s="%s" alt>\n' % (el, attr, url)) + f.close() + elif ("input" == el and "src" == attr): + f = open(os.path.join(ccdir, "html/elements/input/type-image-src/%s-haswarn.html" % desc), 'wb') + f.write(template + '%s warning: %s\n' % (attr, desc)) + f.write('<%s type=image alt="foo" %s="%s">\n' % (el, attr, url)) + f.close() + elif ("input" == el and "formaction" == attr): + f = open(os.path.join(ccdir, "html/elements/input/type-submit-formaction/%s-haswarn.html" % desc), 'wb') + f.write(template + '%s warning: %s\n' % (attr, desc)) + f.write('<%s type=submit %s="%s">\n' % (el, attr, url)) + f.close() + f = open(os.path.join(ccdir, "html/elements/input/type-image-formaction/%s-haswarn.html" % desc), 'wb') + f.write(template + '%s warning: %s\n' % (attr, desc)) + f.write('<%s type=image alt="foo" %s="%s">\n' % (el, attr, url)) + f.close() + elif ("input" == el and "value" == attr): + f = open(os.path.join(ccdir, "html/elements/input/type-url-value/%s-haswarn.html" % desc), 'wb') + f.write(template + '%s warning: %s\n' % (attr, desc)) + f.write('<%s type=url %s="%s">\n' % (el, attr, url)) + f.close() + elif ("link" == el): + f = open(os.path.join(ccdir, "html/elements/link/href/%s-haswarn.html" % desc), 'wb') + f.write(template + '%s warning: %s\n' % (attr, desc)) + f.write('<%s %s="%s" rel=help>\n' % (el, attr, url)) + f.close() + elif ("source" == el or "track" == el): + f = open(os.path.join(ccdir, "html/elements/%s/%s/%s-haswarn.html" % (el, attr, desc)), 'wb') + f.write(template + '%s warning: %s\n' % (attr, desc)) + f.write('\n' % (el, attr, url)) + f.close() + else: + f = open(os.path.join(ccdir, "html/elements/%s/%s/%s-haswarn.html" % (el, attr, desc)), 'wb') + f.write(template + '%s warning: %s\n' % (url, desc)) + f.write('<%s %s="%s">\n' % (el, attr, url, el)) + f.close() + for desc, url in warnings.items(): + f = open(os.path.join(ccdir, "html/microdata/itemtype-%s-haswarn.html" % desc ), 'wb') + f.write(template + 'warning: %s\n' % desc) + f.write('
                                                                  \n' % url) + f.close() + f = open(os.path.join(ccdir, "html/microdata/itemid-%s-haswarn.html" % desc), 'wb') + f.write(template + 'warning: %s\n' % desc) + f.write('
                                                                  \n' % url) + f.close() + +def write_isvalid_files(): + for el, attr in (pair.split() for pair in element_attribute_pairs): + if ("base" == el): + continue + if ("html" == el): + continue + elif ("input" == el and "value" == attr): + continue + elif ("input" == el and "formaction" == attr): + fs = open(os.path.join(ccdir, "html/elements/input/type-submit-formaction-isvalid.html"), 'wb') + fs.write(template + 'valid formaction\n') + fi = open(os.path.join(ccdir, "html/elements/input/type-image-formaction-isvalid.html"), 'wb') + fi.write(template + 'valid formaction\n') + elif ("input" == el and "src" == attr): + f = open(os.path.join(ccdir, "html/elements/input/type-image-src-isvalid.html"), 'wb') + f.write(template + 'valid src\n') + else: + f = open(os.path.join(ccdir, "html/elements/%s/%s-isvalid.html" % (el, attr)), 'wb') + f.write(template + 'valid %s\n' % attr) + for desc, url in valid.items(): + if ("area" == el): + f.write('<%s %s="%s" alt>\n' % (el, attr, url, desc)) + elif ("embed" == el): + f.write('<%s %s="%s">\n' % (el, attr, url, desc)) + elif ("img" == el): + f.write('<%s %s="%s" alt>\n' % (el, attr, url, desc)) + elif ("input" == el and "src" == attr): + f.write('<%s type=image alt="foo" %s="%s">\n' % (el, attr, url, desc)) + elif ("input" == el and "formaction" == attr): + fs.write('<%s type=submit %s="%s">\n' % (el, attr, url, desc)) + fi.write('<%s type=image alt="foo" %s="%s">\n' % (el, attr, url, desc)) + elif ("link" == el): + f.write('<%s %s="%s" rel=help>\n' % (el, attr, url, desc)) + elif ("source" == el or "track" == el): + f.write('\n' % (el, attr, url, desc)) + else: + f.write('<%s %s="%s">\n' % (el, attr, url, el, desc)) + if ("input" == el and "formaction" == attr): + fs.close() + fi.close() + else: + if ("a" == el and "href" == attr): + f.write('\n') + f.close() + for desc, url in valid.items(): + f = open(os.path.join(ccdir, "html/elements/base/href/%s-isvalid.html" % desc), 'wb') + f.write(template + 'valid href: %s\n' % desc) + f.write('\n' % url) + f.close() + f = open(os.path.join(ccdir, "html/elements/html/manifest/%s-isvalid.html" % desc), 'wb') + f.write('\n') + f.write('\n' % url) + f.write('\n') + f.write('valid manifest: %s\n' % desc) + f.write('\n') + f.close() + f = open(os.path.join(ccdir, "html/elements/meta/refresh-isvalid.html"), 'wb') + f.write(template + 'valid meta refresh\n') + for desc, url in valid.items(): + f.write('\n' % (url, desc)) + f.close() + f = open(os.path.join(ccdir, "html/microdata/itemid-isvalid.html"), 'wb') + f.write(template + 'valid itemid\n') + for desc, url in valid.items(): + f.write('
                                                                  \n' % (url, desc)) + f.close() + f = open(os.path.join(ccdir, "html/microdata/itemtype-isvalid.html"), 'wb') + f.write(template + 'valid itemtype\n') + for desc, url in valid_absolute.items(): + f.write('
                                                                  \n' % (url, desc)) + f.close() + f = open(os.path.join(ccdir, "html/elements/input/type-url-value-isvalid.html"), 'wb') + f.write(template + 'valid value attribute\n') + for desc, url in valid_absolute.items(): + f.write('\n' % (url, desc)) + f.close() + +write_novalid_files() +write_haswarn_files() +write_isvalid_files() +# vim: ts=4:sw=4 diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/accesskey/003-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/accesskey/003-novalid.xhtml new file mode 100644 index 00000000000..0cf79bd9f5a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/accesskey/003-novalid.xhtml @@ -0,0 +1,8 @@ + + +accesskey attribute with duplicate key labels + + +foo + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/accesskey/004-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/accesskey/004-novalid.xhtml new file mode 100644 index 00000000000..a6088221c56 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/accesskey/004-novalid.xhtml @@ -0,0 +1,8 @@ + + +accesskey attribute with multi-character key label + + +foo + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/data/002-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/data/002-novalid.xhtml new file mode 100644 index 00000000000..59ba0740ad9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/data/002-novalid.xhtml @@ -0,0 +1,9 @@ + + + + starts with the string "data-", has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters + + +

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/050-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/050-novalid.xhtml new file mode 100644 index 00000000000..fe82de048ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/050-novalid.xhtml @@ -0,0 +1,8 @@ + + +spellcheck="badvalue" + + +

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/051-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/051-isvalid.xhtml new file mode 100644 index 00000000000..ffc5c2c5fd8 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/051-isvalid.xhtml @@ -0,0 +1,8 @@ + + +spellcheck="" + + +

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/052-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/052-isvalid.xhtml new file mode 100644 index 00000000000..be64c4d20bf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/052-isvalid.xhtml @@ -0,0 +1,8 @@ + + +spellcheck="true" + + +

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/053-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/053-isvalid.xhtml new file mode 100644 index 00000000000..a1d391dbc82 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/053-isvalid.xhtml @@ -0,0 +1,8 @@ + + +spellcheck="false" + + +

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/350-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/350-novalid.xhtml new file mode 100644 index 00000000000..fe82de048ba --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/attributes/spellcheck/350-novalid.xhtml @@ -0,0 +1,8 @@ + + +spellcheck="badvalue" + + +

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/a/100-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/a/100-novalid.xhtml new file mode 100644 index 00000000000..a093b6ee1fc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/a/100-novalid.xhtml @@ -0,0 +1,8 @@ + + +invalid empty value for a/@name + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/address/029-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/address/029-isvalid.xhtml new file mode 100644 index 00000000000..04c981450a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/address/029-isvalid.xhtml @@ -0,0 +1,15 @@ + + + <address> + + + +
                                                                  text
                                                                  + + +
                                                                  text
                                                                  + + +
                                                                  text elem
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/base/001-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/base/001-novalid.xhtml new file mode 100644 index 00000000000..917a9821171 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/base/001-novalid.xhtml @@ -0,0 +1,9 @@ + + + +base element missing href and target attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/blockquote/028-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/blockquote/028-isvalid.xhtml new file mode 100644 index 00000000000..8b61d25a2e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/blockquote/028-isvalid.xhtml @@ -0,0 +1,16 @@ + + + <blockquote> + + + +
                                                                  +

                                                                  header

                                                                  +

                                                                  text

                                                                  +

                                                                  text2

                                                                  +
                                                                  + + +

                                                                  text

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/code/010-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/code/010-isvalid.xhtml new file mode 100644 index 00000000000..ed6aa2c4b48 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/code/010-isvalid.xhtml @@ -0,0 +1,20 @@ + + + <code> + + + +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  +

                                                                  text

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/del/041-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/del/041-isvalid.xhtml new file mode 100644 index 00000000000..3d9fc243c63 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/del/041-isvalid.xhtml @@ -0,0 +1,32 @@ + + + <del> + + + +

                                                                  paragraph + + some + +

                                                                  + + +

                                                                  strictly inline + + text + +

                                                                  + + +

                                                                  paragraph + + link + +

                                                                  +

                                                                  strictly inline + + link + +

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/dialog/001-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/dialog/001-novalid.xhtml new file mode 100644 index 00000000000..dc4d58924d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/dialog/001-novalid.xhtml @@ -0,0 +1,13 @@ + + + <dialog> + + + +
                                                                  Foo
                                                                  +
                                                                  Bar
                                                                  +

                                                                  Blah

                                                                  +

                                                                  Bleh

                                                                  +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/dl/032-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/dl/032-isvalid.xhtml new file mode 100644 index 00000000000..e943d5e21f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/dl/032-isvalid.xhtml @@ -0,0 +1,53 @@ + + + Definition List: <dl> <dt> <dd> + + + +
                                                                  +
                                                                  text
                                                                  +
                                                                  text
                                                                  +
                                                                  + + +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  + + +
                                                                  +
                                                                  text
                                                                  +
                                                                  more text
                                                                  +
                                                                  text
                                                                  +
                                                                  more text
                                                                  +
                                                                  more text
                                                                  +
                                                                  text
                                                                  +
                                                                  text
                                                                  +
                                                                  text
                                                                  +
                                                                  more text
                                                                  +
                                                                  + + +
                                                                  +
                                                                  some text
                                                                  +
                                                                  more
                                                                  text
                                                                  +
                                                                  + + +
                                                                  +
                                                                  some text
                                                                  +
                                                                  +

                                                                  more

                                                                  +

                                                                  text

                                                                  +
                                                                  +
                                                                  + + +
                                                                  +
                                                                  some text
                                                                  +
                                                                  more text
                                                                  +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/em/006-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/em/006-isvalid.xhtml new file mode 100644 index 00000000000..f3c1e8da574 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/em/006-isvalid.xhtml @@ -0,0 +1,21 @@ + + + <em> + + + +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  +

                                                                  text

                                                                  + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/embed/001-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/embed/001-novalid.xhtml new file mode 100644 index 00000000000..9c4d55879ac --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/embed/001-novalid.xhtml @@ -0,0 +1,8 @@ + + +element embed with bad height value + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/embed/002-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/embed/002-novalid.xhtml new file mode 100644 index 00000000000..08e4e1935dd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/embed/002-novalid.xhtml @@ -0,0 +1,8 @@ + + +element embed with bad type value + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/embed/003-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/embed/003-novalid.xhtml new file mode 100644 index 00000000000..a635e11cfb9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/embed/003-novalid.xhtml @@ -0,0 +1,8 @@ + + +element embed with bad width value + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/002-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/002-novalid.xhtml new file mode 100644 index 00000000000..7c4681dd934 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/002-novalid.xhtml @@ -0,0 +1,12 @@ + + + Element before figcaption and text after + + +
                                                                  +bar +
                                                                  Bar
                                                                  +text +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/101-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/101-novalid.xhtml new file mode 100644 index 00000000000..213644e19d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/101-novalid.xhtml @@ -0,0 +1,12 @@ + + + Text before legend and element after + + +
                                                                  +text +
                                                                  Bar
                                                                  +bar +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/102-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/102-novalid.xhtml new file mode 100644 index 00000000000..7c4681dd934 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/102-novalid.xhtml @@ -0,0 +1,12 @@ + + + Element before figcaption and text after + + +
                                                                  +bar +
                                                                  Bar
                                                                  +text +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/103-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/103-novalid.xhtml new file mode 100644 index 00000000000..1b6506c1672 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/103-novalid.xhtml @@ -0,0 +1,12 @@ + + + Text before figcaption and text after + + +
                                                                  +text +
                                                                  Bar
                                                                  +text +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/104-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/104-novalid.xhtml new file mode 100644 index 00000000000..ca4c2ae615f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/104-novalid.xhtml @@ -0,0 +1,12 @@ + + + Element before figcaption and element after + + +
                                                                  +bar +
                                                                  Bar
                                                                  +bar +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/304-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/304-novalid.xhtml new file mode 100644 index 00000000000..ca4c2ae615f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/figure/304-novalid.xhtml @@ -0,0 +1,12 @@ + + + Element before figcaption and element after + + +
                                                                  +bar +
                                                                  Bar
                                                                  +bar +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/footer/001-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/footer/001-novalid.xhtml new file mode 100644 index 00000000000..9a503cf53b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/footer/001-novalid.xhtml @@ -0,0 +1,10 @@ + + +"footer" with "footer" descendant + + +
                                                                  +
                                                                  +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/footer/003-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/footer/003-novalid.xhtml new file mode 100644 index 00000000000..b08041b74f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/footer/003-novalid.xhtml @@ -0,0 +1,10 @@ + + +"footer" with "header" descendant + + +
                                                                  +
                                                                  +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/header/001-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/header/001-novalid.xhtml new file mode 100644 index 00000000000..8ff80389c6e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/header/001-novalid.xhtml @@ -0,0 +1,10 @@ + + +"header" with "footer" descendant + + +
                                                                  +
                                                                  +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/header/002-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/header/002-novalid.xhtml new file mode 100644 index 00000000000..bd69cf84b05 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/header/002-novalid.xhtml @@ -0,0 +1,10 @@ + + +"header" with "header" descendant + + +
                                                                  +
                                                                  +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/iframe/042-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/iframe/042-isvalid.xhtml new file mode 100644 index 00000000000..236e5d069e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/iframe/042-isvalid.xhtml @@ -0,0 +1,19 @@ + + + <iframe> + + + +

                                                                  + + +

                                                                  + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/iframe/042-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/iframe/042-novalid.xhtml new file mode 100644 index 00000000000..6977dfeef08 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/iframe/042-novalid.xhtml @@ -0,0 +1,8 @@ + + + The iframe element must be empty in XML documents + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/003-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/003-novalid.xhtml new file mode 100644 index 00000000000..7cc3479b6cb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/003-novalid.xhtml @@ -0,0 +1,8 @@ + + + invalid ismap + + +

                                                                  bar

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/004-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/004-novalid.xhtml new file mode 100644 index 00000000000..a771247e3cc --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/004-novalid.xhtml @@ -0,0 +1,9 @@ + + +invalid img@usemap as descendant of <a> element + + + +

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/043-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/043-isvalid.xhtml new file mode 100644 index 00000000000..21a73c76108 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/043-isvalid.xhtml @@ -0,0 +1,29 @@ + + + <img> + + + +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/051-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/051-isvalid.xhtml new file mode 100644 index 00000000000..660051a3ba9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/051-isvalid.xhtml @@ -0,0 +1,8 @@ + + +img with 0 value for width and height + + +bar + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/051-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/051-novalid.xhtml new file mode 100644 index 00000000000..5ba54ab82a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/051-novalid.xhtml @@ -0,0 +1,8 @@ + + +img with 0 value for width and height + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/052-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/052-isvalid.xhtml new file mode 100644 index 00000000000..0f7fe87022b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/052-isvalid.xhtml @@ -0,0 +1,8 @@ + + +img with positive values for width and height + + +bar + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/302-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/302-isvalid.xhtml new file mode 100644 index 00000000000..400af64899b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/img/302-isvalid.xhtml @@ -0,0 +1,9 @@ + + + valid img@usemap + + + +

                                                                  bar

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/input/003-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/input/003-novalid.xhtml new file mode 100644 index 00000000000..b098e9cfa88 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/input/003-novalid.xhtml @@ -0,0 +1,9 @@ + + +valid input/@list reference to datalist/@id + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ins/040-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ins/040-isvalid.xhtml new file mode 100644 index 00000000000..ef6da600ff2 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ins/040-isvalid.xhtml @@ -0,0 +1,25 @@ + + + <ins> + + + +

                                                                  strictly inline + + text + +

                                                                  + + +

                                                                  paragraph + + link + +

                                                                  +

                                                                  strictly inline + + link + +

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/054-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/054-isvalid.xhtml new file mode 100644 index 00000000000..b7bcb2021e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/054-isvalid.xhtml @@ -0,0 +1,8 @@ + + +empty keygen with no attributes + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/054-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/054-novalid.xhtml new file mode 100644 index 00000000000..d7fb2a61b5a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/054-novalid.xhtml @@ -0,0 +1,8 @@ + + +no-void keygen + + +foo + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/055-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/055-isvalid.xhtml new file mode 100644 index 00000000000..95cf40f3000 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/055-isvalid.xhtml @@ -0,0 +1,8 @@ + + +keygen with "challenge" attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/056-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/056-isvalid.xhtml new file mode 100644 index 00000000000..979638cf6b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/056-isvalid.xhtml @@ -0,0 +1,8 @@ + + +keygen with "keytype" attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/056-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/056-novalid.xhtml new file mode 100644 index 00000000000..093af9bbeda --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/056-novalid.xhtml @@ -0,0 +1,8 @@ + + +keygen with invalid value for "keytype" attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/057-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/057-isvalid.xhtml new file mode 100644 index 00000000000..9a42f1f283b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/057-isvalid.xhtml @@ -0,0 +1,8 @@ + + +keygen with empty "challenge" attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/057-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/057-novalid.xhtml new file mode 100644 index 00000000000..7421a0ef6e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/057-novalid.xhtml @@ -0,0 +1,8 @@ + + +keygen with invalid empty "keytype" attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/058-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/058-isvalid.xhtml new file mode 100644 index 00000000000..3a4b6c38fd7 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/058-isvalid.xhtml @@ -0,0 +1,10 @@ + + +keygen as <label descendant + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/058-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/058-novalid.xhtml new file mode 100644 index 00000000000..943fbd16f9f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/058-novalid.xhtml @@ -0,0 +1,10 @@ + + +keygen as <label descendant, with wrong ID + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/059-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/059-novalid.xhtml new file mode 100644 index 00000000000..fff964f990f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/059-novalid.xhtml @@ -0,0 +1,10 @@ + + +keygen as <label descendant, with no ID + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/060-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/060-novalid.xhtml new file mode 100644 index 00000000000..0c0003a0916 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/060-novalid.xhtml @@ -0,0 +1,11 @@ + + +keygen as redundant <label descendant + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/061-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/061-novalid.xhtml new file mode 100644 index 00000000000..d6f7be84034 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/061-novalid.xhtml @@ -0,0 +1,10 @@ + + +keygen as an invalid <a> descendant + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/154-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/154-novalid.xhtml new file mode 100644 index 00000000000..d7fb2a61b5a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/154-novalid.xhtml @@ -0,0 +1,8 @@ + + +no-void keygen + + +foo + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/157-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/157-novalid.xhtml new file mode 100644 index 00000000000..7421a0ef6e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/157-novalid.xhtml @@ -0,0 +1,8 @@ + + +keygen with invalid empty "keytype" attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/359-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/359-novalid.xhtml new file mode 100644 index 00000000000..fff964f990f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/359-novalid.xhtml @@ -0,0 +1,10 @@ + + +keygen as <label descendant, with no ID + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/360-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/360-novalid.xhtml new file mode 100644 index 00000000000..0c0003a0916 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/360-novalid.xhtml @@ -0,0 +1,11 @@ + + +keygen as redundant <label descendant + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/361-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/361-novalid.xhtml new file mode 100644 index 00000000000..d6f7be84034 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/keygen/361-novalid.xhtml @@ -0,0 +1,10 @@ + + +keygen as an invalid <a> descendant + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/link/001-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/link/001-novalid.xhtml new file mode 100644 index 00000000000..cf6cd35e7a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/link/001-novalid.xhtml @@ -0,0 +1,8 @@ + + +link element missing href attribute + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/map/048-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/map/048-isvalid.xhtml new file mode 100644 index 00000000000..5b5ed705941 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/map/048-isvalid.xhtml @@ -0,0 +1,21 @@ + + + <map> + + + + +

                                                                  header

                                                                  +

                                                                  textp

                                                                  +

                                                                  text

                                                                  +

                                                                  textp

                                                                  +

                                                                  text2

                                                                  +
                                                                  + + + +

                                                                  text

                                                                  +

                                                                  textp

                                                                  +
                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/mark/009-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/mark/009-isvalid.xhtml new file mode 100644 index 00000000000..ac1328d74e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/mark/009-isvalid.xhtml @@ -0,0 +1,21 @@ + + + <m> + + + +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  +

                                                                  text

                                                                  + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/menu/001-haswarn.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/menu/001-haswarn.xhtml new file mode 100644 index 00000000000..acce02af469 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/menu/001-haswarn.xhtml @@ -0,0 +1,21 @@ + + + valid contextmenus + + + + + + + + + + + + + + +

                                                                  foo

                                                                  +

                                                                  bar

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/menu/001-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/menu/001-novalid.xhtml new file mode 100644 index 00000000000..06e0ca28123 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/menu/001-novalid.xhtml @@ -0,0 +1,14 @@ + + + invalid contextmenu + + + + + + + + +

                                                                  foo

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/002-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/002-isvalid.xhtml new file mode 100644 index 00000000000..efb4dfa5756 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/002-isvalid.xhtml @@ -0,0 +1,26 @@ + + + <t> + + + +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  +

                                                                  text

                                                                  + + +

                                                                  text

                                                                  +

                                                                  text

                                                                  + + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/003-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/003-isvalid.xhtml new file mode 100644 index 00000000000..8149b2fa62f --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/003-isvalid.xhtml @@ -0,0 +1,8 @@ + + + valid meter + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/010-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/010-novalid.xhtml new file mode 100644 index 00000000000..cbf6b0909a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/010-novalid.xhtml @@ -0,0 +1,8 @@ + + + invalid meter + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/011-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/011-novalid.xhtml new file mode 100644 index 00000000000..32b5eb91463 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/011-novalid.xhtml @@ -0,0 +1,8 @@ + + + invalid meter + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/012-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/012-novalid.xhtml new file mode 100644 index 00000000000..8372b78b8eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/012-novalid.xhtml @@ -0,0 +1,8 @@ + + + invalid meter + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/110-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/110-novalid.xhtml new file mode 100644 index 00000000000..cbf6b0909a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/110-novalid.xhtml @@ -0,0 +1,8 @@ + + + invalid meter + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/312-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/312-novalid.xhtml new file mode 100644 index 00000000000..8372b78b8eb --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/meter/312-novalid.xhtml @@ -0,0 +1,8 @@ + + + invalid meter + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/object/001-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/object/001-novalid.xhtml new file mode 100644 index 00000000000..0869f60e382 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/object/001-novalid.xhtml @@ -0,0 +1,9 @@ + + + +object element missing data and type attributes + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/object/044-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/object/044-isvalid.xhtml new file mode 100644 index 00000000000..4669fe6e6bd --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/object/044-isvalid.xhtml @@ -0,0 +1,75 @@ + + + <object> + + + + +

                                                                  + + +

                                                                  + + +

                                                                  paragraph + + some + +

                                                                  +

                                                                  paragraph + + + some + +

                                                                  + + +

                                                                  strictly inline + + text + +

                                                                  +

                                                                  strictly inline + + + text + +

                                                                  + + +

                                                                  paragraph + + link + +

                                                                  +

                                                                  paragraph + + + link + +

                                                                  +

                                                                  strictly inline + + link + +

                                                                  +

                                                                  strictly inline + + + link + +

                                                                  + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ol/031-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ol/031-isvalid.xhtml new file mode 100644 index 00000000000..341b94d576e --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ol/031-isvalid.xhtml @@ -0,0 +1,36 @@ + + + Ordered List: <ol> <li> + + + +
                                                                    +
                                                                  1. text
                                                                  2. +
                                                                  + + +
                                                                    +
                                                                      +
                                                                    1. +
                                                                    2. +
                                                                    + + +
                                                                      +
                                                                    1. some text +
                                                                      more text
                                                                      +
                                                                    2. +
                                                                    + + +
                                                                      +
                                                                    1. +

                                                                      some

                                                                      +

                                                                      text

                                                                      +
                                                                    2. +
                                                                    + + +
                                                                    1. text
                                                                    + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/p/025-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/p/025-isvalid.xhtml new file mode 100644 index 00000000000..a2b95280b22 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/p/025-isvalid.xhtml @@ -0,0 +1,12 @@ + + + <p> + + + +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/pre/027-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/pre/027-isvalid.xhtml new file mode 100644 index 00000000000..6239c17dcaf --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/pre/027-isvalid.xhtml @@ -0,0 +1,15 @@ + + + <pre> + + + +
                                                                    text
                                                                    + + +
                                                                    text
                                                                    + + +
                                                                    text elem
                                                                    + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/002-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/002-isvalid.xhtml new file mode 100644 index 00000000000..64af31ef845 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/002-isvalid.xhtml @@ -0,0 +1,10 @@ + + + valid progress + + + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/008-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/008-novalid.xhtml new file mode 100644 index 00000000000..1c5475b85d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/008-novalid.xhtml @@ -0,0 +1,8 @@ + + + invalid progress + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/009-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/009-novalid.xhtml new file mode 100644 index 00000000000..4837071a653 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/009-novalid.xhtml @@ -0,0 +1,8 @@ + + + invalid progress + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/108-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/108-novalid.xhtml new file mode 100644 index 00000000000..1c5475b85d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/108-novalid.xhtml @@ -0,0 +1,8 @@ + + + invalid progress + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/309-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/309-novalid.xhtml new file mode 100644 index 00000000000..4837071a653 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/progress/309-novalid.xhtml @@ -0,0 +1,8 @@ + + + invalid progress + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/q/013-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/q/013-isvalid.xhtml new file mode 100644 index 00000000000..f2bce489052 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/q/013-isvalid.xhtml @@ -0,0 +1,20 @@ + + + <q> + + + +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    +

                                                                    text

                                                                    + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ruby/001-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ruby/001-novalid.xhtml new file mode 100644 index 00000000000..9ca30a58544 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ruby/001-novalid.xhtml @@ -0,0 +1,8 @@ + + +ruby element missing rt child + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ruby/002-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ruby/002-novalid.xhtml new file mode 100644 index 00000000000..139f5d7393d --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ruby/002-novalid.xhtml @@ -0,0 +1,8 @@ + + +ruby element missing rt child + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/samp/011-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/samp/011-isvalid.xhtml new file mode 100644 index 00000000000..70683839215 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/samp/011-isvalid.xhtml @@ -0,0 +1,20 @@ + + + <samp> + + + +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    +

                                                                    text

                                                                    + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/script/001-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/script/001-novalid.xhtml new file mode 100644 index 00000000000..dd911944f8b --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/script/001-novalid.xhtml @@ -0,0 +1,8 @@ + + +the "language" attribute is obsolete + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/span/014-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/span/014-isvalid.xhtml new file mode 100644 index 00000000000..d35d50680f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/span/014-isvalid.xhtml @@ -0,0 +1,20 @@ + + + <span> + + + +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    +

                                                                    text

                                                                    + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/strong/007-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/strong/007-isvalid.xhtml new file mode 100644 index 00000000000..e048214968a --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/strong/007-isvalid.xhtml @@ -0,0 +1,20 @@ + + + <strong> + + + +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    +

                                                                    text

                                                                    + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/strong/008-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/strong/008-isvalid.xhtml new file mode 100644 index 00000000000..1ecc22f8334 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/strong/008-isvalid.xhtml @@ -0,0 +1,20 @@ + + + <small> + + + +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    +

                                                                    text

                                                                    + + +

                                                                    text

                                                                    +

                                                                    text

                                                                    + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/201-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/201-isvalid.xhtml new file mode 100644 index 00000000000..57514cfb1da --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/201-isvalid.xhtml @@ -0,0 +1,13 @@ + + +Conforming HTML table + + + + + + + +
                                                                    12
                                                                    34
                                                                    + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/201-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/201-novalid.xhtml new file mode 100644 index 00000000000..36e0080cfe9 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/201-novalid.xhtml @@ -0,0 +1,11 @@ + + +Non-Conforming HTML table (rowspan past end of row group) + + + + + +
                                                                    1234
                                                                    567
                                                                    + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/202-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/202-isvalid.xhtml new file mode 100644 index 00000000000..8cd628ea290 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/202-isvalid.xhtml @@ -0,0 +1,11 @@ + + +Conforming HTML table + + + + + +
                                                                    12
                                                                    34
                                                                    + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/202-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/202-novalid.xhtml new file mode 100644 index 00000000000..45df2d36bd6 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/202-novalid.xhtml @@ -0,0 +1,11 @@ + + +Non-Conforming HTML table (Cell 5 overlaps cell 2) + + + + + +
                                                                    1234
                                                                    5
                                                                    + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/203-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/203-isvalid.xhtml new file mode 100644 index 00000000000..6db28a81e15 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/203-isvalid.xhtml @@ -0,0 +1,12 @@ + + +Conforming HTML table + + + + + + +
                                                                    12
                                                                    3
                                                                    4
                                                                    + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/203-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/203-novalid.xhtml new file mode 100644 index 00000000000..1d3ab03a484 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/203-novalid.xhtml @@ -0,0 +1,11 @@ + + +Non-Conforming HTML table (no cell starts in 3rd column) + + + + + +
                                                                    12
                                                                    34
                                                                    + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/204-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/204-isvalid.xhtml new file mode 100644 index 00000000000..0ef76ca45e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/204-isvalid.xhtml @@ -0,0 +1,8892 @@ + + + Big Table + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                    + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/204-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/204-novalid.xhtml new file mode 100644 index 00000000000..4c38ca263de --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/204-novalid.xhtml @@ -0,0 +1,13 @@ + + +Non-Conforming HTML table (3rd row has no cells beginning in it) + + + + + + + +
                                                                    12
                                                                    3
                                                                    4
                                                                    + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/205-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/205-novalid.xhtml new file mode 100644 index 00000000000..a6515e851c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/table/205-novalid.xhtml @@ -0,0 +1,13 @@ + + +Conforming HTML table + + + ++ + + +
                                                                    12
                                                                    3
                                                                    4
                                                                    + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/time/001-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/time/001-isvalid.xhtml new file mode 100644 index 00000000000..ed9c3d9a0de --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/time/001-isvalid.xhtml @@ -0,0 +1,55 @@ + + + <t> + + + +

                                                                    + + +

                                                                    + + +

                                                                    text

                                                                    +

                                                                    text

                                                                    + + +

                                                                    +

                                                                    + + +

                                                                    +

                                                                    +

                                                                    + +

                                                                    +

                                                                    +

                                                                    + +

                                                                    +

                                                                    +

                                                                    + +

                                                                    +

                                                                    +

                                                                    + + +

                                                                    +

                                                                    +

                                                                    + +

                                                                    +

                                                                    +

                                                                    + +

                                                                    +

                                                                    +

                                                                    + +

                                                                    +

                                                                    +

                                                                    + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ul/030-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ul/030-isvalid.xhtml new file mode 100644 index 00000000000..da9df2f5444 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/elements/ul/030-isvalid.xhtml @@ -0,0 +1,35 @@ + + + Unordered List: <ul> <li> + + + +
                                                                      +
                                                                    • text
                                                                    • +
                                                                    + + +
                                                                      +
                                                                        +
                                                                      • +
                                                                      • +
                                                                      + + +
                                                                        +
                                                                      • some text +
                                                                        more text
                                                                        +
                                                                      • +
                                                                      + +
                                                                        +
                                                                      • +

                                                                        some

                                                                        +

                                                                        text

                                                                        +
                                                                      • +
                                                                      + + + + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/media-queries/119-isvalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/media-queries/119-isvalid.xhtml new file mode 100644 index 00000000000..857c16dea38 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/media-queries/119-isvalid.xhtml @@ -0,0 +1,11 @@ + + + + +Check that device-aspect-ratio allows CR before and after slash + + + +

                                                                      Check that device-aspect-ratio allows CR before andafter slash

                                                                      + + diff --git a/tests/wpt/web-platform-tests/conformance-checkers/xhtml/other/045-novalid.xhtml b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/other/045-novalid.xhtml new file mode 100644 index 00000000000..eab5bd7c667 --- /dev/null +++ b/tests/wpt/web-platform-tests/conformance-checkers/xhtml/other/045-novalid.xhtml @@ -0,0 +1,105 @@ + + + <applet> + + + +

                                                                      + + +

                                                                      + + + + + +

                                                                      paragraph + + some
                                                                      • inline
                                                                      content +
                                                                      +

                                                                      +

                                                                      paragraph + + + some
                                                                      • inline
                                                                      content +
                                                                      +

                                                                      + + +

                                                                      strictly inline + + text + +

                                                                      +

                                                                      strictly inline + + + text + +

                                                                      + + + +

                                                                      text

                                                                      +
                                                                      + + +

                                                                      text

                                                                      +
                                                                      + + +

                                                                      paragraph + + link + +

                                                                      +

                                                                      paragraph + + + link + +

                                                                      +

                                                                      strictly inline + + link + +

                                                                      +

                                                                      strictly inline + + + link + +

                                                                      + +

                                                                      link

                                                                      +
                                                                      + + +

                                                                      link

                                                                      +
                                                                      + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/README.css b/tests/wpt/web-platform-tests/content-security-policy/README.css new file mode 100644 index 00000000000..d47a5034ba0 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/README.css @@ -0,0 +1,27 @@ + +.code { + font-family: monospace; + color: darkorange; +} + +.codeTitle { + font-family: sans-serif; + padding: .3em; + margin-bottom: -1em; + background: #ffe; + border-color: #ccc; + border-width: 1px; + border-style: groove; +} + +.highlight1 { + background: yellow; +} + +.highlight2 { + background: pink; +} + +body { + font-family: sans-serif; +} diff --git a/tests/wpt/web-platform-tests/content-security-policy/README.html b/tests/wpt/web-platform-tests/content-security-policy/README.html new file mode 100644 index 00000000000..6d71659cbb7 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/README.html @@ -0,0 +1,119 @@ + + + + + Introduction to Writing Content Security Policy Tests + + + + + + + +

                                                                      Introduction to Writing Content Security Policy Tests

                                                                      +

                                                                      The CSP test suite uses the standard W3C testharness.js framework, but there are a few additional things you'll need to do because of the unique way CSP works, even if you're already an expert at writing W3C tests. These tests require the use of the + wptserve server (included in the web-platform-tests repository) to operate correctly.

                                                                      + +

                                                                      What's different about writing CSP tests?

                                                                      + +

                                                                      Headers

                                                                      +

                                                                      Content Security Policy is preferentially set through an HTTP header. This means we can't do our tests just as a simple set of HTML+CSS+JS files. Luckily the wptserver framework provides an easy method to add headers to a file.

                                                                      +

                                                                      If my file is named example.html then I can create a file + example.html.headers to define the headers that will be served with it. If I need to do template substitutions in the headers, I can instead create a file named example.html.sub.headers.

                                                                      + +

                                                                      Negative Test Cases and Blocked Script Execution

                                                                      +

                                                                      Another interesting feature of CSP is that it prevents things from happening. It even can and prevent script from running. How do we write tests that detect something didn't happen?

                                                                      + +

                                                                      Checking Reports

                                                                      +

                                                                      CSP also has a feature to send a report. We ideally want to check that whenever a policy is enforced, a report is sent. This also helps us with the previous problem - if it is difficult to observe something not happening, we can still check that a report fired.

                                                                      + +

                                                                      Putting it Together

                                                                      +

                                                                      Here's an example of a simple test. (ignore the highlights for now...) This file lives in the + /content-security-policy/script-src/ directory.

                                                                      + +

                                                                      script-src-1_1.html

                                                                      +
                                                                      <!DOCTYPE HTML>
                                                                      +<html>
                                                                      +<head>
                                                                      +    <script src='/resources/testharness.js'></script>
                                                                      +    <script src='/resources/testharnessreport.js'></script>
                                                                      +    <link rel='stylesheet' href='/resources/testharness.css'>
                                                                      +</head>
                                                                      +<body>
                                                                      +    <h1>Inline script should not run without 'unsafe-inline' script-src directive.</h1>
                                                                      +    <div id='log'></div>
                                                                      +
                                                                      +    <script>
                                                                      +    test(function() {
                                                                      +        asset_unreached('Unsafe inline script ran.')},
                                                                      +        'Inline script in a script tag should not run without an unsafe-inline directive'
                                                                      +    );
                                                                      +    </script>
                                                                      +
                                                                      +    <img src='doesnotexist.jpg' onerror='test(function() { assert_false(true, "Unsafe inline event handler ran.") }, "Inline event handlers should not run without an unsafe-inline directive");'>
                                                                      +
                                                                      +    <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27'></script>
                                                                      +
                                                                      +</body>
                                                                      +</html>
                                                                      +        
                                                                      + + +

                                                                      This code includes three tests. The first one in the script block will generate a failure if it runs. The second one, in the onerror handler for the img which does not exist should also generate a failure if it runs. But for a successful CSP implementation, neither of these tests does run. The final test is run by the link to ../support/checkReport.sub.js. It will load some script in the page (make sure its not blocked by your policy!) which contacts the server asynchronously and sees if the expected report was sent. This should always run an generate a positive or negative result even if the inline tests are blocked as we expect.

                                                                      + +

                                                                      Now, to acutally exercise these tests against a policy, we'll need to set headers. In the same directory we'll place this file:

                                                                      + +

                                                                      script-src-1_1.html.sub.headers

                                                                      +
                                                                      
                                                                      +Expires: Mon, 26 Jul 1997 05:00:00 GMT
                                                                      +Cache-Control: no-store, no-cache, must-revalidate
                                                                      +Cache-Control: post-check=0, pre-check=0, false
                                                                      +Pragma: no-cache
                                                                      +Set-Cookie: script-src-1_1={{$id:uuid()}}; Path=/content-security-policy/script-src/
                                                                      +Content-Security-Policy: script-src 'self'; report-uri  ../support/report.py?op=put&reportID={{$id}}
                                                                      +        
                                                                      +

                                                                      This sets some headers to prevent caching (just so we are more likely to see our latest changes if we're actively developing this test) sets a cookie (more on that later) and sets the relevant Content-Security-Policy header for our test case.

                                                                      + +

                                                                      What about those highlights?

                                                                      +

                                                                      In production code we don't like to repeat ourselves. For this test suite, we'll relax that rule a little bit. Why? It's easier to have many people contributing "safe" files using some template substitutions than require every file to be executable content like Python or PHP which would require much more careful code review. The highlights show where you have to be careful as you repeat yourself in more limited static files. +

                                                                      + +

                                                                      The YELLOW highlighted text is information that must be the same between both files for report checking to work correctly. In the html file, we're telling + checkReport.sub.js to check the value of the + violated-directive key in the report JSON. So it needs to match (after URL encoding) the directive we set in the header.

                                                                      + +

                                                                      The PINK highlighted text is information that must be repeated from the path and filename of your test file into the headers file. The name of the cookie must match the name of the test file without its extension, the path for the cookie must be correct, and the relative path component to the report-uri must also be corrected if you nest your tests more than one directory deep.

                                                                      + +

                                                                      Check Your Effects!

                                                                      +

                                                                      A good test case should also verify the state of the DOM in addition to checking the report - after all, a browser might send a report without actually blocking the banned content. Note that in a browser without CSP support there will be three failures on the example page as the inline script executes.

                                                                      +

                                                                      How exactly you check your effects will depend on the directive, but don't hesitate to use script for testing to see if computed styles are as expected, if layouts changed or if certain elements were added to the DOM. Checking that the report also fired is just the final step of verifing correct behavior.

                                                                      + +

                                                                      Note that avoiding inline script is good style and good habits, but not 100% necessary for every test case. Go ahead and specify 'unsafe-inline' if it makes your life easier.

                                                                      + +

                                                                      Report Existence Only and Double-Negative Tests

                                                                      +

                                                                      If you want to check that a report exists, or verify that a report wasn't sent for a double-negative test case, + you can pass ?reportExists=[true|false] to checkReport.sub.js instead of reportField and reportValue.

                                                                      + +

                                                                      How does the magic happen?

                                                                      +

                                                                      Behind the scenes, a few things are going on in the framework.

                                                                      +
                                                                        +
                                                                      1. The {{$id:uuid}} templating marker in the headers file tells the wptserve HTTP server to create a new unique id and assign it to a variable, which we can re-use as {{$id}}.
                                                                      2. +
                                                                      3. We'll use this UUID in two places: +
                                                                          +
                                                                        1. As a GET parameter to our reporting script, to uniquely identify this instance of the test case so our report can be stored and retrieved. +
                                                                        2. +
                                                                        3. As a cookie value associated with the filename, so script in the page context can learn what UUID the report was sent under.
                                                                        4. +
                                                                        +
                                                                      4. +
                                                                      5. The report listener is a simple python file that stashes the report value under its UUID and allows it to be retrieved again, exactly once.
                                                                      6. +
                                                                      7. checkReport.sub.js then grabs the current path information and uses that to find the cookie holding the report UUID. It deletes that cookie (otherwise the test suite would overrun the maximum size of a cookie header allowed) then makes an XMLHttpRequest to the report listener to retrieve the report, parse it and verify the contents as per the parameters it was loaded with.
                                                                      8. +
                                                                      + +

                                                                      Why all these gymnastics? CSP reports are delivered by an anonymous fetch. This means that the browser does not process the response headers, body, or allow any state changes as a result. So we can't pull a trick like just echoing the report contents back in a Set-Cookie header or writing them to local storage.

                                                                      + +

                                                                      Luckily, you shouldn't have to worry about this magic much, as long as you get the incantation correct.

                                                                      + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_10.html b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_10.html new file mode 100644 index 00000000000..703e50b4460 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_10.html @@ -0,0 +1,21 @@ + + + + test implicit port number matching (requires port 80) + + + + + +

                                                                      test implicit port number matching (requires port 80)

                                                                      +
                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_10.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_10.html.sub.headers new file mode 100644 index 00000000000..c58b0536ff7 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_10.html.sub.headers @@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_10={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' www.{{host}} 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_10_1.sub.html b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_10_1.sub.html new file mode 100644 index 00000000000..c66640de333 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_10_1.sub.html @@ -0,0 +1,22 @@ + + + + implicit port number matching fails with a different port + + + + + + +

                                                                      implicit port number matching fails with a different port

                                                                      +
                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_10_1.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_10_1.sub.html.sub.headers new file mode 100644 index 00000000000..e8fcf07c203 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_10_1.sub.html.sub.headers @@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_10_1={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' www.{{host}} 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2.html b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2.html new file mode 100644 index 00000000000..130bfadad96 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2.html @@ -0,0 +1,15 @@ + + + + 'self' keyword positive test + + + + + +

                                                                      'self' keyword positive test

                                                                      +
                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2.html.sub.headers new file mode 100644 index 00000000000..776112de60d --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2.html.sub.headers @@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_2={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2_2.sub.html b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2_2.sub.html new file mode 100644 index 00000000000..9d274ea597e --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2_2.sub.html @@ -0,0 +1,22 @@ + + + + 'self' fails with a different port + + + + + + +

                                                                      'self' fails with a different port

                                                                      +
                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2_2.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2_2.sub.html.sub.headers new file mode 100644 index 00000000000..769ccc154e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2_2.sub.html.sub.headers @@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_2_2={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2_3.html b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2_3.html new file mode 100644 index 00000000000..ff4b8db8a78 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2_3.html @@ -0,0 +1,22 @@ + + + + 'self' fails with a different host (including sub-host e.g. foo.com as self with content from bar.foo.com) + + + + + + +

                                                                      'self' fails with a different host (including sub-host e.g. foo.com as self with content from bar.foo.com)

                                                                      +
                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2_3.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2_3.html.sub.headers new file mode 100644 index 00000000000..0a8defccd6c --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_2_3.html.sub.headers @@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_2_3={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_8.html b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_8.html new file mode 100644 index 00000000000..2e7df3776ad --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_8.html @@ -0,0 +1,22 @@ + + + + test wildcard host name matching (*.web-platform.test is good) + + + + + + +

                                                                      test wildcard host name matching (*.web-platform.test is good)

                                                                      +
                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_8.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_8.html.sub.headers new file mode 100644 index 00000000000..34756f9dbe0 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_8.html.sub.headers @@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_8={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' *.{{host}}:{{ports[http][0]}} 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_8_1.sub.html b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_8_1.sub.html new file mode 100644 index 00000000000..167b4458da7 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_8_1.sub.html @@ -0,0 +1,21 @@ + + + + test wildcard host name matching (www*.web-platform.test is bad, *www.web-platform.test is bad) + + + + + + +

                                                                      test wildcard host name matching (www*.web-platform.test is bad, *www.web-platform.test is bad)

                                                                      +
                                                                      + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_8_1.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_8_1.sub.html.sub.headers new file mode 100644 index 00000000000..57a038a0539 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_8_1.sub.html.sub.headers @@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_8_1={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' *w.{{host}}:{{ports[http][0]}} w*.{{host}}:{{ports[http][0]}} 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_9.sub.html b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_9.sub.html new file mode 100644 index 00000000000..cadeb178f3a --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_9.sub.html @@ -0,0 +1,22 @@ + + + + test wildcard port number matching + + + + + + +

                                                                      test wildcard port number matching

                                                                      +
                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_9.sub.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_9.sub.html.sub.headers new file mode 100644 index 00000000000..2f23360097d --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/generic-0_9.sub.html.sub.headers @@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_9={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' {{host}}:* 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/negativeTests.js b/tests/wpt/web-platform-tests/content-security-policy/generic/negativeTests.js new file mode 100644 index 00000000000..44b4d7f683d --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/negativeTests.js @@ -0,0 +1,3 @@ +var t1 = async_test("Prevents access to external scripts."); + +onload = function() {t1.done();} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/positiveTest.js b/tests/wpt/web-platform-tests/content-security-policy/generic/positiveTest.js new file mode 100644 index 00000000000..63c99919623 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/positiveTest.js @@ -0,0 +1,6 @@ +onload = function() { + test(function() { + assert_true(true, 'Script ran.')}, + "Allows scripts from the same host." + ); +} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/unreached.js b/tests/wpt/web-platform-tests/content-security-policy/generic/unreached.js new file mode 100644 index 00000000000..893fb5eba10 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/unreached.js @@ -0,0 +1,3 @@ +onload = function() { + t1.step(function() {assert_unreached("Script should not have ran.");}); +} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardHostTest.js b/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardHostTest.js new file mode 100644 index 00000000000..da3e2790f53 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardHostTest.js @@ -0,0 +1,8 @@ +wildcardHostTestRan = false; + +onload = function() { + test(function() { + assert_true(wildcardHostTestRan, 'Script should have ran.')}, + "Wildcard host matching works." + ); +} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardHostTestFailure.js b/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardHostTestFailure.js new file mode 100644 index 00000000000..75ec8cf80e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardHostTestFailure.js @@ -0,0 +1,8 @@ +wildcardHostTestRan = false; + +onload = function() { + test(function() { + assert_false(wildcardHostTestRan, 'Script should not have ran.')}, + "Wildcard host matching works." + ); +} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardHostTestSuceeds.js b/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardHostTestSuceeds.js new file mode 100644 index 00000000000..8b115d7fc45 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardHostTestSuceeds.js @@ -0,0 +1 @@ +wildcardHostTestRan = true; diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardPortTest.js b/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardPortTest.js new file mode 100644 index 00000000000..3cd1d2eaedf --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardPortTest.js @@ -0,0 +1,8 @@ +wildcardPortTestRan = false; + +onload = function() { + test(function() { + assert_true(wildcardPortTestRan, 'Script should have ran.')}, + "Wildcard port matching works." + ); +} diff --git a/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardPortTestSuceeds.js b/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardPortTestSuceeds.js new file mode 100644 index 00000000000..0138deb2eef --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/generic/wildcardPortTestSuceeds.js @@ -0,0 +1 @@ +wildcardPortTestRan = true; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/content-security-policy/img-src/img-src-4_1.html b/tests/wpt/web-platform-tests/content-security-policy/img-src/img-src-4_1.html new file mode 100644 index 00000000000..edf04fb193f --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/img-src/img-src-4_1.html @@ -0,0 +1,46 @@ + + + + img element src attribute must match src list. + + + + +

                                                                      img element src attribute must match src list.

                                                                      +

                                                                      +

                                                                      + + + + + + + +
                                                                      + + + + + + diff --git a/tests/wpt/web-platform-tests/content-security-policy/img-src/img-src-4_1.html.sub.headers b/tests/wpt/web-platform-tests/content-security-policy/img-src/img-src-4_1.html.sub.headers new file mode 100644 index 00000000000..543e48c1425 --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/img-src/img-src-4_1.html.sub.headers @@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: img-src-4_1={{$id:uuid()}}; Path=/content-security-policy/img-src/ +Content-Security-Policy: img-src 'self' www.{{host}}:{{ports[http][0]}}; report-uri ../support/report.py?op=put&reportID={{$id}} diff --git a/tests/wpt/web-platform-tests/content-security-policy/media-src/media-src-7_1.html b/tests/wpt/web-platform-tests/content-security-policy/media-src/media-src-7_1.html new file mode 100644 index 00000000000..d912b86bb8b --- /dev/null +++ b/tests/wpt/web-platform-tests/content-security-policy/media-src/media-src-7_1.html @@ -0,0 +1,44 @@ + + + + Video element src attribute must match src list - positive test + + + + +

                                                                      Video element src attribute must match src list - positive test

                                                                      +
                                                                      + + + + +
                                                                      ActualExpected
                                                                      ';
                                                                      +        table.getElementsByTagName('pre')[0].textContent = JSON.stringify(actual, null, 2);
                                                                      +        table.getElementsByTagName('pre')[1].textContent = JSON.stringify(expected, null, 2);
                                                                      +        document.body.insertBefore(table, document.getElementById('log'));
                                                                      +        throw ex;
                                                                      +    }
                                                                      +    assert_equals(track.track.cues.length, expected.event == 'load' ? 1 : 0, 'track.track.cues.length');
                                                                      +    this.done();
                                                                      +}
                                                                      diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/cors-tester.py b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/cors-tester.py
                                                                      new file mode 100644
                                                                      index 00000000000..1c27a0d14bd
                                                                      --- /dev/null
                                                                      +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/cors-tester.py
                                                                      @@ -0,0 +1,51 @@
                                                                      +from wptserve.handlers import HTTPException
                                                                      +import urllib
                                                                      +
                                                                      +def main(request, response):
                                                                      +    if request.method != "GET":
                                                                      +        raise HTTPException(400, message="Method was not GET")
                                                                      +
                                                                      +    if not "id" in request.GET:
                                                                      +        raise HTTPException(400, message="No id")
                                                                      +
                                                                      +    id = request.GET['id']
                                                                      +
                                                                      +    if "read" in request.GET:
                                                                      +        data = request.server.stash.take(id)
                                                                      +        if data is None:
                                                                      +            response.set_error(404, "Tried to read data not yet set")
                                                                      +            return
                                                                      +        return [("Content-Type", "text/plain")], data
                                                                      +
                                                                      +    elif "cleanup" in request.GET:
                                                                      +        request.server.stash.take(id)
                                                                      +        return "OK"
                                                                      +
                                                                      +    elif "delete-cookie" in request.GET:
                                                                      +        response.delete_cookie(id)
                                                                      +        return [("Content-Type", "text/plain")], "OK"
                                                                      +
                                                                      +    if "origin" in request.GET:
                                                                      +        response.headers.set('Access-Control-Allow-Origin', request.GET['origin'])
                                                                      +        response.headers.set('Access-Control-Allow-Credentials', 'true')
                                                                      +
                                                                      +    cors = request.headers.get("origin", "no")
                                                                      +
                                                                      +    cookie = request.cookies.first(id, "no")
                                                                      +
                                                                      +    line = 'cors = ' + cors + ' | cookie = ' + cookie.value;
                                                                      +
                                                                      +    data = request.server.stash.take(id)
                                                                      +    if data is not None:
                                                                      +        line = data + "\n" + line
                                                                      +
                                                                      +    request.server.stash.put(id, line)
                                                                      +
                                                                      +    if "redirect" in request.GET:
                                                                      +        response.status = 302
                                                                      +        response.headers.set('Location', request.GET['redirect'])
                                                                      +    else:
                                                                      +        return """WEBVTT
                                                                      +
                                                                      +00:00:00.000 --> 00:00:10.000
                                                                      +Test"""
                                                                      diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/remove-cookie.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/remove-cookie.html
                                                                      new file mode 100644
                                                                      index 00000000000..00430e3f0e3
                                                                      --- /dev/null
                                                                      +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/remove-cookie.html
                                                                      @@ -0,0 +1,6 @@
                                                                      +
                                                                      +Remove cookie from location.hash
                                                                      +
                                                                      diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/set-cookie.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/set-cookie.html
                                                                      new file mode 100644
                                                                      index 00000000000..cc1c9263860
                                                                      --- /dev/null
                                                                      +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/set-cookie.html
                                                                      @@ -0,0 +1,6 @@
                                                                      +
                                                                      +Set cookie from location.hash
                                                                      +
                                                                      diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/track.de.vtt b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/track.de.vtt
                                                                      new file mode 100644
                                                                      index 00000000000..9eaf3d31e41
                                                                      --- /dev/null
                                                                      +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/track.de.vtt
                                                                      @@ -0,0 +1,4 @@
                                                                      +WEBVTT
                                                                      +
                                                                      +00:00:00.000 --> 00:00:01.000
                                                                      +German
                                                                      diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/track.en.vtt b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/track.en.vtt
                                                                      new file mode 100644
                                                                      index 00000000000..4241f35b569
                                                                      --- /dev/null
                                                                      +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/track.en.vtt
                                                                      @@ -0,0 +1,4 @@
                                                                      +WEBVTT
                                                                      +
                                                                      +00:00:00.000 --> 00:00:01.000
                                                                      +English
                                                                      diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/track.fr.vtt b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/track.fr.vtt
                                                                      new file mode 100644
                                                                      index 00000000000..5523224e0d6
                                                                      --- /dev/null
                                                                      +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/track.fr.vtt
                                                                      @@ -0,0 +1,4 @@
                                                                      +WEBVTT
                                                                      +
                                                                      +00:00:00.000 --> 00:00:01.000
                                                                      +french
                                                                      diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/track.vtt b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/track.vtt
                                                                      new file mode 100644
                                                                      index 00000000000..c916c0983b2
                                                                      --- /dev/null
                                                                      +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/track.vtt
                                                                      @@ -0,0 +1,4 @@
                                                                      +WEBVTT
                                                                      +
                                                                      +00:00:00.000 --> 00:00:01.000
                                                                      +test
                                                                      diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/src-clear-cues.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/src-clear-cues.html
                                                                      new file mode 100644
                                                                      index 00000000000..3ba8c9db88a
                                                                      --- /dev/null
                                                                      +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/src-clear-cues.html
                                                                      @@ -0,0 +1,52 @@
                                                                      +
                                                                      +track element changing "track URL" and clearing cues
                                                                      +
                                                                      +
                                                                      +
                                                                      + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-api-texttracks.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-api-texttracks.html new file mode 100644 index 00000000000..b2840d235a9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-api-texttracks.html @@ -0,0 +1,36 @@ + + + +Track element - text tracks API test + + + + + + +

                                                                      Track element and API Test

                                                                      +
                                                                      + +
                                                                      +
                                                                      + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/user-interface/muted.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/user-interface/muted.html new file mode 100644 index 00000000000..906350d88c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/user-interface/muted.html @@ -0,0 +1,152 @@ + +muted + + + + +
                                                                      + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_controls_present-manual.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_controls_present-manual.html new file mode 100644 index 00000000000..8e44951d7ae --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_controls_present-manual.html @@ -0,0 +1,14 @@ + + + + Video Test: video_controls_present.html + + + + + + +

                                                                      Test passes if a controller user interface appears below and the text 'The user agent doesn't support media element.' does not appear anywhere on this page

                                                                      + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base.html new file mode 100644 index 00000000000..348f1cdae2f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base.html @@ -0,0 +1,41 @@ + + + + Video Test: video_loop_base + + + + + + + + + + +
                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_current_media_controller-manual.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_current_media_controller-manual.html new file mode 100644 index 00000000000..590ab93089c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_current_media_controller-manual.html @@ -0,0 +1,23 @@ + + + + Video Test: video_loop_current_media_controller + + + + + + + +

                                                                      Test passes if the video doesn't repeatly play and the text 'The user agent doesn't support media element.' does not appear anywhere on this page

                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_muted_overriding_volume-manual.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_muted_overriding_volume-manual.html new file mode 100644 index 00000000000..6d770666cc4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_muted_overriding_volume-manual.html @@ -0,0 +1,21 @@ + + + + Video Test: video_muted_overriding_volume + + + + + + + +

                                                                      Test passes if the video is playing without sound output and the text 'The user agent doesn't support media element.' does not appear anywhere on this page

                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_muted_present-manual.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_muted_present-manual.html new file mode 100644 index 00000000000..bc808277758 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_muted_present-manual.html @@ -0,0 +1,20 @@ + + + + Video Test: video_muted_present + + + + + + + +

                                                                      Test passes if the video is playing without sound output and the text 'The user agent doesn't support media element.' does not appear anywhere on this page

                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_volume_check.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_volume_check.html new file mode 100644 index 00000000000..1a45358a76f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_volume_check.html @@ -0,0 +1,58 @@ + + + + Video Test: video_volume_check + + + + + + + + +
                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_volume_loudest-manual.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_volume_loudest-manual.html new file mode 100644 index 00000000000..74757812015 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_volume_loudest-manual.html @@ -0,0 +1,21 @@ + + + + Video Test: video_volume_loudest + + + + + + + +

                                                                      Test passes if the video is playing with sound heard and the text 'The user agent doesn't support media element.' does not appear anywhere on this page

                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_volume_silent-manual.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_volume_silent-manual.html new file mode 100644 index 00000000000..1768dd4d4c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/video_volume_silent-manual.html @@ -0,0 +1,21 @@ + + + + Video Test: video_volume_silent + + + + + + + +

                                                                      Test passes if the video is playing without sound heard and the text 'The user agent doesn't support media element.' does not appear anywhere on this page

                                                                      + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/volume_nonfinite.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/volume_nonfinite.html new file mode 100644 index 00000000000..6e90a2ebcdb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/media-elements/volume_nonfinite.html @@ -0,0 +1,18 @@ + + +Setting HTMLMediaElement.volume to non-finite numbers + + +
                                                                      + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/svg/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/svg/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-area-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-area-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-area-element/area-stringifier.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-area-element/area-stringifier.html new file mode 100644 index 00000000000..d06429630db --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-area-element/area-stringifier.html @@ -0,0 +1,16 @@ + +HTMLAreaElement stringifier + + + + + +
                                                                      + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-area-element/area_nohref.xhtml b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-area-element/area_nohref.xhtml new file mode 100644 index 00000000000..4af616e0d23 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-area-element/area_nohref.xhtml @@ -0,0 +1,18 @@ + + +AREA - NOREF + + +

                                                                      Test for nohref attribute on area

                                                                      +

                                                                      Hover over the Blue Square below. The square is not clickable but the area around it should be.

                                                                      +

                                                                      The test passes if clicking on the square doesn't do anything. Clicking on the area around the square should take you to another page.

                                                                      + + +Blue Square +White Space + +

                                                                      +Note - This test checks for User Agent requirement as per HTML5 spec NOT the author requirement +

                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-area-element/test-area.xhtml b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-area-element/test-area.xhtml new file mode 100644 index 00000000000..baa36c50a6f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-area-element/test-area.xhtml @@ -0,0 +1,9 @@ + + + This is a test page + + +This is a simple xhtml page +

                                                                      Click here to go back to the previous page

                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_001.htm b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_001.htm new file mode 100644 index 00000000000..f455c682417 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_001.htm @@ -0,0 +1,18 @@ + + + + HTML5 Media Elements: Content inside the 'audio' element is not shown to the user (image). + + + + + + + +

                                                                      Test passes if there is no red.

                                                                      +
                                                                      + + +
                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_002.htm b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_002.htm new file mode 100644 index 00000000000..23b3ea188a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_002.htm @@ -0,0 +1,18 @@ + + + + HTML5 Media Elements: Content inside the 'audio' element is not shown to the user. + + + + + + + +

                                                                      Test passes if there is no red.

                                                                      +
                                                                      + + +
                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor.html new file mode 100644 index 00000000000..995ea0ba056 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor.html @@ -0,0 +1,51 @@ + + +Audio constructor + + +
                                                                      + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_content-ref.htm b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_content-ref.htm new file mode 100644 index 00000000000..ef5964496dd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_content-ref.htm @@ -0,0 +1,13 @@ + + + + HTML5 Media Elements: Content inside the 'audio' element is not shown to the user. + + + + +

                                                                      Test passes if there is no red.

                                                                      +
                                                                      +
                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.canvas.readonly.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.canvas.readonly.html new file mode 100644 index 00000000000..5e1c22d2da7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.canvas.readonly.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.canvas.readonly + + + + + + +

                                                                      2d.canvas.readonly

                                                                      +

                                                                      CanvasRenderingContext2D.canvas is readonly

                                                                      + + +

                                                                      Actual output:

                                                                      +

                                                                      FAIL (fallback content)

                                                                      + +
                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.canvas.reference.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.canvas.reference.html new file mode 100644 index 00000000000..5bdb233f63d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.canvas.reference.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.canvas.reference + + + + + + +

                                                                        2d.canvas.reference

                                                                        +

                                                                        CanvasRenderingContext2D.canvas refers back to its canvas

                                                                        + + +

                                                                        Actual output:

                                                                        +

                                                                        FAIL (fallback content)

                                                                        + +
                                                                          + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.exists.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.exists.html new file mode 100644 index 00000000000..f8b768ad880 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.exists.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.getcontext.exists + + + + + + +

                                                                          2d.getcontext.exists

                                                                          +

                                                                          The 2D context is implemented

                                                                          + + +

                                                                          Actual output:

                                                                          +

                                                                          FAIL (fallback content)

                                                                          + +
                                                                            + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.extraargs.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.extraargs.html new file mode 100644 index 00000000000..f58911d0401 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.extraargs.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.getcontext.extraargs + + + + + + +

                                                                            2d.getcontext.extraargs

                                                                            +

                                                                            The 2D context ignores extra getContext arguments

                                                                            + + +

                                                                            Actual output:

                                                                            +

                                                                            FAIL (fallback content)

                                                                            + +
                                                                              + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.shared.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.shared.html new file mode 100644 index 00000000000..a678a135fda --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.shared.html @@ -0,0 +1,31 @@ + + +Canvas test: 2d.getcontext.shared + + + + + + +

                                                                              2d.getcontext.shared

                                                                              +

                                                                              getContext('2d') returns objects which share canvas state

                                                                              + + +

                                                                              Actual output:

                                                                              +

                                                                              FAIL (fallback content)

                                                                              +

                                                                              Expected output:

                                                                              +

                                                                                + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.unique.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.unique.html new file mode 100644 index 00000000000..d4d4a0d17ca --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.unique.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.getcontext.unique + + + + + + +

                                                                                2d.getcontext.unique

                                                                                +

                                                                                getContext('2d') returns the same object

                                                                                + + +

                                                                                Actual output:

                                                                                +

                                                                                FAIL (fallback content)

                                                                                + +
                                                                                  + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.scaled-manual.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.scaled-manual.html new file mode 100644 index 00000000000..6ea8ba4b9b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.scaled-manual.html @@ -0,0 +1,30 @@ + + +Canvas test: 2d.scaled + + + + + + +

                                                                                  2d.scaled

                                                                                  +

                                                                                  CSS-scaled canvases get drawn correctly

                                                                                  + + +

                                                                                  Actual output:

                                                                                  +

                                                                                  FAIL (fallback content)

                                                                                  +

                                                                                  Expected output:

                                                                                  +

                                                                                    + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.scaled-manual.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.scaled-manual.png new file mode 100644 index 00000000000..875407769ff Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.scaled-manual.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.exists.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.exists.html new file mode 100644 index 00000000000..f29f1392623 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.exists.html @@ -0,0 +1,27 @@ + + +Canvas test: 2d.type.exists + + + + + + +

                                                                                    2d.type.exists

                                                                                    +

                                                                                    The 2D context interface is a property of 'window'

                                                                                    + +

                                                                                    Defined in "Web IDL" (draft) +

                                                                                    Actual output:

                                                                                    +

                                                                                    FAIL (fallback content)

                                                                                    + +
                                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.extend.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.extend.html new file mode 100644 index 00000000000..f4dfea879ee --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.extend.html @@ -0,0 +1,34 @@ + + +Canvas test: 2d.type.extend + + + + + + +

                                                                                      2d.type.extend

                                                                                      +

                                                                                      Interface methods can be added

                                                                                      + +

                                                                                      Defined in "Web IDL" (draft) +

                                                                                      Actual output:

                                                                                      +

                                                                                      FAIL (fallback content)

                                                                                      +

                                                                                      Expected output:

                                                                                      +

                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.prototype.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.prototype.html new file mode 100644 index 00000000000..9888d7b6ab6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.prototype.html @@ -0,0 +1,36 @@ + + +Canvas test: 2d.type.prototype + + + + + + +

                                                                                        2d.type.prototype

                                                                                        +

                                                                                        window.CanvasRenderingContext2D.prototype are not [[Writable]] and not [[Configurable]], and its methods are [[Configurable]].

                                                                                        + +

                                                                                        Defined in "Web IDL" (draft) +

                                                                                        Actual output:

                                                                                        +

                                                                                        FAIL (fallback content)

                                                                                        + +
                                                                                          + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.replace.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.replace.html new file mode 100644 index 00000000000..1e3337732e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.replace.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.type.replace + + + + + + +

                                                                                          2d.type.replace

                                                                                          +

                                                                                          Interface methods can be overridden

                                                                                          + +

                                                                                          Defined in "Web IDL" (draft) +

                                                                                          Actual output:

                                                                                          +

                                                                                          FAIL (fallback content)

                                                                                          +

                                                                                          Expected output:

                                                                                          +

                                                                                            + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/contains.json b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/contains.json new file mode 100644 index 00000000000..3f56f4fd8b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/contains.json @@ -0,0 +1,10 @@ +[ + { + "id": "color-spaces-and-color-correction", + "original_id": "color-spaces-and-color-correction" + }, + { + "id": "security-with-canvas-elements", + "original_id": "security-with-canvas-elements" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.arguments.missing.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.arguments.missing.html new file mode 100644 index 00000000000..37ae4e80021 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.arguments.missing.html @@ -0,0 +1,27 @@ + + +Canvas test: context.arguments.missing + + + + + + +

                                                                                            context.arguments.missing

                                                                                            +

                                                                                            + +

                                                                                            Defined in "Web IDL" (draft) +

                                                                                            Actual output:

                                                                                            +

                                                                                            FAIL (fallback content)

                                                                                            + +
                                                                                              + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.casesensitive.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.casesensitive.html new file mode 100644 index 00000000000..5c64f7a04f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.casesensitive.html @@ -0,0 +1,27 @@ + + +Canvas test: context.casesensitive + + + + + + +

                                                                                              context.casesensitive

                                                                                              +

                                                                                              Context name "2D" is unrecognised; matching is case sensitive

                                                                                              + + +

                                                                                              Actual output:

                                                                                              +

                                                                                              FAIL (fallback content)

                                                                                              + +
                                                                                                + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.emptystring.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.emptystring.html new file mode 100644 index 00000000000..8f8b44a23e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.emptystring.html @@ -0,0 +1,27 @@ + + +Canvas test: context.emptystring + + + + + + +

                                                                                                context.emptystring

                                                                                                +

                                                                                                getContext with empty string returns null

                                                                                                + + +

                                                                                                Actual output:

                                                                                                +

                                                                                                FAIL (fallback content)

                                                                                                + +
                                                                                                  + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.badname.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.badname.html new file mode 100644 index 00000000000..75f44277450 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.badname.html @@ -0,0 +1,27 @@ + + +Canvas test: context.unrecognised.badname + + + + + + +

                                                                                                  context.unrecognised.badname

                                                                                                  +

                                                                                                  getContext with unrecognised context name returns null

                                                                                                  + + +

                                                                                                  Actual output:

                                                                                                  +

                                                                                                  FAIL (fallback content)

                                                                                                  + +
                                                                                                    + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.badsuffix.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.badsuffix.html new file mode 100644 index 00000000000..2f65ae3c8ac --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.badsuffix.html @@ -0,0 +1,27 @@ + + +Canvas test: context.unrecognised.badsuffix + + + + + + +

                                                                                                    context.unrecognised.badsuffix

                                                                                                    +

                                                                                                    Context name "2d" plus a suffix is unrecognised

                                                                                                    + + +

                                                                                                    Actual output:

                                                                                                    +

                                                                                                    FAIL (fallback content)

                                                                                                    + +
                                                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.nullsuffix.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.nullsuffix.html new file mode 100644 index 00000000000..1607fec86cf --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.nullsuffix.html @@ -0,0 +1,27 @@ + + +Canvas test: context.unrecognised.nullsuffix + + + + + + +

                                                                                                      context.unrecognised.nullsuffix

                                                                                                      +

                                                                                                      Context name "2d" plus a "\0" suffix is unrecognised

                                                                                                      + + +

                                                                                                      Actual output:

                                                                                                      +

                                                                                                      FAIL (fallback content)

                                                                                                      + +
                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.unicode.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.unicode.html new file mode 100644 index 00000000000..c4eb943c242 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.unicode.html @@ -0,0 +1,27 @@ + + +Canvas test: context.unrecognised.unicode + + + + + + +

                                                                                                        context.unrecognised.unicode

                                                                                                        +

                                                                                                        Context name which kind of looks like "2d" is unrecognised

                                                                                                        + + +

                                                                                                        Actual output:

                                                                                                        +

                                                                                                        FAIL (fallback content)

                                                                                                        + +
                                                                                                          + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.basic.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.basic.html new file mode 100644 index 00000000000..0bae976e824 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.basic.html @@ -0,0 +1,27 @@ + + +Canvas test: fallback.basic + + + + + + +

                                                                                                          fallback.basic

                                                                                                          +

                                                                                                          Fallback content is inserted into the DOM

                                                                                                          + + +

                                                                                                          Actual output:

                                                                                                          +

                                                                                                          FAIL (fallback content)

                                                                                                          + +
                                                                                                            + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.multiple.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.multiple.html new file mode 100644 index 00000000000..5c89be51975 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.multiple.html @@ -0,0 +1,27 @@ + + +Canvas test: fallback.multiple + + + + + + +

                                                                                                            fallback.multiple

                                                                                                            +

                                                                                                            Fallback content with multiple elements

                                                                                                            + + +

                                                                                                            Actual output:

                                                                                                            +

                                                                                                            FAIL

                                                                                                            FAIL

                                                                                                            + +
                                                                                                              + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.nested.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.nested.html new file mode 100644 index 00000000000..e84739c85e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.nested.html @@ -0,0 +1,27 @@ + + +Canvas test: fallback.nested + + + + + + +

                                                                                                              fallback.nested

                                                                                                              +

                                                                                                              Fallback content containing another canvas (mostly testing parsers)

                                                                                                              + + +

                                                                                                              Actual output:

                                                                                                              +

                                                                                                              FAIL (fallback content)

                                                                                                              FAIL (fallback content)

                                                                                                              + +
                                                                                                                + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.colour.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.colour.html new file mode 100644 index 00000000000..f680d504c21 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.colour.html @@ -0,0 +1,30 @@ + + +Canvas test: initial.colour + + + + + + +

                                                                                                                initial.colour

                                                                                                                +

                                                                                                                Initial state is transparent black

                                                                                                                + +

                                                                                                                Output should be transparent black (not transparent anything-else), but manual +verification can only confirm that it's transparent - it's not possible to make +the actual blackness visible. + +

                                                                                                                Actual output:

                                                                                                                +

                                                                                                                FAIL (fallback content)

                                                                                                                +

                                                                                                                Expected output:

                                                                                                                +

                                                                                                                  + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.colour.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.colour.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.colour.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.2dstate.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.2dstate.html new file mode 100644 index 00000000000..b51253a6eea --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.2dstate.html @@ -0,0 +1,103 @@ + + +Canvas test: initial.reset.2dstate + + + + + + +

                                                                                                                  initial.reset.2dstate

                                                                                                                  +

                                                                                                                  Resetting the canvas state resets 2D state variables

                                                                                                                  + + +

                                                                                                                  Actual output:

                                                                                                                  +

                                                                                                                  FAIL (fallback content)

                                                                                                                  + +
                                                                                                                    + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.clip.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.clip.html new file mode 100644 index 00000000000..044ccc58388 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.clip.html @@ -0,0 +1,33 @@ + + +Canvas test: initial.reset.clip + + + + + + +

                                                                                                                    initial.reset.clip

                                                                                                                    +

                                                                                                                    Resetting the canvas state resets the current clip region

                                                                                                                    + + +

                                                                                                                    Actual output:

                                                                                                                    +

                                                                                                                    FAIL (fallback content)

                                                                                                                    +

                                                                                                                    Expected output:

                                                                                                                    +

                                                                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.different.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.different.html new file mode 100644 index 00000000000..0d02f40d6f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.different.html @@ -0,0 +1,31 @@ + + +Canvas test: initial.reset.different + + + + + + +

                                                                                                                      initial.reset.different

                                                                                                                      +

                                                                                                                      Changing size resets canvas to transparent black

                                                                                                                      + + +

                                                                                                                      Actual output:

                                                                                                                      +

                                                                                                                      FAIL (fallback content)

                                                                                                                      +

                                                                                                                      Expected output:

                                                                                                                      +

                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.different.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.different.png new file mode 100644 index 00000000000..d83fdd55b15 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.different.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.gradient.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.gradient.html new file mode 100644 index 00000000000..a1a8516d3e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.gradient.html @@ -0,0 +1,36 @@ + + +Canvas test: initial.reset.gradient + + + + + + +

                                                                                                                        initial.reset.gradient

                                                                                                                        +

                                                                                                                        Resetting the canvas state does not invalidate any existing gradients

                                                                                                                        + + +

                                                                                                                        Actual output:

                                                                                                                        +

                                                                                                                        FAIL (fallback content)

                                                                                                                        +

                                                                                                                        Expected output:

                                                                                                                        +

                                                                                                                          + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.path.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.path.html new file mode 100644 index 00000000000..ab59ce9a119 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.path.html @@ -0,0 +1,32 @@ + + +Canvas test: initial.reset.path + + + + + + +

                                                                                                                          initial.reset.path

                                                                                                                          +

                                                                                                                          Resetting the canvas state resets the current path

                                                                                                                          + + +

                                                                                                                          Actual output:

                                                                                                                          +

                                                                                                                          FAIL (fallback content)

                                                                                                                          +

                                                                                                                          Expected output:

                                                                                                                          +

                                                                                                                            + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.path.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.path.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.path.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.pattern.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.pattern.html new file mode 100644 index 00000000000..f569d21f249 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.pattern.html @@ -0,0 +1,36 @@ + + +Canvas test: initial.reset.pattern + + + + + + +

                                                                                                                            initial.reset.pattern

                                                                                                                            +

                                                                                                                            Resetting the canvas state does not invalidate any existing patterns

                                                                                                                            + + +

                                                                                                                            Actual output:

                                                                                                                            +

                                                                                                                            FAIL (fallback content)

                                                                                                                            +

                                                                                                                            Expected output:

                                                                                                                            +

                                                                                                                              + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.same.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.same.html new file mode 100644 index 00000000000..b0bf73f8f2c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.same.html @@ -0,0 +1,32 @@ + + +Canvas test: initial.reset.same + + + + + + +

                                                                                                                              initial.reset.same

                                                                                                                              +

                                                                                                                              Setting size (not changing the value) resets canvas to transparent black

                                                                                                                              + + +

                                                                                                                              Actual output:

                                                                                                                              +

                                                                                                                              FAIL (fallback content)

                                                                                                                              +

                                                                                                                              Expected output:

                                                                                                                              +

                                                                                                                                + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.same.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.same.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.same.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.transform.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.transform.html new file mode 100644 index 00000000000..c5a92ca0f00 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.transform.html @@ -0,0 +1,32 @@ + + +Canvas test: initial.reset.transform + + + + + + +

                                                                                                                                initial.reset.transform

                                                                                                                                +

                                                                                                                                Resetting the canvas state resets the current transformation matrix

                                                                                                                                + + +

                                                                                                                                Actual output:

                                                                                                                                +

                                                                                                                                FAIL (fallback content)

                                                                                                                                +

                                                                                                                                Expected output:

                                                                                                                                +

                                                                                                                                  + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.dataURI.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.dataURI.html new file mode 100644 index 00000000000..d130579150d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.dataURI.html @@ -0,0 +1,40 @@ + + +Canvas test: security.dataURI + + + + + + +

                                                                                                                                  security.dataURI

                                                                                                                                  +

                                                                                                                                  data: URIs do not count as different-origin, and do not taint the canvas

                                                                                                                                  + + +

                                                                                                                                  Actual output:

                                                                                                                                  +

                                                                                                                                  FAIL (fallback content)

                                                                                                                                  +

                                                                                                                                  Expected output:

                                                                                                                                  +

                                                                                                                                    + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.sub.html new file mode 100644 index 00000000000..301e93ba8b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.sub.html @@ -0,0 +1,35 @@ + + +Canvas test: security.drawImage.canvas.sub + + + + + + +

                                                                                                                                    security.drawImage.canvas.sub

                                                                                                                                    +

                                                                                                                                    drawImage of unclean canvas makes the canvas origin-unclean

                                                                                                                                    + + +

                                                                                                                                    Actual output:

                                                                                                                                    +

                                                                                                                                    FAIL (fallback content)

                                                                                                                                    + +
                                                                                                                                      + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.sub.html new file mode 100644 index 00000000000..e15eaa4e2ce --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.sub.html @@ -0,0 +1,30 @@ + + +Canvas test: security.drawImage.image.sub + + + + + + +

                                                                                                                                      security.drawImage.image.sub

                                                                                                                                      +

                                                                                                                                      drawImage of different-origin image makes the canvas origin-unclean

                                                                                                                                      + + +

                                                                                                                                      Actual output:

                                                                                                                                      +

                                                                                                                                      FAIL (fallback content)

                                                                                                                                      + +
                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.sub.html new file mode 100644 index 00000000000..0a48d9694c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.sub.html @@ -0,0 +1,37 @@ + + +Canvas test: security.pattern.canvas.fillStyle.sub + + + + + + +

                                                                                                                                        security.pattern.canvas.fillStyle.sub

                                                                                                                                        +

                                                                                                                                        Setting fillStyle to a pattern of an unclean canvas makes the canvas origin-unclean

                                                                                                                                        + + +

                                                                                                                                        Actual output:

                                                                                                                                        +

                                                                                                                                        FAIL (fallback content)

                                                                                                                                        + +
                                                                                                                                          + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.sub.html new file mode 100644 index 00000000000..a65e0621a49 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.sub.html @@ -0,0 +1,37 @@ + + +Canvas test: security.pattern.canvas.strokeStyle.sub + + + + + + +

                                                                                                                                          security.pattern.canvas.strokeStyle.sub

                                                                                                                                          +

                                                                                                                                          Setting strokeStyle to a pattern of an unclean canvas makes the canvas origin-unclean

                                                                                                                                          + + +

                                                                                                                                          Actual output:

                                                                                                                                          +

                                                                                                                                          FAIL (fallback content)

                                                                                                                                          + +
                                                                                                                                            + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.sub.html new file mode 100644 index 00000000000..5f20edc857f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.sub.html @@ -0,0 +1,40 @@ + + +Canvas test: security.pattern.canvas.timing.sub + + + + + + +

                                                                                                                                            security.pattern.canvas.timing.sub

                                                                                                                                            +

                                                                                                                                            Pattern safety depends on whether the source was origin-clean, not on whether it still is clean

                                                                                                                                            + +

                                                                                                                                            Disagrees with spec on "is" vs "was" +

                                                                                                                                            Actual output:

                                                                                                                                            +

                                                                                                                                            FAIL (fallback content)

                                                                                                                                            + +
                                                                                                                                              + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.sub.html new file mode 100644 index 00000000000..41ed250eb5b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.sub.html @@ -0,0 +1,31 @@ + + +Canvas test: security.pattern.create.sub + + + + + + +

                                                                                                                                              security.pattern.create.sub

                                                                                                                                              +

                                                                                                                                              Creating an unclean pattern does not make the canvas origin-unclean

                                                                                                                                              + + +

                                                                                                                                              Actual output:

                                                                                                                                              +

                                                                                                                                              FAIL (fallback content)

                                                                                                                                              + +
                                                                                                                                                + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.sub.html new file mode 100644 index 00000000000..83ac1c71b6b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.sub.html @@ -0,0 +1,38 @@ + + +Canvas test: security.pattern.cross.sub + + + + + + +

                                                                                                                                                security.pattern.cross.sub

                                                                                                                                                +

                                                                                                                                                Using an unclean pattern makes the target canvas origin-unclean, not the pattern canvas

                                                                                                                                                + + +

                                                                                                                                                Actual output:

                                                                                                                                                +

                                                                                                                                                FAIL (fallback content)

                                                                                                                                                + +
                                                                                                                                                  + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.sub.html new file mode 100644 index 00000000000..ba0904ec1d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.sub.html @@ -0,0 +1,32 @@ + + +Canvas test: security.pattern.image.fillStyle.sub + + + + + + +

                                                                                                                                                  security.pattern.image.fillStyle.sub

                                                                                                                                                  +

                                                                                                                                                  Setting fillStyle to a pattern of a different-origin image makes the canvas origin-unclean

                                                                                                                                                  + + +

                                                                                                                                                  Actual output:

                                                                                                                                                  +

                                                                                                                                                  FAIL (fallback content)

                                                                                                                                                  + +
                                                                                                                                                    + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.sub.html new file mode 100644 index 00000000000..d7f32a9484b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.sub.html @@ -0,0 +1,32 @@ + + +Canvas test: security.pattern.image.strokeStyle.sub + + + + + + +

                                                                                                                                                    security.pattern.image.strokeStyle.sub

                                                                                                                                                    +

                                                                                                                                                    Setting strokeStyle to a pattern of a different-origin image makes the canvas origin-unclean

                                                                                                                                                    + + +

                                                                                                                                                    Actual output:

                                                                                                                                                    +

                                                                                                                                                    FAIL (fallback content)

                                                                                                                                                    + +
                                                                                                                                                      + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.sub.html new file mode 100644 index 00000000000..28693490ad3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.sub.html @@ -0,0 +1,32 @@ + + +Canvas test: security.reset.sub + + + + + + +

                                                                                                                                                      security.reset.sub

                                                                                                                                                      +

                                                                                                                                                      Resetting the canvas state does not reset the origin-clean flag

                                                                                                                                                      + + +

                                                                                                                                                      Actual output:

                                                                                                                                                      +

                                                                                                                                                      FAIL (fallback content)

                                                                                                                                                      + +
                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.default.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.default.html new file mode 100644 index 00000000000..004636d841f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.default.html @@ -0,0 +1,30 @@ + + +Canvas test: size.attributes.default + + + + + + +

                                                                                                                                                        size.attributes.default

                                                                                                                                                        +

                                                                                                                                                        Default width/height when attributes are missing

                                                                                                                                                        + + +

                                                                                                                                                        Actual output:

                                                                                                                                                        +

                                                                                                                                                        FAIL (fallback content)

                                                                                                                                                        +

                                                                                                                                                        Expected output:

                                                                                                                                                        +

                                                                                                                                                          + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.default.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.default.png new file mode 100644 index 00000000000..a72d047556a Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.default.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.get.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.get.png new file mode 100644 index 00000000000..47830c83ea9 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.get.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.idl.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.idl.html new file mode 100644 index 00000000000..cd6796e0724 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.idl.html @@ -0,0 +1,50 @@ + + +Canvas test: size.attributes.idl + + + + + + +

                                                                                                                                                          size.attributes.idl

                                                                                                                                                          +

                                                                                                                                                          Getting/setting width/height IDL attributes

                                                                                                                                                          + + +

                                                                                                                                                          Actual output:

                                                                                                                                                          +

                                                                                                                                                          FAIL (fallback content)

                                                                                                                                                          + +
                                                                                                                                                            + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.idl.set.zero.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.idl.set.zero.html new file mode 100644 index 00000000000..a10ac5443c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.idl.set.zero.html @@ -0,0 +1,30 @@ + + +Canvas test: size.attributes.idl.set.zero + + + + + + +

                                                                                                                                                            size.attributes.idl.set.zero

                                                                                                                                                            +

                                                                                                                                                            Setting width/height IDL attributes to 0

                                                                                                                                                            + + +

                                                                                                                                                            Actual output:

                                                                                                                                                            +

                                                                                                                                                            FAIL (fallback content)

                                                                                                                                                            + +
                                                                                                                                                              + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.decimal.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.decimal.html new file mode 100644 index 00000000000..ccf579e05b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.decimal.html @@ -0,0 +1,31 @@ + + +Canvas test: size.attributes.parse.decimal + + + + + + +

                                                                                                                                                              size.attributes.parse.decimal

                                                                                                                                                              +

                                                                                                                                                              Parsing of non-negative integers

                                                                                                                                                              + + +

                                                                                                                                                              Actual output:

                                                                                                                                                              +

                                                                                                                                                              FAIL (fallback content)

                                                                                                                                                              +

                                                                                                                                                              Expected output:

                                                                                                                                                              +

                                                                                                                                                                + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.decimal.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.decimal.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.decimal.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.em.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.em.html new file mode 100644 index 00000000000..84614691a6b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.em.html @@ -0,0 +1,31 @@ + + +Canvas test: size.attributes.parse.em + + + + + + +

                                                                                                                                                                size.attributes.parse.em

                                                                                                                                                                +

                                                                                                                                                                Parsing of non-negative integers

                                                                                                                                                                + + +

                                                                                                                                                                Actual output:

                                                                                                                                                                +

                                                                                                                                                                FAIL (fallback content)

                                                                                                                                                                +

                                                                                                                                                                Expected output:

                                                                                                                                                                +

                                                                                                                                                                  + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.em.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.em.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.em.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.empty.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.empty.html new file mode 100644 index 00000000000..04a19b44aea --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.empty.html @@ -0,0 +1,30 @@ + + +Canvas test: size.attributes.parse.empty + + + + + + +

                                                                                                                                                                  size.attributes.parse.empty

                                                                                                                                                                  +

                                                                                                                                                                  Parsing of non-negative integers

                                                                                                                                                                  + + +

                                                                                                                                                                  Actual output:

                                                                                                                                                                  +

                                                                                                                                                                  FAIL (fallback content)

                                                                                                                                                                  +

                                                                                                                                                                  Expected output:

                                                                                                                                                                  +

                                                                                                                                                                    + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.empty.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.empty.png new file mode 100644 index 00000000000..a72d047556a Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.empty.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.exp.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.exp.html new file mode 100644 index 00000000000..7a7c72692c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.exp.html @@ -0,0 +1,31 @@ + + +Canvas test: size.attributes.parse.exp + + + + + + +

                                                                                                                                                                    size.attributes.parse.exp

                                                                                                                                                                    +

                                                                                                                                                                    Parsing of non-negative integers

                                                                                                                                                                    + + +

                                                                                                                                                                    Actual output:

                                                                                                                                                                    +

                                                                                                                                                                    FAIL (fallback content)

                                                                                                                                                                    +

                                                                                                                                                                    Expected output:

                                                                                                                                                                    +

                                                                                                                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.exp.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.exp.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.exp.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.hex.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.hex.html new file mode 100644 index 00000000000..7532d775357 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.hex.html @@ -0,0 +1,31 @@ + + +Canvas test: size.attributes.parse.hex + + + + + + +

                                                                                                                                                                      size.attributes.parse.hex

                                                                                                                                                                      +

                                                                                                                                                                      Parsing of non-negative integers

                                                                                                                                                                      + + +

                                                                                                                                                                      Actual output:

                                                                                                                                                                      +

                                                                                                                                                                      FAIL (fallback content)

                                                                                                                                                                      + +
                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.junk.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.junk.html new file mode 100644 index 00000000000..8dca5ef3c6b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.junk.html @@ -0,0 +1,30 @@ + + +Canvas test: size.attributes.parse.junk + + + + + + +

                                                                                                                                                                        size.attributes.parse.junk

                                                                                                                                                                        +

                                                                                                                                                                        Parsing of non-negative integers

                                                                                                                                                                        + + +

                                                                                                                                                                        Actual output:

                                                                                                                                                                        +

                                                                                                                                                                        FAIL (fallback content)

                                                                                                                                                                        +

                                                                                                                                                                        Expected output:

                                                                                                                                                                        +

                                                                                                                                                                          + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.junk.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.junk.png new file mode 100644 index 00000000000..a72d047556a Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.junk.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.minus.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.minus.html new file mode 100644 index 00000000000..c901dffc508 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.minus.html @@ -0,0 +1,30 @@ + + +Canvas test: size.attributes.parse.minus + + + + + + +

                                                                                                                                                                          size.attributes.parse.minus

                                                                                                                                                                          +

                                                                                                                                                                          Parsing of non-negative integers

                                                                                                                                                                          + + +

                                                                                                                                                                          Actual output:

                                                                                                                                                                          +

                                                                                                                                                                          FAIL (fallback content)

                                                                                                                                                                          +

                                                                                                                                                                          Expected output:

                                                                                                                                                                          +

                                                                                                                                                                            + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.minus.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.minus.png new file mode 100644 index 00000000000..a72d047556a Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.minus.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.octal.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.octal.html new file mode 100644 index 00000000000..efdcfeb3afe --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.octal.html @@ -0,0 +1,31 @@ + + +Canvas test: size.attributes.parse.octal + + + + + + +

                                                                                                                                                                            size.attributes.parse.octal

                                                                                                                                                                            +

                                                                                                                                                                            Parsing of non-negative integers

                                                                                                                                                                            + + +

                                                                                                                                                                            Actual output:

                                                                                                                                                                            +

                                                                                                                                                                            FAIL (fallback content)

                                                                                                                                                                            +

                                                                                                                                                                            Expected output:

                                                                                                                                                                            +

                                                                                                                                                                              + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.octal.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.octal.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.octal.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.onlyspace.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.onlyspace.html new file mode 100644 index 00000000000..11948581ec0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.onlyspace.html @@ -0,0 +1,30 @@ + + +Canvas test: size.attributes.parse.onlyspace + + + + + + +

                                                                                                                                                                              size.attributes.parse.onlyspace

                                                                                                                                                                              +

                                                                                                                                                                              Parsing of non-negative integers

                                                                                                                                                                              + + +

                                                                                                                                                                              Actual output:

                                                                                                                                                                              +

                                                                                                                                                                              FAIL (fallback content)

                                                                                                                                                                              +

                                                                                                                                                                              Expected output:

                                                                                                                                                                              +

                                                                                                                                                                                + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.onlyspace.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.onlyspace.png new file mode 100644 index 00000000000..a72d047556a Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.onlyspace.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.percent.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.percent.html new file mode 100644 index 00000000000..9073424e282 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.percent.html @@ -0,0 +1,31 @@ + + +Canvas test: size.attributes.parse.percent + + + + + + +

                                                                                                                                                                                size.attributes.parse.percent

                                                                                                                                                                                +

                                                                                                                                                                                Parsing of non-negative integers

                                                                                                                                                                                + + +

                                                                                                                                                                                Actual output:

                                                                                                                                                                                +

                                                                                                                                                                                FAIL (fallback content)

                                                                                                                                                                                +

                                                                                                                                                                                Expected output:

                                                                                                                                                                                +

                                                                                                                                                                                  + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.percent.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.percent.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.percent.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.plus.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.plus.html new file mode 100644 index 00000000000..816f381d409 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.plus.html @@ -0,0 +1,31 @@ + + +Canvas test: size.attributes.parse.plus + + + + + + +

                                                                                                                                                                                  size.attributes.parse.plus

                                                                                                                                                                                  +

                                                                                                                                                                                  Parsing of non-negative integers

                                                                                                                                                                                  + + +

                                                                                                                                                                                  Actual output:

                                                                                                                                                                                  +

                                                                                                                                                                                  FAIL (fallback content)

                                                                                                                                                                                  +

                                                                                                                                                                                  Expected output:

                                                                                                                                                                                  +

                                                                                                                                                                                    + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.plus.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.plus.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.plus.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.html new file mode 100644 index 00000000000..417674d186e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.html @@ -0,0 +1,31 @@ + + +Canvas test: size.attributes.parse.space + + + + + + +

                                                                                                                                                                                    size.attributes.parse.space

                                                                                                                                                                                    +

                                                                                                                                                                                    Parsing of non-negative integers

                                                                                                                                                                                    + + +

                                                                                                                                                                                    Actual output:

                                                                                                                                                                                    +

                                                                                                                                                                                    FAIL (fallback content)

                                                                                                                                                                                    +

                                                                                                                                                                                    Expected output:

                                                                                                                                                                                    +

                                                                                                                                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.html new file mode 100644 index 00000000000..76c6db05f6f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.html @@ -0,0 +1,31 @@ + + +Canvas test: size.attributes.parse.trailingjunk + + + + + + +

                                                                                                                                                                                      size.attributes.parse.trailingjunk

                                                                                                                                                                                      +

                                                                                                                                                                                      Parsing of non-negative integers

                                                                                                                                                                                      + + +

                                                                                                                                                                                      Actual output:

                                                                                                                                                                                      +

                                                                                                                                                                                      FAIL (fallback content)

                                                                                                                                                                                      +

                                                                                                                                                                                      Expected output:

                                                                                                                                                                                      +

                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html new file mode 100644 index 00000000000..dc8eab52bc4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html @@ -0,0 +1,33 @@ + + +Canvas test: size.attributes.parse.whitespace + + + + + + +

                                                                                                                                                                                        size.attributes.parse.whitespace

                                                                                                                                                                                        +

                                                                                                                                                                                        Parsing of non-negative integers

                                                                                                                                                                                        + + +

                                                                                                                                                                                        Actual output:

                                                                                                                                                                                        +

                                                                                                                                                                                        FAIL (fallback content)

                                                                                                                                                                                        +

                                                                                                                                                                                        Expected output:

                                                                                                                                                                                        +

                                                                                                                                                                                          + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.zero.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.zero.html new file mode 100644 index 00000000000..e42ebeb2424 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.zero.html @@ -0,0 +1,31 @@ + + +Canvas test: size.attributes.parse.zero + + + + + + +

                                                                                                                                                                                          size.attributes.parse.zero

                                                                                                                                                                                          +

                                                                                                                                                                                          Parsing of non-negative integers

                                                                                                                                                                                          + + +

                                                                                                                                                                                          Actual output:

                                                                                                                                                                                          +

                                                                                                                                                                                          FAIL (fallback content)

                                                                                                                                                                                          + +
                                                                                                                                                                                            + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setcontent.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setcontent.html new file mode 100644 index 00000000000..e77ca8ee0a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setcontent.html @@ -0,0 +1,32 @@ + + +Canvas test: size.attributes.reflect.setcontent + + + + + + +

                                                                                                                                                                                            size.attributes.reflect.setcontent

                                                                                                                                                                                            +

                                                                                                                                                                                            Setting content attributes updates IDL and content attributes

                                                                                                                                                                                            + + +

                                                                                                                                                                                            Actual output:

                                                                                                                                                                                            +

                                                                                                                                                                                            FAIL (fallback content)

                                                                                                                                                                                            +

                                                                                                                                                                                            Expected output:

                                                                                                                                                                                            +

                                                                                                                                                                                              + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setcontent.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setcontent.png new file mode 100644 index 00000000000..47830c83ea9 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setcontent.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setidl.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setidl.html new file mode 100644 index 00000000000..15228829145 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setidl.html @@ -0,0 +1,32 @@ + + +Canvas test: size.attributes.reflect.setidl + + + + + + +

                                                                                                                                                                                              size.attributes.reflect.setidl

                                                                                                                                                                                              +

                                                                                                                                                                                              Setting IDL attributes updates IDL and content attributes

                                                                                                                                                                                              + + +

                                                                                                                                                                                              Actual output:

                                                                                                                                                                                              +

                                                                                                                                                                                              FAIL (fallback content)

                                                                                                                                                                                              +

                                                                                                                                                                                              Expected output:

                                                                                                                                                                                              +

                                                                                                                                                                                                + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setidl.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setidl.png new file mode 100644 index 00000000000..47830c83ea9 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setidl.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setidlzero.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setidlzero.html new file mode 100644 index 00000000000..2bace5a3331 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setidlzero.html @@ -0,0 +1,32 @@ + + +Canvas test: size.attributes.reflect.setidlzero + + + + + + +

                                                                                                                                                                                                size.attributes.reflect.setidlzero

                                                                                                                                                                                                +

                                                                                                                                                                                                Setting IDL attributes to 0 updates IDL and content attributes

                                                                                                                                                                                                + + +

                                                                                                                                                                                                Actual output:

                                                                                                                                                                                                +

                                                                                                                                                                                                FAIL (fallback content)

                                                                                                                                                                                                + +
                                                                                                                                                                                                  + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.removed.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.removed.html new file mode 100644 index 00000000000..58fb899e02a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.removed.html @@ -0,0 +1,29 @@ + + +Canvas test: size.attributes.removed + + + + + + +

                                                                                                                                                                                                  size.attributes.removed

                                                                                                                                                                                                  +

                                                                                                                                                                                                  Removing content attributes reverts to default size

                                                                                                                                                                                                  + + +

                                                                                                                                                                                                  Actual output:

                                                                                                                                                                                                  +

                                                                                                                                                                                                  FAIL (fallback content)

                                                                                                                                                                                                  +

                                                                                                                                                                                                  Expected output:

                                                                                                                                                                                                  +

                                                                                                                                                                                                    + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.removed.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.removed.png new file mode 100644 index 00000000000..1ebf30d8aaa Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.removed.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.set.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.set.png new file mode 100644 index 00000000000..47830c83ea9 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.set.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.decimal.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.decimal.html new file mode 100644 index 00000000000..0f4fb69fa6f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.decimal.html @@ -0,0 +1,33 @@ + + +Canvas test: size.attributes.setAttribute.decimal + + + + + + +

                                                                                                                                                                                                    size.attributes.setAttribute.decimal

                                                                                                                                                                                                    +

                                                                                                                                                                                                    Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                    + + +

                                                                                                                                                                                                    Actual output:

                                                                                                                                                                                                    +

                                                                                                                                                                                                    FAIL (fallback content)

                                                                                                                                                                                                    +

                                                                                                                                                                                                    Expected output:

                                                                                                                                                                                                    +

                                                                                                                                                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.decimal.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.decimal.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.decimal.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.em.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.em.html new file mode 100644 index 00000000000..5768d1727bd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.em.html @@ -0,0 +1,33 @@ + + +Canvas test: size.attributes.setAttribute.em + + + + + + +

                                                                                                                                                                                                      size.attributes.setAttribute.em

                                                                                                                                                                                                      +

                                                                                                                                                                                                      Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                      + + +

                                                                                                                                                                                                      Actual output:

                                                                                                                                                                                                      +

                                                                                                                                                                                                      FAIL (fallback content)

                                                                                                                                                                                                      +

                                                                                                                                                                                                      Expected output:

                                                                                                                                                                                                      +

                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.em.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.em.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.em.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.empty.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.empty.html new file mode 100644 index 00000000000..65a5bc0d916 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.empty.html @@ -0,0 +1,32 @@ + + +Canvas test: size.attributes.setAttribute.empty + + + + + + +

                                                                                                                                                                                                        size.attributes.setAttribute.empty

                                                                                                                                                                                                        +

                                                                                                                                                                                                        Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                        + + +

                                                                                                                                                                                                        Actual output:

                                                                                                                                                                                                        +

                                                                                                                                                                                                        FAIL (fallback content)

                                                                                                                                                                                                        +

                                                                                                                                                                                                        Expected output:

                                                                                                                                                                                                        +

                                                                                                                                                                                                          + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.empty.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.empty.png new file mode 100644 index 00000000000..a72d047556a Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.empty.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.exp.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.exp.html new file mode 100644 index 00000000000..673edad56b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.exp.html @@ -0,0 +1,33 @@ + + +Canvas test: size.attributes.setAttribute.exp + + + + + + +

                                                                                                                                                                                                          size.attributes.setAttribute.exp

                                                                                                                                                                                                          +

                                                                                                                                                                                                          Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                          + + +

                                                                                                                                                                                                          Actual output:

                                                                                                                                                                                                          +

                                                                                                                                                                                                          FAIL (fallback content)

                                                                                                                                                                                                          +

                                                                                                                                                                                                          Expected output:

                                                                                                                                                                                                          +

                                                                                                                                                                                                            + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.exp.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.exp.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.exp.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.hex.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.hex.html new file mode 100644 index 00000000000..e6fde5329a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.hex.html @@ -0,0 +1,33 @@ + + +Canvas test: size.attributes.setAttribute.hex + + + + + + +

                                                                                                                                                                                                            size.attributes.setAttribute.hex

                                                                                                                                                                                                            +

                                                                                                                                                                                                            Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                            + + +

                                                                                                                                                                                                            Actual output:

                                                                                                                                                                                                            +

                                                                                                                                                                                                            FAIL (fallback content)

                                                                                                                                                                                                            + +
                                                                                                                                                                                                              + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.junk.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.junk.html new file mode 100644 index 00000000000..77b50fd1101 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.junk.html @@ -0,0 +1,32 @@ + + +Canvas test: size.attributes.setAttribute.junk + + + + + + +

                                                                                                                                                                                                              size.attributes.setAttribute.junk

                                                                                                                                                                                                              +

                                                                                                                                                                                                              Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                              + + +

                                                                                                                                                                                                              Actual output:

                                                                                                                                                                                                              +

                                                                                                                                                                                                              FAIL (fallback content)

                                                                                                                                                                                                              +

                                                                                                                                                                                                              Expected output:

                                                                                                                                                                                                              +

                                                                                                                                                                                                                + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.junk.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.junk.png new file mode 100644 index 00000000000..a72d047556a Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.junk.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.minus.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.minus.html new file mode 100644 index 00000000000..2bb09bbf29a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.minus.html @@ -0,0 +1,32 @@ + + +Canvas test: size.attributes.setAttribute.minus + + + + + + +

                                                                                                                                                                                                                size.attributes.setAttribute.minus

                                                                                                                                                                                                                +

                                                                                                                                                                                                                Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                Actual output:

                                                                                                                                                                                                                +

                                                                                                                                                                                                                FAIL (fallback content)

                                                                                                                                                                                                                +

                                                                                                                                                                                                                Expected output:

                                                                                                                                                                                                                +

                                                                                                                                                                                                                  + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.minus.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.minus.png new file mode 100644 index 00000000000..a72d047556a Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.minus.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.octal.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.octal.html new file mode 100644 index 00000000000..a6cb6d37fb7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.octal.html @@ -0,0 +1,33 @@ + + +Canvas test: size.attributes.setAttribute.octal + + + + + + +

                                                                                                                                                                                                                  size.attributes.setAttribute.octal

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                  Actual output:

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  FAIL (fallback content)

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                  Expected output:

                                                                                                                                                                                                                  +

                                                                                                                                                                                                                    + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.octal.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.octal.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.octal.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.onlyspace.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.onlyspace.html new file mode 100644 index 00000000000..5e2dd0c6cc1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.onlyspace.html @@ -0,0 +1,32 @@ + + +Canvas test: size.attributes.setAttribute.onlyspace + + + + + + +

                                                                                                                                                                                                                    size.attributes.setAttribute.onlyspace

                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                    Actual output:

                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    FAIL (fallback content)

                                                                                                                                                                                                                    +

                                                                                                                                                                                                                    Expected output:

                                                                                                                                                                                                                    +

                                                                                                                                                                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.onlyspace.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.onlyspace.png new file mode 100644 index 00000000000..a72d047556a Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.onlyspace.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.percent.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.percent.html new file mode 100644 index 00000000000..2a41c667e82 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.percent.html @@ -0,0 +1,33 @@ + + +Canvas test: size.attributes.setAttribute.percent + + + + + + +

                                                                                                                                                                                                                      size.attributes.setAttribute.percent

                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                      Actual output:

                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      FAIL (fallback content)

                                                                                                                                                                                                                      +

                                                                                                                                                                                                                      Expected output:

                                                                                                                                                                                                                      +

                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.percent.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.percent.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.percent.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.plus.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.plus.html new file mode 100644 index 00000000000..f384d82d30a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.plus.html @@ -0,0 +1,33 @@ + + +Canvas test: size.attributes.setAttribute.plus + + + + + + +

                                                                                                                                                                                                                        size.attributes.setAttribute.plus

                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                        Actual output:

                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        FAIL (fallback content)

                                                                                                                                                                                                                        +

                                                                                                                                                                                                                        Expected output:

                                                                                                                                                                                                                        +

                                                                                                                                                                                                                          + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.plus.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.plus.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.plus.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.space.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.space.html new file mode 100644 index 00000000000..8f858527939 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.space.html @@ -0,0 +1,33 @@ + + +Canvas test: size.attributes.setAttribute.space + + + + + + +

                                                                                                                                                                                                                          size.attributes.setAttribute.space

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                          Actual output:

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          FAIL (fallback content)

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                          Expected output:

                                                                                                                                                                                                                          +

                                                                                                                                                                                                                            + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.space.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.space.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.space.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.trailingjunk.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.trailingjunk.html new file mode 100644 index 00000000000..f6d06bab012 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.trailingjunk.html @@ -0,0 +1,33 @@ + + +Canvas test: size.attributes.setAttribute.trailingjunk + + + + + + +

                                                                                                                                                                                                                            size.attributes.setAttribute.trailingjunk

                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                            Actual output:

                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            FAIL (fallback content)

                                                                                                                                                                                                                            +

                                                                                                                                                                                                                            Expected output:

                                                                                                                                                                                                                            +

                                                                                                                                                                                                                              + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.trailingjunk.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.trailingjunk.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.trailingjunk.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.html new file mode 100644 index 00000000000..8a01f57ea5d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.html @@ -0,0 +1,33 @@ + + +Canvas test: size.attributes.setAttribute.whitespace + + + + + + +

                                                                                                                                                                                                                              size.attributes.setAttribute.whitespace

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                              Actual output:

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              FAIL (fallback content)

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                              Expected output:

                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.png new file mode 100644 index 00000000000..f8426733306 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.zero.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.zero.html new file mode 100644 index 00000000000..d1b05ad2096 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.zero.html @@ -0,0 +1,33 @@ + + +Canvas test: size.attributes.setAttribute.zero + + + + + + +

                                                                                                                                                                                                                                size.attributes.setAttribute.zero

                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                Parsing of non-negative integers in setAttribute

                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                Actual output:

                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                FAIL (fallback content)

                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                  + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.style.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.style.html new file mode 100644 index 00000000000..3bab3e79d10 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.style.html @@ -0,0 +1,28 @@ + + +Canvas test: size.attributes.style + + + + + + +

                                                                                                                                                                                                                                  size.attributes.style

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  Canvas size is independent of CSS resizing

                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                  Actual output:

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  FAIL (fallback content)

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                  Expected output:

                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                    + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.style.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.style.png new file mode 100644 index 00000000000..eeedd0ff058 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.style.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.arguments.1.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.arguments.1.html new file mode 100644 index 00000000000..969d4f53839 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.arguments.1.html @@ -0,0 +1,28 @@ + + +Canvas test: toDataURL.arguments.1 + + + + + + +

                                                                                                                                                                                                                                    toDataURL.arguments.1

                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    toDataURL ignores extra arguments

                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                    Actual output:

                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                    FAIL (fallback content)

                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.arguments.2.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.arguments.2.html new file mode 100644 index 00000000000..37894660893 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.arguments.2.html @@ -0,0 +1,28 @@ + + +Canvas test: toDataURL.arguments.2 + + + + + + +

                                                                                                                                                                                                                                      toDataURL.arguments.2

                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      toDataURL ignores extra arguments

                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                      Actual output:

                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                      FAIL (fallback content)

                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.arguments.3.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.arguments.3.html new file mode 100644 index 00000000000..236aba5ff8a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.arguments.3.html @@ -0,0 +1,29 @@ + + +Canvas test: toDataURL.arguments.3 + + + + + + +

                                                                                                                                                                                                                                        toDataURL.arguments.3

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        toDataURL ignores extra arguments

                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                        Actual output:

                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                        FAIL (fallback content)

                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                          + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.bogustype.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.bogustype.html new file mode 100644 index 00000000000..ade95f0ac41 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.bogustype.html @@ -0,0 +1,28 @@ + + +Canvas test: toDataURL.bogustype + + + + + + +

                                                                                                                                                                                                                                          toDataURL.bogustype

                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          toDataURL with a syntactically invalid type returns a PNG

                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                          Actual output:

                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                          FAIL (fallback content)

                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                            + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.default.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.default.html new file mode 100644 index 00000000000..84f4c9ed4c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.default.html @@ -0,0 +1,28 @@ + + +Canvas test: toDataURL.default + + + + + + +

                                                                                                                                                                                                                                            toDataURL.default

                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            toDataURL with no arguments returns a PNG

                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                            Actual output:

                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                            FAIL (fallback content)

                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                              + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.alpha.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.alpha.html new file mode 100644 index 00000000000..80a2fca427d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.alpha.html @@ -0,0 +1,45 @@ + + +Canvas test: toDataURL.jpeg.alpha + + + + + + +

                                                                                                                                                                                                                                              toDataURL.jpeg.alpha

                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              toDataURL with JPEG composites onto black

                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                              Actual output:

                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              FAIL (fallback content)

                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                              Expected output:

                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.alpha.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.alpha.png new file mode 100644 index 00000000000..551871295c8 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.alpha.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.primarycolours.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.primarycolours.html new file mode 100644 index 00000000000..a896cbb5cc8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.primarycolours.html @@ -0,0 +1,48 @@ + + +Canvas test: toDataURL.jpeg.primarycolours + + + + + + +

                                                                                                                                                                                                                                                toDataURL.jpeg.primarycolours

                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                toDataURL with JPEG handles simple colours correctly

                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                Actual output:

                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                FAIL (fallback content)

                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                Expected output:

                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                  + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.primarycolours.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.primarycolours.png new file mode 100644 index 00000000000..cfd13690077 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.primarycolours.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.basic.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.basic.html new file mode 100644 index 00000000000..aad56cdd5c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.basic.html @@ -0,0 +1,56 @@ + + +Canvas test: toDataURL.jpeg.quality.basic + + + + + + +

                                                                                                                                                                                                                                                  toDataURL.jpeg.quality.basic

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  toDataURL with JPEG uses the quality parameter

                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                  Actual output:

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  FAIL (fallback content)

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                  Expected output:

                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                    + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.basic.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.basic.png new file mode 100644 index 00000000000..2f8a0bc7903 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.basic.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.notnumber.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.notnumber.html new file mode 100644 index 00000000000..3167e3c095d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.notnumber.html @@ -0,0 +1,42 @@ + + +Canvas test: toDataURL.jpeg.quality.notnumber + + + + + + +

                                                                                                                                                                                                                                                    toDataURL.jpeg.quality.notnumber

                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    toDataURL with JPEG handles non-numeric quality parameters

                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                    Actual output:

                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                    FAIL (fallback content)

                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.outsiderange.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.outsiderange.html new file mode 100644 index 00000000000..885dc99b825 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.outsiderange.html @@ -0,0 +1,43 @@ + + +Canvas test: toDataURL.jpeg.quality.outsiderange + + + + + + +

                                                                                                                                                                                                                                                      toDataURL.jpeg.quality.outsiderange

                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      toDataURL with JPEG handles out-of-range quality parameters

                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                      Actual output:

                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                      FAIL (fallback content)

                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.lowercase.ascii.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.lowercase.ascii.html new file mode 100644 index 00000000000..b95c8285b73 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.lowercase.ascii.html @@ -0,0 +1,35 @@ + + +Canvas test: toDataURL.lowercase.ascii + + + + + + +

                                                                                                                                                                                                                                                        toDataURL.lowercase.ascii

                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        toDataURL type is case-insensitive

                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                        Actual output:

                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                        FAIL (fallback content)

                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                          + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.lowercase.unicode.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.lowercase.unicode.html new file mode 100644 index 00000000000..ab06d59ec7c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.lowercase.unicode.html @@ -0,0 +1,32 @@ + + +Canvas test: toDataURL.lowercase.unicode + + + + + + +

                                                                                                                                                                                                                                                          toDataURL.lowercase.unicode

                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          toDataURL type is ASCII-case-insensitive

                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                          Actual output:

                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                          FAIL (fallback content)

                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                            + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.nocontext.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.nocontext.html new file mode 100644 index 00000000000..f1138ee7275 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.nocontext.html @@ -0,0 +1,29 @@ + + +Canvas test: toDataURL.nocontext + + + + + + +

                                                                                                                                                                                                                                                            toDataURL.nocontext

                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            toDataURL works before any context has been got

                                                                                                                                                                                                                                                            + + +

                                                                                                                                                                                                                                                            Actual output:

                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                            FAIL (fallback content)

                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                              + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.complexcolours.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.complexcolours.html new file mode 100644 index 00000000000..cc067b737a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.complexcolours.html @@ -0,0 +1,48 @@ + + +Canvas test: toDataURL.png.complexcolours + + + + + + +

                                                                                                                                                                                                                                                              toDataURL.png.complexcolours

                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              toDataURL with PNG handles non-primary and non-solid colours correctly

                                                                                                                                                                                                                                                              + + +

                                                                                                                                                                                                                                                              Actual output:

                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              FAIL (fallback content)

                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                              Expected output:

                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.complexcolours.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.complexcolours.png new file mode 100644 index 00000000000..9bc81465842 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.complexcolours.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.html new file mode 100644 index 00000000000..39917eb234f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.html @@ -0,0 +1,28 @@ + + +Canvas test: toDataURL.png + + + + + + +

                                                                                                                                                                                                                                                                toDataURL.png

                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                toDataURL with image/png returns a PNG

                                                                                                                                                                                                                                                                + + +

                                                                                                                                                                                                                                                                Actual output:

                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                FAIL (fallback content)

                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                  + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.primarycolours.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.primarycolours.html new file mode 100644 index 00000000000..b962821d771 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.primarycolours.html @@ -0,0 +1,48 @@ + + +Canvas test: toDataURL.png.primarycolours + + + + + + +

                                                                                                                                                                                                                                                                  toDataURL.png.primarycolours

                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  toDataURL with PNG handles simple colours correctly

                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                  Actual output:

                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  FAIL (fallback content)

                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                  Expected output:

                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                    + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.primarycolours.png b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.primarycolours.png new file mode 100644 index 00000000000..cfd13690077 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.primarycolours.png differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.unrecognised.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.unrecognised.html new file mode 100644 index 00000000000..3526cc3a2b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.unrecognised.html @@ -0,0 +1,28 @@ + + +Canvas test: toDataURL.unrecognised + + + + + + +

                                                                                                                                                                                                                                                                    toDataURL.unrecognised

                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                    toDataURL with an unhandled type returns a PNG

                                                                                                                                                                                                                                                                    + + +

                                                                                                                                                                                                                                                                    Actual output:

                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                    FAIL (fallback content)

                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.zeroheight.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.zeroheight.html new file mode 100644 index 00000000000..04c11321645 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.zeroheight.html @@ -0,0 +1,28 @@ + + +Canvas test: toDataURL.zeroheight + + + + + + +

                                                                                                                                                                                                                                                                      toDataURL.zeroheight

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      toDataURL on zero-size canvas returns 'data:,'

                                                                                                                                                                                                                                                                      + + +

                                                                                                                                                                                                                                                                      Actual output:

                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                      FAIL (fallback content)

                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.zerosize.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.zerosize.html new file mode 100644 index 00000000000..7d2913d020e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.zerosize.html @@ -0,0 +1,28 @@ + + +Canvas test: toDataURL.zerosize + + + + + + +

                                                                                                                                                                                                                                                                        toDataURL.zerosize

                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        toDataURL on zero-size canvas returns 'data:,'

                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                        Actual output:

                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                        FAIL (fallback content)

                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                          + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.zerowidth.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.zerowidth.html new file mode 100644 index 00000000000..d4020aa51a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.zerowidth.html @@ -0,0 +1,28 @@ + + +Canvas test: toDataURL.zerowidth + + + + + + +

                                                                                                                                                                                                                                                                          toDataURL.zerowidth

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          toDataURL on zero-size canvas returns 'data:,'

                                                                                                                                                                                                                                                                          + + +

                                                                                                                                                                                                                                                                          Actual output:

                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                          FAIL (fallback content)

                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                            + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.delete.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.delete.html new file mode 100644 index 00000000000..98b67b909bb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.delete.html @@ -0,0 +1,28 @@ + + +Canvas test: type.delete + + + + + + +

                                                                                                                                                                                                                                                                            type.delete

                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                            window.HTMLCanvasElement interface object is [[Configurable]]

                                                                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                                                                            Defined in "Web IDL" (draft) +

                                                                                                                                                                                                                                                                            Actual output:

                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                            FAIL (fallback content)

                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                              + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.exists.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.exists.html new file mode 100644 index 00000000000..04aa975707a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.exists.html @@ -0,0 +1,27 @@ + + +Canvas test: type.exists + + + + + + +

                                                                                                                                                                                                                                                                              type.exists

                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              HTMLCanvasElement is a property of window

                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                              Defined in "Web IDL" (draft) +

                                                                                                                                                                                                                                                                              Actual output:

                                                                                                                                                                                                                                                                              +

                                                                                                                                                                                                                                                                              FAIL (fallback content)

                                                                                                                                                                                                                                                                              + +
                                                                                                                                                                                                                                                                                + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.extend.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.extend.html new file mode 100644 index 00000000000..572273083dc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.extend.html @@ -0,0 +1,28 @@ + + +Canvas test: type.extend + + + + + + +

                                                                                                                                                                                                                                                                                type.extend

                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                HTMLCanvasElement methods can be added, and the new methods used by canvases

                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                Defined in "Web IDL" (draft) +

                                                                                                                                                                                                                                                                                Actual output:

                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                FAIL (fallback content)

                                                                                                                                                                                                                                                                                + +
                                                                                                                                                                                                                                                                                  + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.name.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.name.html new file mode 100644 index 00000000000..a514effaa9c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.name.html @@ -0,0 +1,27 @@ + + +Canvas test: type.name + + + + + + +

                                                                                                                                                                                                                                                                                  type.name

                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  HTMLCanvasElement type and toString

                                                                                                                                                                                                                                                                                  + + +

                                                                                                                                                                                                                                                                                  Actual output:

                                                                                                                                                                                                                                                                                  +

                                                                                                                                                                                                                                                                                  FAIL (fallback content)

                                                                                                                                                                                                                                                                                  + +
                                                                                                                                                                                                                                                                                    + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.prototype.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.prototype.html new file mode 100644 index 00000000000..029a9fbbd69 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.prototype.html @@ -0,0 +1,36 @@ + + +Canvas test: type.prototype + + + + + + +

                                                                                                                                                                                                                                                                                    type.prototype

                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                    window.HTMLCanvasElement has prototype, which is { ReadOnly, DontDelete }. prototype has getContext, which is not

                                                                                                                                                                                                                                                                                    + +

                                                                                                                                                                                                                                                                                    Defined in "Web IDL" (draft) +

                                                                                                                                                                                                                                                                                    Actual output:

                                                                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                                                                                    FAIL (fallback content)

                                                                                                                                                                                                                                                                                    + +
                                                                                                                                                                                                                                                                                      + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.replace.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.replace.html new file mode 100644 index 00000000000..70a08066e3e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.replace.html @@ -0,0 +1,28 @@ + + +Canvas test: type.replace + + + + + + +

                                                                                                                                                                                                                                                                                      type.replace

                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      HTMLCanvasElement methods can be replaced, and the replacement methods used by canvases

                                                                                                                                                                                                                                                                                      + +

                                                                                                                                                                                                                                                                                      Defined in "Web IDL" (draft) +

                                                                                                                                                                                                                                                                                      Actual output:

                                                                                                                                                                                                                                                                                      +

                                                                                                                                                                                                                                                                                      FAIL (fallback content)

                                                                                                                                                                                                                                                                                      + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-dimension.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-dimension.html new file mode 100644 index 00000000000..608ed331c9e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-dimension.html @@ -0,0 +1,20 @@ + + +HTML Test: dimension + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-01.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-01.html new file mode 100644 index 00000000000..e66bd4a9069 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-01.html @@ -0,0 +1,18 @@ + + +HTML Test: The embed element without src and type attributes represents nothing + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if there is no red.

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-02.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-02.html new file mode 100644 index 00000000000..65cd672387f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-02.html @@ -0,0 +1,22 @@ + + +HTML Test: The embed element represents nothing when its type and src attributs are removed + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if there is no red.

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-03.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-03.html new file mode 100644 index 00000000000..a16f3794aef --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-03.html @@ -0,0 +1,20 @@ + + +HTML Test: The embed element represents nothing when it has a media ancestor + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if there is no red.

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-04.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-04.html new file mode 100644 index 00000000000..7cc1b668a6b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-04.html @@ -0,0 +1,20 @@ + + +HTML Test: The embed element represents nothing when it has an object ancestor + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if there is no red.

                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-ref.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-ref.html new file mode 100644 index 00000000000..91d680debf1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-ref.html @@ -0,0 +1,7 @@ + + +Embed Reftest Reference + + +

                                                                                                                                                                                                                                                                                        Test passes if there is no red.

                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01.htm b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01.htm new file mode 100644 index 00000000000..fbdb7f75551 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01.htm @@ -0,0 +1,55 @@ +javascript: URL creating a document in an about:blank iframe + + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (test did not run)
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_script.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_script.html new file mode 100644 index 00000000000..5e015ce98d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_script.html @@ -0,0 +1,39 @@ + + +HTML Test: iframe_sandbox_allow_scripts + + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_01.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_01.html new file mode 100644 index 00000000000..efd563f51ac --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_01.html @@ -0,0 +1,20 @@ + +moving modified IFRAME in document (original page about:blank, DOM modification) + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_02.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_02.html new file mode 100644 index 00000000000..dbe266b2930 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_02.html @@ -0,0 +1,22 @@ + +moving modified IFRAME in document (original page about:blank, document.write modification) + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_03.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_03.html new file mode 100644 index 00000000000..c07dd42dc81 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_03.html @@ -0,0 +1,20 @@ + +moving modified IFRAME in document (original page from server, DOM modification) + + + + +
                                                                                                                                                                                                                                                                                        + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_04.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_04.html new file mode 100644 index 00000000000..755cd45d34b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/move_iframe_in_dom_04.html @@ -0,0 +1,22 @@ + +moving modified IFRAME in document (original page from server, document.write modification) + + + + +
                                                                                                                                                                                                                                                                                        + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/blank.htm b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/blank.htm new file mode 100644 index 00000000000..6c70bcfe4d4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/blank.htm @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/sandbox_allow_script.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/sandbox_allow_script.html new file mode 100644 index 00000000000..95c30dec1de --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/sandbox_allow_script.html @@ -0,0 +1,8 @@ + + +HTML Test: sandbox_allow_scripts + +
                                                                                                                                                                                                                                                                                        Before change
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/3.jpg b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/3.jpg new file mode 100644 index 00000000000..d30ac2ac36c Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/3.jpg differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/brokenimg.jpg b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/brokenimg.jpg new file mode 100644 index 00000000000..ccff177ae9b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/brokenimg.jpg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/contains.json b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/contains.json new file mode 100644 index 00000000000..9ac6d3d4224 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/contains.json @@ -0,0 +1,60 @@ +[ + { + "id": "alt", + "original_id": "alt", + "children": [ + { + "id": "general-guidelines", + "original_id": "general-guidelines" + }, + { + "id": "a-link-or-button-containing-nothing-but-the-image", + "original_id": "a-link-or-button-containing-nothing-but-the-image" + }, + { + "id": "a-phrase-or-paragraph-with-an-alternative-graphical-representation-charts-diagrams-graphs-maps-illustrations", + "original_id": "a-phrase-or-paragraph-with-an-alternative-graphical-representation:-charts,-diagrams,-graphs,-maps,-illustrations" + }, + { + "id": "a-short-phrase-or-label-with-an-alternative-graphical-representation-icons-logos", + "original_id": "a-short-phrase-or-label-with-an-alternative-graphical-representation:-icons,-logos" + }, + { + "id": "text-that-has-been-rendered-to-a-graphic-for-typographical-effect", + "original_id": "text-that-has-been-rendered-to-a-graphic-for-typographical-effect" + }, + { + "id": "a-graphical-representation-of-some-of-the-surrounding-text", + "original_id": "a-graphical-representation-of-some-of-the-surrounding-text" + }, + { + "id": "a-purely-decorative-image-that-doesn-t-add-any-information", + "original_id": "a-purely-decorative-image-that-doesn't-add-any-information" + }, + { + "id": "a-group-of-images-that-form-a-single-larger-picture-with-no-links", + "original_id": "a-group-of-images-that-form-a-single-larger-picture-with-no-links" + }, + { + "id": "a-group-of-images-that-form-a-single-larger-picture-with-links", + "original_id": "a-group-of-images-that-form-a-single-larger-picture-with-links" + }, + { + "id": "a-key-part-of-the-content", + "original_id": "a-key-part-of-the-content" + }, + { + "id": "an-image-not-intended-for-the-user", + "original_id": "an-image-not-intended-for-the-user" + }, + { + "id": "guidance-for-markup-generators", + "original_id": "guidance-for-markup-generators" + }, + { + "id": "guidance-for-conformance-checkers", + "original_id": "guidance-for-conformance-checkers" + } + ] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html new file mode 100644 index 00000000000..a7904bf0fe0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html @@ -0,0 +1,33 @@ + +img current pixel density basic + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/error.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/error.html new file mode 100644 index 00000000000..00649795f55 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/error.html @@ -0,0 +1,30 @@ + +img current pixel density error + + +
                                                                                                                                                                                                                                                                                        +testing +testing +testing +testing +testing +testing +testing + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/iframed.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/iframed.sub.html new file mode 100644 index 00000000000..0f7ab9ae272 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/iframed.sub.html @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html new file mode 100644 index 00000000000..21624712cf9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html @@ -0,0 +1,65 @@ + +img viewport change + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/image-1.jpg b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/image-1.jpg new file mode 100644 index 00000000000..2fb0255609a Binary files /dev/null and b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/image-1.jpg differ diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html new file mode 100644 index 00000000000..a34010aadde --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html @@ -0,0 +1,82 @@ + +DOM img complete Test + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html new file mode 100644 index 00000000000..535bada1f23 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html @@ -0,0 +1,386 @@ + +img relevant mutations + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html new file mode 100644 index 00000000000..bd204542081 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html @@ -0,0 +1,42 @@ + +img parse a sizes attribute + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-iframed.sub.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-iframed.sub.html new file mode 100644 index 00000000000..c0f3c43f97c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-iframed.sub.html @@ -0,0 +1,170 @@ + + + + +

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/common.js b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/common.js new file mode 100644 index 00000000000..d4d2c7534c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/common.js @@ -0,0 +1,25 @@ +setup({explicit_done:true}); + +function check(img) { + var name = format_value(img.getAttribute('srcset')); + if (img.hasAttribute('sizes')) { + name += ' sizes=' + format_value(img.getAttribute('sizes')); + } + if (img.hasAttribute('data-desc')) { + name += ' (' + img.getAttribute('data-desc') + ')'; + } + test(function() { + var expect = img.dataset.expect; + if ('resolve' in img.dataset) { + var a = document.createElement('a'); + a.href = expect; + expect = a.href; + } + assert_equals(img.currentSrc, expect); + }, name); +} + +onload = function() { + [].forEach.call(document.images, check); + done(); +}; diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html new file mode 100644 index 00000000000..2ff9886e036 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html @@ -0,0 +1,244 @@ + +img parse a srcset attribute + + + +

                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/select-an-image-source.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/select-an-image-source.html new file mode 100644 index 00000000000..292395d3aef --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/select-an-image-source.html @@ -0,0 +1,20 @@ + +img select an image source + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-source-set.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-source-set.html new file mode 100644 index 00000000000..063667baa9e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-source-set.html @@ -0,0 +1,140 @@ + +img update the source set + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        foo
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        foo
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-map-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-map-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-attributes.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-attributes.html new file mode 100644 index 00000000000..30fdcf520b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-attributes.html @@ -0,0 +1,50 @@ + + +HTML Test: object - attributes + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-events.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-events.html new file mode 100644 index 00000000000..9cce02796b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-events.html @@ -0,0 +1,65 @@ + + +HTML Test: object-events + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-fallback.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-fallback.html new file mode 100644 index 00000000000..d5469a3edc1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-fallback.html @@ -0,0 +1,41 @@ + + +HTML Test: display fallback content + + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-handler.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-handler.html new file mode 100644 index 00000000000..a24554e0cc3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/object-handler.html @@ -0,0 +1,33 @@ + + +HTML Test: object - handler + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/test0.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/test0.html new file mode 100644 index 00000000000..17df71daa24 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/test0.html @@ -0,0 +1,10 @@ + + +HTML Test + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/test1.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/test1.html new file mode 100644 index 00000000000..cf2423275ea --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/test1.html @@ -0,0 +1,9 @@ + + +HTML Test + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/test2.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/test2.html new file mode 100644 index 00000000000..e5061eaea0d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-object-element/test2.html @@ -0,0 +1,4 @@ + + +HTML Test: object - fallback + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-param-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-param-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-source-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-source-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-track-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-track-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video-tabindex.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video-tabindex.html new file mode 100644 index 00000000000..30448747892 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video-tabindex.html @@ -0,0 +1,18 @@ + +tabindex on video elements + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_content-ref.htm b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_content-ref.htm new file mode 100644 index 00000000000..c02abb1236d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_content-ref.htm @@ -0,0 +1,12 @@ + + + + HTML5 Media Elements: Content inside the 'video' element is not shown to the user. + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_content_image.htm b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_content_image.htm new file mode 100644 index 00000000000..0808d894aa7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_content_image.htm @@ -0,0 +1,16 @@ + + + + HTML5 Media Elements: Content inside the 'video' element is not shown to the user. + + + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_content_text.htm b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_content_text.htm new file mode 100644 index 00000000000..639fb73f8ff --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_content_text.htm @@ -0,0 +1,16 @@ + + + + HTML5 Media Elements: Content inside the 'video' element is not shown to the user. + + + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_dynamic_poster-ref.htm b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_dynamic_poster-ref.htm new file mode 100644 index 00000000000..78c03626e11 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_dynamic_poster-ref.htm @@ -0,0 +1,5 @@ + + +Reference for poster tests + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_dynamic_poster_absolute.htm b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_dynamic_poster_absolute.htm new file mode 100644 index 00000000000..bec2b0fba72 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_dynamic_poster_absolute.htm @@ -0,0 +1,12 @@ + + +The 'HTMLVideoElement' interface supports setting 'poster' to an absolute URL + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_dynamic_poster_relative.htm b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_dynamic_poster_relative.htm new file mode 100644 index 00000000000..4faca61c40a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_dynamic_poster_relative.htm @@ -0,0 +1,12 @@ + + +The 'HTMLVideoElement' interface supports setting 'poster' to a relative URL + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_initially_paused-ref.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_initially_paused-ref.html new file mode 100644 index 00000000000..8556aabf23f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_initially_paused-ref.html @@ -0,0 +1,8 @@ + + +Video elements should initially be paused + + + +

                                                                                                                                                                                                                                                                                        The following video element should be paused. (All clocks at zero).

                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_initially_paused.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_initially_paused.html new file mode 100644 index 00000000000..b2725b04aa1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-video-element/video_initially_paused.html @@ -0,0 +1,21 @@ + + +Video elements should initially be paused + + + + + +

                                                                                                                                                                                                                                                                                        The following video element should be paused. (All clocks at zero).

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/contains.json b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/contains.json new file mode 100644 index 00000000000..357a1e6a7b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/contains.json @@ -0,0 +1,34 @@ +[ + { + "id": "naming-form-controls-the-name-attribute", + "original_id": "naming-form-controls:-the-name-attribute" + }, + { + "id": "submitting-element-directionality-the-dirname-attribute", + "original_id": "submitting-element-directionality:-the-dirname-attribute" + }, + { + "id": "limiting-user-input-length-the-maxlength-attribute", + "original_id": "limiting-user-input-length:-the-maxlength-attribute" + }, + { + "id": "enabling-and-disabling-form-controls-the-disabled-attribute", + "original_id": "enabling-and-disabling-form-controls:-the-disabled-attribute" + }, + { + "id": "form-submission", + "original_id": "form-submission" + }, + { + "id": "autofocusing-a-form-control-the-autofocus-attribute", + "original_id": "autofocusing-a-form-control:-the-autofocus-attribute" + }, + { + "id": "input-modalities-the-inputmode-attribute", + "original_id": "input-modalities:-the-inputmode-attribute" + }, + { + "id": "autofilling-form-controls-the-autocomplete-attribute", + "original_id": "autofilling-form-controls:-the-autocomplete-attribute" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/dirname-ltr-iframe.html b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/dirname-ltr-iframe.html new file mode 100644 index 00000000000..b5ed7e3d9a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/dirname-ltr-iframe.html @@ -0,0 +1,4 @@ + + +Submitting element directionality: the dirname attribute support + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/dirname-ltr.html b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/dirname-ltr.html new file mode 100644 index 00000000000..28d1c150b37 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/dirname-ltr.html @@ -0,0 +1,29 @@ + + +Submitting element directionality: the dirname attribute + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/dirname-rtl-manual.html b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/dirname-rtl-manual.html new file mode 100644 index 00000000000..cb00f6972df --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/dirname-rtl-manual.html @@ -0,0 +1,26 @@ + + +Submitting element directionality: the dirname attribute (rtl) + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Switch to a right-to-left writing direction, enter a text in the input and submit the form.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below

                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/disabled-elements-01.html b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/disabled-elements-01.html new file mode 100644 index 00000000000..14443e40997 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/disabled-elements-01.html @@ -0,0 +1,84 @@ + +HTMLFormElement: the disabled attribute + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/formAction_document_address.html b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/formAction_document_address.html new file mode 100644 index 00000000000..d14cad53298 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/formAction_document_address.html @@ -0,0 +1,74 @@ + + + + + HTML Test: formAction_document_address + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/formaction.html b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/formaction.html new file mode 100644 index 00000000000..82798eaa84f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/attributes-common-to-form-controls/formaction.html @@ -0,0 +1,42 @@ + + + formaction on button element + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/categories/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/categories/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/contains.json b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/contains.json new file mode 100644 index 00000000000..67e4c3b12e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/contains.json @@ -0,0 +1,18 @@ +[ + { + "id": "definitions", + "original_id": "definitions" + }, + { + "id": "constraint-validation", + "original_id": "constraint-validation" + }, + { + "id": "the-constraint-validation-api", + "original_id": "the-constraint-validation-api" + }, + { + "id": "security-forms", + "original_id": "security-forms" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity.html new file mode 100644 index 00000000000..9ef5ddd819a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity.html @@ -0,0 +1,145 @@ + + +The constraint validation API Test: element.checkValidity() + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity.html new file mode 100644 index 00000000000..f69c1255510 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity.html @@ -0,0 +1,145 @@ + + +The constraint validation API Test: element.reportValidity() + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validate.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validate.html new file mode 100644 index 00000000000..1fde9b3e2cc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validate.html @@ -0,0 +1,122 @@ + + +Constraint validation + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput.html new file mode 100644 index 00000000000..8c4958a4000 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput.html @@ -0,0 +1,46 @@ + + +The constraint validation API Test: element.validity.badInput + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-customError.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-customError.html new file mode 100644 index 00000000000..16e64214761 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-customError.html @@ -0,0 +1,48 @@ + + +The constraint validation API Test: element.validity.customError + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch.html new file mode 100644 index 00000000000..5a0012b0eb3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch.html @@ -0,0 +1,27 @@ + + +The constraint validation API Test: element.validity.patternMismatch + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow.html new file mode 100644 index 00000000000..2fe214265ae --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow.html @@ -0,0 +1,116 @@ + + +The constraint validation API Test: element.validity.rangeOverflow + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow.html new file mode 100644 index 00000000000..567345c3e28 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow.html @@ -0,0 +1,113 @@ + + +The constraint validation API Test: element.validity.rangeUnderflow + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch.html new file mode 100644 index 00000000000..bb0e9239ac8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch.html @@ -0,0 +1,87 @@ + + +The constraint validation API Test: element.validity.patternMismatch + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooLong.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooLong.html new file mode 100644 index 00000000000..79d0cbe17c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooLong.html @@ -0,0 +1,48 @@ + + +The constraint validation API Test: element.validity.tooLong + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooShort.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooShort.html new file mode 100644 index 00000000000..dfc44746239 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooShort.html @@ -0,0 +1,50 @@ + + +The constraint validation API Test: element.validity.tooShort + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-typeMismatch.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-typeMismatch.html new file mode 100644 index 00000000000..40444277cda --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-typeMismatch.html @@ -0,0 +1,41 @@ + + +The constraint validation API Test: element.validity.typeMismatch + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid.html new file mode 100644 index 00000000000..3f66646083d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid.html @@ -0,0 +1,133 @@ + + +The constraint validation API Test: element.validity.valid + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html new file mode 100644 index 00000000000..4554c95a3b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html @@ -0,0 +1,160 @@ + + +The constraint validation API Test: element.validity.valueMissing + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html new file mode 100644 index 00000000000..671d269ef58 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html @@ -0,0 +1,90 @@ + + +The constraint validation API Test: element.willValidate + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/inputwillvalidate.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/inputwillvalidate.html new file mode 100644 index 00000000000..909fd889bbb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/inputwillvalidate.html @@ -0,0 +1,26 @@ + + + willValidate property on the input element + + + + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js new file mode 100644 index 00000000000..12a88c1fc6e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js @@ -0,0 +1,369 @@ +var validator = { + test_tooLong: function(ctl, data) { + var self = this; + test(function () { + self.pre_check(ctl, "tooLong"); + self.set_conditions(ctl, data.conditions); + if (data.dirty) + self.set_dirty(ctl); + + if (data.expected) + assert_true(ctl.validity.tooLong, "The validity.tooLong should be true."); + else + assert_false(ctl.validity.tooLong, "The validity.tooLong should be false."); + }, data.name); + }, + + test_tooShort: function(ctl, data) { + var self = this; + test(function () { + self.pre_check(ctl, "tooShort"); + self.set_conditions(ctl, data.conditions); + if (data.dirty) + self.set_dirty(ctl); + + if (data.expected) + assert_true(ctl.validity.tooShort, "The validity.tooShort should be true."); + else + assert_false(ctl.validity.tooShort, "The validity.tooShort should be false."); + }, data.name); + }, + + test_patternMismatch: function(ctl, data) { + var self = this; + test(function () { + self.pre_check(ctl, "patternMismatch"); + self.set_conditions(ctl, data.conditions); + + if (data.expected) + assert_true(ctl.validity.patternMismatch, "The validity.patternMismatch should be true."); + else + assert_false(ctl.validity.patternMismatch, "The validity.patternMismatch should be false."); + }, data.name); + }, + + test_valueMissing: function(ctl, data) { + var self = this; + test(function () { + self.pre_check(ctl, "valueMissing"); + self.set_conditions(ctl, data.conditions); + if (data.expected) + assert_true(ctl.validity.valueMissing, "The validity.valueMissing should be true."); + else + assert_false(ctl.validity.valueMissing, "The validity.valueMissing should be false."); + }, data.name); + }, + + test_typeMismatch: function(ctl, data) { + var self = this; + test(function () { + self.pre_check(ctl, "typeMismatch"); + self.set_conditions(ctl, data.conditions); + + if (data.expected) + assert_true(ctl.validity.typeMismatch, "The validity.typeMismatch should be true."); + else + assert_false(ctl.validity.typeMismatch, "The validity.typeMismatch should be false."); + }, data.name); + }, + + test_rangeOverflow: function(ctl, data) { + var self = this; + test(function () { + self.pre_check(ctl, "rangeOverflow"); + self.set_conditions(ctl, data.conditions); + + if (data.expected) + assert_true(ctl.validity.rangeOverflow, "The validity.rangeOverflow should be true."); + else + assert_false(ctl.validity.rangeOverflow, "The validity.rangeOverflow should be false."); + }, data.name); + }, + + test_rangeUnderflow: function(ctl, data) { + var self = this; + test(function () { + self.pre_check(ctl, "rangeUnderflow"); + self.set_conditions(ctl, data.conditions); + if (data.expected) + assert_true(ctl.validity.rangeUnderflow, "The validity.rangeUnderflow should be true."); + else + assert_false(ctl.validity.rangeUnderflow, "The validity.rangeUnderflow should be false."); + }, data.name); + }, + + test_stepMismatch: function(ctl, data) { + var self = this; + test(function () { + self.pre_check(ctl, "stepMismatch"); + self.set_conditions(ctl, data.conditions); + + if (data.expected) + assert_true(ctl.validity.stepMismatch, "The validity.stepMismatch should be true."); + else + assert_false(ctl.validity.stepMismatch, "The validity.stepMismatch should be false."); + }, data.name); + }, + + test_badInput: function(ctl, data) { + var self = this; + test(function () { + self.pre_check(ctl, "badInput"); + self.set_conditions(ctl, data.conditions); + + if (data.expected) + assert_true(ctl.validity.badInput, "The validity.badInput should be true."); + else + assert_false(ctl.validity.badInput, "The validity.badInput should be false."); + }, data.name); + }, + + test_customError: function(ctl, data) { + var self = this; + test(function () { + self.pre_check(ctl, "customError"); + ctl.setCustomValidity(data.conditions.message); + + if (data.expected) { + assert_true(ctl.validity.customError, "The validity.customError attribute should be true."); + assert_equals(ctl.validationMessage, data.conditions.message, + "The validationMessage attribute should be '" + data.conditions.message + "'."); + } else { + assert_false(ctl.validity.customError, "The validity.customError attribute should be false."); + assert_equals(ctl.validationMessage, "", "The validationMessage attribute must be empty."); + } + }, data.name); + }, + + test_isValid: function (ctl, data) { + var self = this; + test(function () { + self.set_conditions(ctl, data.conditions); + if (data.dirty) + self.set_dirty(ctl); + + if (data.expected) + assert_true(ctl.validity.valid, "The validity.valid should be true."); + else + assert_false(ctl.validity.valid, "The validity.valid should be false."); + }, data.name); + }, + + test_willValidate: function(ctl, data) { + var self = this; + test(function () { + self.pre_check(ctl, "willValidate"); + self.set_conditions(ctl, data.conditions); + if (data.ancestor) { + var dl = document.createElement("datalist"); + dl.appendChild(ctl); + } + + if (data.expected) + assert_true(ctl.willValidate, "The willValidate attribute should be true."); + else + assert_false(ctl.willValidate, "The willValidate attribute should be false."); + }, data.name); + }, + + test_checkValidity: function (ctl, data) { + var self = this; + test(function () { + var eventFired = false; + self.pre_check(ctl, "checkValidity"); + self.set_conditions(ctl, data.conditions); + if (data.dirty) + self.set_dirty(ctl); + + on_event(ctl, "invalid", function(e){ + assert_equals(e.type, "invalid", "The invalid event should be fired."); + eventFired = true; + }); + + if (data.expected) { + assert_true(ctl.checkValidity(), "The checkValidity method should be true."); + assert_false(eventFired, "The invalid event should not be fired."); + } else { + assert_false(ctl.checkValidity(), "The checkValidity method should be false."); + assert_true(eventFired, "The invalid event should be fired."); + } + }, data.name); + + test(function () { + var fm = document.createElement("form"); + var ctl2 = ctl.cloneNode(true); + + self.pre_check(ctl, "checkValidity"); + self.set_conditions(ctl2, data.conditions); + fm.appendChild(ctl2); + document.body.appendChild(fm); + if (data.dirty) + self.set_dirty(ctl2); + + var result = fm.checkValidity(); + document.body.removeChild(fm); + + if (data.expected) + assert_true(result, "The checkValidity method of the element's form owner should return true."); + else + assert_false(result, "The checkValidity method of the element's form owner should return false."); + }, data.name + " (in a form)"); + }, + + test_reportValidity: function (ctl, data) { + var self = this; + test(function () { + var eventFired = false; + + self.pre_check(ctl, "reportValidity"); + self.set_conditions(ctl, data.conditions); + if (data.dirty) + self.set_dirty(ctl); + + on_event(ctl, "invalid", function(e){ + assert_equals(e.type, "invalid", "The invalid event should be fired."); + eventFired = true; + }); + + if (data.expected) { + assert_true(ctl.reportValidity(), "The reportValidity method should be true."); + assert_false(eventFired, "The invalid event should not be fired."); + } else { + assert_true(eventFired, "The invalid event should be fired."); + assert_false(ctl.reportValidity(), "The reportValidity method should be false."); + } + }, data.name); + + test(function () { + var fm = document.createElement("form"); + var ctl2 = ctl.cloneNode(true); + + self.pre_check(ctl, "reportValidity"); + self.set_conditions(ctl2, data.conditions); + fm.appendChild(ctl2); + document.body.appendChild(fm); + if (data.dirty) + self.set_dirty(ctl2); + + var result = fm.reportValidity(); + document.body.removeChild(fm); + + if (data.expected) + assert_true(result, "The reportValidity method of the element's form owner should return true."); + else + assert_false(result, "The reportValidity method of the element's form owner should return false."); + }, data.name + " (in a form)"); + }, + + test_support_type: function (ctl, typ, testName) { + test(function () { + assert_equals(ctl.type, typ, "The " + typ + " type should be supported."); + }, testName); + }, + + set_conditions: function (ctl, obj) { + ["required", "pattern", "step", "max", "min", "maxlength", + "value", "multiple", "checked", "selected"].forEach(function(item) { + ctl.removeAttribute(item); + }); + for (var attr in obj) { + if (obj[attr] || obj[attr] === "") + ctl[attr] = obj[attr]; + } + }, + + set_dirty: function(ctl) { + document.disgnMode = "on"; + ctl.focus(); + var old_value = ctl.value; + ctl.value = "a"; + ctl.value = old_value; + ctl.setSelectionRange(ctl.value.length, ctl.value.length); + document.execCommand("Delete"); + document.disgnMode = "off"; + }, + + pre_check: function(ctl, item) { + switch (item) { + case "willValidate": + assert_true(item in ctl, "The " + item + " attribute doesn't exist."); + break; + case "checkValidity": + case "reportValidity": + assert_true(item in ctl, "The " + item + " method doesn't exist."); + break; + case "tooLong": + case "tooShort": + case "patternMismatch": + case "typeMismatch": + case "stepMismatch": + case "rangeOverflow": + case "rangeUnderflow": + case "valueMissing": + case "badInput": + case "valid": + assert_true("validity" in ctl, "The validity attribute doesn't exist."); + assert_true(item in ctl.validity, "The " + item + " attribute doesn't exist."); + break; + case "customError": + assert_true("validity" in ctl, "The validity attribute doesn't exist."); + assert_true("setCustomValidity" in ctl, "The validity attribute doesn't exist."); + assert_true("validationMessage" in ctl, "The validity attribute doesn't exist."); + assert_true(item in ctl.validity, "The " + item + " attribute doesn't exist."); + break; + } + }, + + run_test: function (testee, method) { + var testMethod = "test_" + method; + if (typeof this[testMethod] !== "function") { + return false; + } + + var ele = null, + prefix = ""; + + for (var i = 0; i < testee.length; i++) { + if (testee[i].types.length > 0) { + for (var typ in testee[i].types) { + ele = document.createElement(testee[i].tag); + document.body.appendChild(ele); + try { + ele.type = testee[i].types[typ]; + } catch (e) { + //Do nothing, avoid the runtime error breaking the test + } + + prefix = "[" + testee[i].tag.toUpperCase() + " in " + testee[i].types[typ].toUpperCase() + " status] "; + if (ele.type != testee[i].types[typ]) { + this.test_support_type( + ele, + testee[i].types[typ], + prefix + "The " + testee[i].types[typ] + " type must be supported." + ); + continue; + } + + for (var j = 0; j < testee[i].testData.length; j++) { + testee[i].testData[j].name = testee[i].testData[j].name.replace(/\[.*\]\s/g, prefix); + this[testMethod](ele, testee[i].testData[j]); + } + } + } else { + ele = document.createElement(testee[i].tag); + document.body.appendChild(ele); + prefix = "[" + testee[i].tag + "] "; + + if (testElements[i].tag === "select") { + ele.add(new Option("test1", "")); + ele.add(new Option("test2", 1)); + } + + for (var item in testee[i].testData) { + testee[i].testData[item].name = testee[i].testData[item].name.replace("[target]", prefix); + this[testMethod](ele, testee[i].testData[item]); + } + } + } + } +} diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-control-infrastructure/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/form-control-infrastructure/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-control-infrastructure/contains.json b/tests/wpt/web-platform-tests/html/semantics/forms/form-control-infrastructure/contains.json new file mode 100644 index 00000000000..754a6901d23 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-control-infrastructure/contains.json @@ -0,0 +1,14 @@ +[ + { + "id": "a-form-control-s-value", + "original_id": "a-form-control's-value" + }, + { + "id": "mutability", + "original_id": "mutability" + }, + { + "id": "association-of-controls-and-forms", + "original_id": "association-of-controls-and-forms" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-control-infrastructure/form.html b/tests/wpt/web-platform-tests/html/semantics/forms/form-control-infrastructure/form.html new file mode 100644 index 00000000000..6563c27458a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-control-infrastructure/form.html @@ -0,0 +1,46 @@ + + +HTMLInputElement#form + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        fieldset
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        object +

                                                                                                                                                                                                                                                                                        output +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/contains.json b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/contains.json new file mode 100644 index 00000000000..f9d0d63bf68 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/contains.json @@ -0,0 +1,30 @@ +[ + { + "id": "introduction-2", + "original_id": "introduction-2" + }, + { + "id": "implicit-submission", + "original_id": "implicit-submission" + }, + { + "id": "form-submission-algorithm", + "original_id": "form-submission-algorithm" + }, + { + "id": "constructing-form-data-set", + "original_id": "constructing-form-data-set" + }, + { + "id": "url-encoded-form-data", + "original_id": "url-encoded-form-data" + }, + { + "id": "multipart-form-data", + "original_id": "multipart-form-data" + }, + { + "id": "plain-text-form-data", + "original_id": "plain-text-form-data" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/introduction-1/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/introduction-1/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/introduction-1/contains.json b/tests/wpt/web-platform-tests/html/semantics/forms/introduction-1/contains.json new file mode 100644 index 00000000000..12a86681384 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/introduction-1/contains.json @@ -0,0 +1,34 @@ +[ + { + "id": "writing-a-form-s-user-interface", + "original_id": "writing-a-form's-user-interface" + }, + { + "id": "implementing-the-server-side-processing-for-a-form", + "original_id": "implementing-the-server-side-processing-for-a-form" + }, + { + "id": "configuring-a-form-to-communicate-with-a-server", + "original_id": "configuring-a-form-to-communicate-with-a-server" + }, + { + "id": "client-side-form-validation", + "original_id": "client-side-form-validation" + }, + { + "id": "enabling-client-side-automatic-filling-of-form-controls", + "original_id": "enabling-client-side-automatic-filling-of-form-controls" + }, + { + "id": "improving-the-user-experience-on-mobile-devices", + "original_id": "improving-the-user-experience-on-mobile-devices" + }, + { + "id": "the-difference-between-the-field-type-the-autofill-field-name-and-the-input-modality", + "original_id": "the-difference-between-the-field-type,-the-autofill-field-name,-and-the-input-modality" + }, + { + "id": "input-author-notes", + "original_id": "input-author-notes" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/resetting-a-form/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/resetting-a-form/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/resetting-a-form/reset-form.html b/tests/wpt/web-platform-tests/html/semantics/forms/resetting-a-form/reset-form.html new file mode 100644 index 00000000000..b74b52c46e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/resetting-a-form/reset-form.html @@ -0,0 +1,105 @@ + + +HTML Test: Resetting a form + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + 5 + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/original-id.json b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/original-id.json new file mode 100644 index 00000000000..d9fe4358563 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/original-id.json @@ -0,0 +1 @@ +{"original_id":"textFieldSelection"} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/select-event.html b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/select-event.html new file mode 100644 index 00000000000..92a12d12eb3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/select-event.html @@ -0,0 +1,45 @@ + + +text field selection: select() + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html new file mode 100644 index 00000000000..c17ad32325e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-textarea.html @@ -0,0 +1,20 @@ + + +text field selection (textarea) + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html new file mode 100644 index 00000000000..4ecaa4acbb6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html @@ -0,0 +1,48 @@ + + +text field selection + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection.html b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection.html new file mode 100644 index 00000000000..d89ca04c466 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/selection.html @@ -0,0 +1,144 @@ + +test if select() API returns correct attributes + + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html new file mode 100644 index 00000000000..126aad9cf4e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setRangeText.html @@ -0,0 +1,120 @@ + + +text field selection: setRangeText + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html new file mode 100644 index 00000000000..ec4cf1b5d5b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html @@ -0,0 +1,224 @@ + +Test of text field setSelectionRange + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-button-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-button-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-button-element/button-events.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-button-element/button-events.html new file mode 100644 index 00000000000..74b48e92100 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-button-element/button-events.html @@ -0,0 +1,66 @@ + + +HTML Test: Button - events + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                      • Menu item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-button-element/button-validation.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-button-element/button-validation.html new file mode 100644 index 00000000000..a153907d77a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-button-element/button-validation.html @@ -0,0 +1,29 @@ + + +button element validation + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-datalist-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-datalist-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-datalist-element/datalistoptions.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-datalist-element/datalistoptions.html new file mode 100644 index 00000000000..245d43cec4a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-datalist-element/datalistoptions.html @@ -0,0 +1,43 @@ + + +Datalist element options + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-fieldset-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-fieldset-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-fieldset-element/HTMLFieldSetElement.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-fieldset-element/HTMLFieldSetElement.html new file mode 100644 index 00000000000..0c394cbedd7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-fieldset-element/HTMLFieldSetElement.html @@ -0,0 +1,54 @@ + + +HTML Test: HTMLFieldSetElement interface + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-fieldset-element/disabled.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-fieldset-element/disabled.html new file mode 100644 index 00000000000..cbbda4ab042 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-fieldset-element/disabled.html @@ -0,0 +1,71 @@ + + +Fieldset disabled + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete.html new file mode 100644 index 00000000000..af497b40959 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete.html @@ -0,0 +1,58 @@ + + +form autocomplete attribute + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-elements-interfaces-01.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-elements-interfaces-01.html new file mode 100644 index 00000000000..c8b4a6c71ed --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-elements-interfaces-01.html @@ -0,0 +1,20 @@ + +form.elements: interfaces + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-elements-matches.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-elements-matches.html new file mode 100644 index 00000000000..79216272651 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-elements-matches.html @@ -0,0 +1,46 @@ + +form.elements: matches + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-01.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-01.html new file mode 100644 index 00000000000..0b5aeb8ef5c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-01.html @@ -0,0 +1,43 @@ + +form.elements: namedItem + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-02.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-02.html new file mode 100644 index 00000000000..c25e554de11 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-elements-nameditem-02.html @@ -0,0 +1,28 @@ + +form.elements: parsing + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-nameditem.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-nameditem.html new file mode 100644 index 00000000000..f372742a721 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-form-element/form-nameditem.html @@ -0,0 +1,239 @@ + + +Form named getter + + +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/button.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/button.html new file mode 100644 index 00000000000..3c826a9754f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/button.html @@ -0,0 +1,66 @@ + + +input type button + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/checkbox.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/checkbox.html new file mode 100644 index 00000000000..1b75d74300a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/checkbox.html @@ -0,0 +1,110 @@ + + +input type checkbox + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/checked.xhtml b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/checked.xhtml new file mode 100644 index 00000000000..70aeb510979 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/checked.xhtml @@ -0,0 +1,19 @@ + + + + +input@checked is immediately reflected to 'checked' IDL attribute + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/color.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/color.html new file mode 100644 index 00000000000..6164815f66e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/color.html @@ -0,0 +1,45 @@ + + +Form input type=color + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/contains.json b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/contains.json new file mode 100644 index 00000000000..c2b780f0b8d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/contains.json @@ -0,0 +1,154 @@ +[ + { + "id": "states-of-the-type-attribute", + "original_id": "states-of-the-type-attribute", + "children": [ + { + "id": "hidden-state-type-hidden", + "original_id": "hidden-state-(type=hidden)" + }, + { + "id": "text-type-text-state-and-search-state-type-search", + "original_id": "text-(type=text)-state-and-search-state-(type=search)" + }, + { + "id": "telephone-state-type-tel", + "original_id": "telephone-state-(type=tel)" + }, + { + "id": "url-state-type-url", + "original_id": "url-state-(type=url)" + }, + { + "id": "e-mail-state-type-email", + "original_id": "e-mail-state-(type=email)" + }, + { + "id": "password-state-type-password", + "original_id": "password-state-(type=password)" + }, + { + "id": "date-and-time-state-type-datetime", + "original_id": "date-and-time-state-(type=datetime)" + }, + { + "id": "date-state-type-date", + "original_id": "date-state-(type=date)" + }, + { + "id": "month-state-type-month", + "original_id": "month-state-(type=month)" + }, + { + "id": "week-state-type-week", + "original_id": "week-state-(type=week)" + }, + { + "id": "time-state-type-time", + "original_id": "time-state-(type=time)" + }, + { + "id": "local-date-and-time-state-type-datetime-local", + "original_id": "local-date-and-time-state-(type=datetime-local)" + }, + { + "id": "number-state-type-number", + "original_id": "number-state-(type=number)" + }, + { + "id": "range-state-type-range", + "original_id": "range-state-(type=range)" + }, + { + "id": "color-state-type-color", + "original_id": "color-state-(type=color)" + }, + { + "id": "checkbox-state-type-checkbox", + "original_id": "checkbox-state-(type=checkbox)" + }, + { + "id": "radio-button-state-type-radio", + "original_id": "radio-button-state-(type=radio)" + }, + { + "id": "file-upload-state-type-file", + "original_id": "file-upload-state-(type=file)" + }, + { + "id": "submit-button-state-type-submit", + "original_id": "submit-button-state-(type=submit)" + }, + { + "id": "image-button-state-type-image", + "original_id": "image-button-state-(type=image)" + }, + { + "id": "reset-button-state-type-reset", + "original_id": "reset-button-state-(type=reset)" + }, + { + "id": "button-state-type-button", + "original_id": "button-state-(type=button)" + } + ] + }, + { + "id": "input-impl-notes", + "original_id": "input-impl-notes" + }, + { + "id": "common-input-element-attributes", + "original_id": "common-input-element-attributes", + "children": [ + { + "id": "the-maxlength-attribute", + "original_id": "the-maxlength-attribute" + }, + { + "id": "the-size-attribute", + "original_id": "the-size-attribute" + }, + { + "id": "the-readonly-attribute", + "original_id": "the-readonly-attribute" + }, + { + "id": "the-required-attribute", + "original_id": "the-required-attribute" + }, + { + "id": "the-multiple-attribute", + "original_id": "the-multiple-attribute" + }, + { + "id": "the-pattern-attribute", + "original_id": "the-pattern-attribute" + }, + { + "id": "the-min-and-max-attributes", + "original_id": "the-min-and-max-attributes" + }, + { + "id": "the-step-attribute", + "original_id": "the-step-attribute" + }, + { + "id": "the-list-attribute", + "original_id": "the-list-attribute" + }, + { + "id": "the-placeholder-attribute", + "original_id": "the-placeholder-attribute" + } + ] + }, + { + "id": "common-input-element-apis", + "original_id": "common-input-element-apis" + }, + { + "id": "common-event-behaviors", + "original_id": "common-event-behaviors" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/date.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/date.html new file mode 100644 index 00000000000..70885ed05a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/date.html @@ -0,0 +1,90 @@ + + + + Inputs Date + + + + + + + +

                                                                                                                                                                                                                                                                                        Inputs Date

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/datetime-2.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/datetime-2.html new file mode 100644 index 00000000000..121dce8d25b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/datetime-2.html @@ -0,0 +1,45 @@ + + +Form input type=datetime + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/datetime-local.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/datetime-local.html new file mode 100644 index 00000000000..b4548b77aac --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/datetime-local.html @@ -0,0 +1,36 @@ + + +Form input type=datetime-local + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/datetime.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/datetime.html new file mode 100644 index 00000000000..2e909da2d0c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/datetime.html @@ -0,0 +1,106 @@ + + + + Date & Time Inputs + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Date & Time Inputs

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/email.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/email.html new file mode 100644 index 00000000000..b154ab93c78 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/email.html @@ -0,0 +1,58 @@ + +Input Email + + + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/file-manual.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/file-manual.html new file mode 100644 index 00000000000..3340239881b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/file-manual.html @@ -0,0 +1,30 @@ + + +input type file + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Manual test: clicking on the input should open a prompt allowing you to select a file.

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/files.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/files.html new file mode 100644 index 00000000000..f2fac99bbf5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/files.html @@ -0,0 +1,49 @@ + + +HTMLInputElement#files + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/hidden.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/hidden.html new file mode 100644 index 00000000000..4aca00d8c6b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/hidden.html @@ -0,0 +1,74 @@ + + + + Hidden input element + + + + + + + +

                                                                                                                                                                                                                                                                                        Hidden input element

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/image01-ref.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/image01-ref.html new file mode 100644 index 00000000000..62c141d960d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/image01-ref.html @@ -0,0 +1,5 @@ + + +input type image reference file + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/image01.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/image01.html new file mode 100644 index 00000000000..e9028dceec7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/image01.html @@ -0,0 +1,7 @@ + + +input type image + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-textselection-01.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-textselection-01.html new file mode 100644 index 00000000000..df7c52567e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-textselection-01.html @@ -0,0 +1,42 @@ + +The selection interface members + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-type-button.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-type-button.html new file mode 100644 index 00000000000..0f269355a51 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-type-button.html @@ -0,0 +1,51 @@ + + +input type button + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-type-checkbox.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-type-checkbox.html new file mode 100644 index 00000000000..7dd2f26b12c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/input-type-checkbox.html @@ -0,0 +1,60 @@ + + +input type checkbox + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/month.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/month.html new file mode 100644 index 00000000000..198fb9f3a82 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/month.html @@ -0,0 +1,93 @@ + + + + Inputs Month + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Inputs Month

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/number.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/number.html new file mode 100644 index 00000000000..5067d0e2fdd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/number.html @@ -0,0 +1,53 @@ + + +Form input type=number + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/password.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/password.html new file mode 100644 index 00000000000..aac54aa1c72 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/password.html @@ -0,0 +1,79 @@ + + +Password input element + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/pattern_attribute.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/pattern_attribute.html new file mode 100644 index 00000000000..01e19a808f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/pattern_attribute.html @@ -0,0 +1,34 @@ + + + + + Pattern Attribute + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pattern Attribute

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case.html new file mode 100644 index 00000000000..05192fc7df4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case.html @@ -0,0 +1,75 @@ + + +radio group name compatibility caseless + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/radio.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/radio.html new file mode 100644 index 00000000000..3c4fea2a617 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/radio.html @@ -0,0 +1,137 @@ + + +input type radio + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/range-2.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/range-2.html new file mode 100644 index 00000000000..3277dfc07fd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/range-2.html @@ -0,0 +1,43 @@ + + +range input Tests + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/range.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/range.html new file mode 100644 index 00000000000..2e7a85ea956 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/range.html @@ -0,0 +1,276 @@ + + + + + Input Range + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Input Range

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/required_attribute.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/required_attribute.html new file mode 100644 index 00000000000..6674fca2e37 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/required_attribute.html @@ -0,0 +1,34 @@ + + + + + Required Attribute + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Required Attribute

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/reset.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/reset.html new file mode 100644 index 00000000000..9a979954265 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/reset.html @@ -0,0 +1,113 @@ + + +input type reset + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/search_input.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/search_input.html new file mode 100644 index 00000000000..f3c346a2396 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/search_input.html @@ -0,0 +1,35 @@ + + + + + Search Input + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Search Input

                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/telephone.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/telephone.html new file mode 100644 index 00000000000..4d9aaf09970 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/telephone.html @@ -0,0 +1,84 @@ + + + + Input tel + + + + + + +

                                                                                                                                                                                                                                                                                        Input tel

                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/text.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/text.html new file mode 100644 index 00000000000..b6d4ceabf4f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/text.html @@ -0,0 +1,104 @@ + + + + Text input element + + + + + + + +

                                                                                                                                                                                                                                                                                        Text input element

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/time-2.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/time-2.html new file mode 100644 index 00000000000..cf0d4cbbeab --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/time-2.html @@ -0,0 +1,42 @@ + + +Form input type=time + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/time.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/time.html new file mode 100644 index 00000000000..b202d28c79c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/time.html @@ -0,0 +1,207 @@ + + + + + Input Time + + + + + + + +

                                                                                                                                                                                                                                                                                        Input Time

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html new file mode 100644 index 00000000000..87f734b90fd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html @@ -0,0 +1,58 @@ + + +Input element's type attribute changes state + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/url.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/url.html new file mode 100644 index 00000000000..c368e746612 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/url.html @@ -0,0 +1,59 @@ + + + + Input url + + + + + + +

                                                                                                                                                                                                                                                                                        Input url

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/valueMode.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/valueMode.html new file mode 100644 index 00000000000..04b09650955 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/valueMode.html @@ -0,0 +1,72 @@ + + +Input element value mode + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/week.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/week.html new file mode 100644 index 00000000000..e06b67889e0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-input-element/week.html @@ -0,0 +1,38 @@ + + +Form input type=week + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-keygen-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-keygen-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/label-attributes.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/label-attributes.html new file mode 100644 index 00000000000..324f72ba468 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/label-attributes.html @@ -0,0 +1,124 @@ + + +HTML Test: The label element + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/labelable-elements.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/labelable-elements.html new file mode 100644 index 00000000000..38706cb8c75 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/labelable-elements.html @@ -0,0 +1,96 @@ + + +HTML Test: labelable elements + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-legend-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-legend-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-meter-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-meter-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-meter-element/meter.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-meter-element/meter.html new file mode 100644 index 00000000000..7a77513d31e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-meter-element/meter.html @@ -0,0 +1,242 @@ + + + + The meter element + + + + + + + +

                                                                                                                                                                                                                                                                                        Meter Element

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-optgroup-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-optgroup-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-label-value.js b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-label-value.js new file mode 100644 index 00000000000..5c453f1733e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-label-value.js @@ -0,0 +1,82 @@ +function test_option(member) { + test(function() { + var option = document.createElement("option"); + assert_equals(option[member], ""); + }, "No children, no " + member); + + test(function() { + var option = document.createElement("option"); + option.setAttribute(member, "") + assert_equals(option[member], ""); + }, "No children, empty " + member); + + test(function() { + var option = document.createElement("option"); + option.setAttribute(member, member) + assert_equals(option[member], member); + }, "No children, " + member); + + test(function() { + var option = document.createElement("option"); + option.setAttributeNS("http://www.example.com/", member, member) + assert_equals(option[member], ""); + }, "No children, namespaced " + member); + + test(function() { + var option = document.createElement("option"); + option.appendChild(document.createTextNode(" child ")); + assert_equals(option[member], "child"); + }, "Single child, no " + member); + + test(function() { + var option = document.createElement("option"); + option.appendChild(document.createTextNode(" child ")); + option.setAttribute(member, "") + assert_equals(option[member], ""); + }, "Single child, empty " + member); + + test(function() { + var option = document.createElement("option"); + option.appendChild(document.createTextNode(" child ")); + option.setAttribute(member, member) + assert_equals(option[member], member); + }, "Single child, " + member); + + test(function() { + var option = document.createElement("option"); + option.appendChild(document.createTextNode(" child ")); + option.setAttributeNS("http://www.example.com/", member, member) + assert_equals(option[member], "child"); + }, "Single child, namespaced " + member); + + test(function() { + var option = document.createElement("option"); + option.appendChild(document.createTextNode(" child ")); + option.appendChild(document.createTextNode(" node ")); + assert_equals(option[member], "child node"); + }, "Two children, no " + member); + + test(function() { + var option = document.createElement("option"); + option.appendChild(document.createTextNode(" child ")); + option.appendChild(document.createTextNode(" node ")); + option.setAttribute(member, "") + assert_equals(option[member], ""); + }, "Two children, empty " + member); + + test(function() { + var option = document.createElement("option"); + option.appendChild(document.createTextNode(" child ")); + option.appendChild(document.createTextNode(" node ")); + option.setAttribute(member, member) + assert_equals(option[member], member); + }, "Two children, " + member); + + test(function() { + var option = document.createElement("option"); + option.appendChild(document.createTextNode(" child ")); + option.appendChild(document.createTextNode(" node ")); + option.setAttributeNS("http://www.example.com/", member, member) + assert_equals(option[member], "child node"); + }, "Two children, namespaced " + member); +} diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-label.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-label.html new file mode 100644 index 00000000000..f931b962207 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-label.html @@ -0,0 +1,12 @@ + + +HTMLOptionElement.label + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-text-backslash.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-text-backslash.html new file mode 100644 index 00000000000..34bd0d368bf --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-text-backslash.html @@ -0,0 +1,15 @@ + + +Test for the backslash sign in option.text + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-text-label.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-text-label.html new file mode 100644 index 00000000000..9259aecf303 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-text-label.html @@ -0,0 +1,23 @@ + + +HTMLOptionElement.text + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-text-recurse.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-text-recurse.html new file mode 100644 index 00000000000..46baa8e1ce5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-text-recurse.html @@ -0,0 +1,77 @@ + + +HTMLOptionElement.text + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-text-spaces.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-text-spaces.html new file mode 100644 index 00000000000..2c712655a9b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-text-spaces.html @@ -0,0 +1,75 @@ + + +HTMLOptionElement.text + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-value.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-value.html new file mode 100644 index 00000000000..cccdc37487e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-value.html @@ -0,0 +1,12 @@ + + +HTMLOptionElement.value + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-output-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-output-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-output-element/output.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-output-element/output.html new file mode 100644 index 00000000000..7682703fa8c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-output-element/output.html @@ -0,0 +1,39 @@ + + +The output element + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-progress-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-progress-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-progress-element/progress-2.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-progress-element/progress-2.html new file mode 100644 index 00000000000..ebc47506278 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-progress-element/progress-2.html @@ -0,0 +1,34 @@ + + + + Progress Element Tests + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-progress-element/progress.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-progress-element/progress.html new file mode 100644 index 00000000000..0c176d8ea6e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-progress-element/progress.html @@ -0,0 +1,74 @@ + + + + The progress element + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection-namedItem.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection-namedItem.html new file mode 100644 index 00000000000..429c642a685 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection-namedItem.html @@ -0,0 +1,62 @@ + + + + +HTMLOptionsCollection + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection.html new file mode 100644 index 00000000000..6bae66ccf78 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/common-HTMLOptionsCollection.html @@ -0,0 +1,70 @@ + + + + +HTMLOptionsCollection + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/select-named-getter.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/select-named-getter.html new file mode 100644 index 00000000000..da43da9d920 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/select-named-getter.html @@ -0,0 +1,46 @@ + + +Absence of a named getter on HTMLSelectElement + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/select-remove.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/select-remove.html new file mode 100644 index 00000000000..cf2128bd158 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-select-element/select-remove.html @@ -0,0 +1,64 @@ + + +HTMLSelectElement.remove + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-newline-bidi-ref.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-newline-bidi-ref.html new file mode 100644 index 00000000000..d69195b4f4a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-newline-bidi-ref.html @@ -0,0 +1,19 @@ + + + + HTML Test reference: newline in <textarea> separates bidi paragraphs + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the rightmost character in the first line below is a full stop and to the left of it is a Hebrew letter.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-newline-bidi.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-newline-bidi.html new file mode 100644 index 00000000000..ce1ff944c29 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-newline-bidi.html @@ -0,0 +1,23 @@ + + + + + HTML Test: newline in <textarea> separates bidi paragraphs + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the rightmost character in the first line below is a full stop and to the left of it is a Hebrew letter.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-type.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-type.html new file mode 100644 index 00000000000..ac80f936567 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/textarea-type.html @@ -0,0 +1,16 @@ + +The type IDL attribute + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1-ref.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1-ref.html new file mode 100644 index 00000000000..98a7f8a3af6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1-ref.html @@ -0,0 +1,5 @@ + +Dynamic manipulation of textarea.wrap + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a.html new file mode 100644 index 00000000000..4a965f5d48e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a.html @@ -0,0 +1,8 @@ + +Dynamic manipulation of textarea.wrap + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1b.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1b.html new file mode 100644 index 00000000000..8c20dc9f120 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1b.html @@ -0,0 +1,8 @@ + +Dynamic manipulation of textarea.wrap + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-blockquote-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-blockquote-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dd-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dd-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dd-element/grouping-dd.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dd-element/grouping-dd.html new file mode 100644 index 00000000000..022e555bd24 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dd-element/grouping-dd.html @@ -0,0 +1,27 @@ + + + + + the dd element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the dd element.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-div-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-div-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-div-element/grouping-div.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-div-element/grouping-div.html new file mode 100644 index 00000000000..ffde6eb53f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-div-element/grouping-div.html @@ -0,0 +1,28 @@ + + + + + The div element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the div element.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dl-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dl-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dl-element/grouping-dl.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dl-element/grouping-dl.html new file mode 100644 index 00000000000..2394d6a9298 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dl-element/grouping-dl.html @@ -0,0 +1,30 @@ + + + + + the dl element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the dl element.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dt-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dt-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dt-element/grouping-dt.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dt-element/grouping-dt.html new file mode 100644 index 00000000000..1dbb4384dd2 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-dt-element/grouping-dt.html @@ -0,0 +1,28 @@ + + + + + the dl element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the dt element.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-figcaption-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-figcaption-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-figcaption-element/grouping-figcaption.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-figcaption-element/grouping-figcaption.html new file mode 100644 index 00000000000..68e7a516b41 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-figcaption-element/grouping-figcaption.html @@ -0,0 +1,28 @@ + + + + + the figcaption element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the figcaption element.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-figure-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-figure-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-figure-element/grouping-figure.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-figure-element/grouping-figure.html new file mode 100644 index 00000000000..31c156ce380 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-figure-element/grouping-figure.html @@ -0,0 +1,29 @@ + + + + + the figure element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the figure element.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-hr-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-hr-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-hr-element/grouping-hr.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-hr-element/grouping-hr.html new file mode 100644 index 00000000000..eeadd97d446 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-hr-element/grouping-hr.html @@ -0,0 +1,30 @@ + + + + + the hr element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the hr element.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-novalue-manual.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-novalue-manual.html new file mode 100644 index 00000000000..346ed566296 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-novalue-manual.html @@ -0,0 +1,148 @@ + + + + + Body Element + + + + + + + +

                                                                                                                                                                                                                                                                                        Validation of li characteristic requiring manual testing

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states: "If the parent element is an ol element, then the li element has an ordinal value."

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This manual test is needed to verify that NON-ol element parents do NOT result in an ordinal value.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        It needs to be manual because the ordinal value assigned to each list element by the user agent is NOT available programmatically. Values which are set either via markup or IDL are available programmatically, but not the calculated values for all the other list items.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        And, as we cannot be sure how a mistakenly assigned value would be rendered, this test cannot be a reftest.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        So, please use the buttons to answer the following questions:

                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        HTML MarkupDo you see any sort of sequencing information?
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                      • Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                      • + +
                                                                                                                                                                                                                                                                                      • Toolbar Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • Toolbar Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • + +
                                                                                                                                                                                                                                                                                      • Toolbar Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • Toolbar Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • list item
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • list item
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • list item
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-001-ref.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-001-ref.html new file mode 100644 index 00000000000..e92a3a9ba73 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-001-ref.html @@ -0,0 +1,49 @@ + + + + + li element + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test continues to validate the li element.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        "If the parent element is an ol element, then the li element has an ordinal value. The value attribute is processed relative to the element's parent ol element (q.v.), if there is one. If there is not, the attribute has no effect."
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This reftest verifies that the value attribute has no effect when applied to a list item NOT having an ol parent.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        A reftest is necessary because the values of li elements as calculated by the user agent are NOT available programatically. Only explicitly-set values are then available programatically.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This reftest passes if you see NO sequencing information on any of the items below.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Unordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • list item
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • list item
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • list item
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                      • Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                      • + +
                                                                                                                                                                                                                                                                                      • Toolbar Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • Toolbar Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • + +
                                                                                                                                                                                                                                                                                      • Toolbar Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • Toolbar Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-001.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-001.html new file mode 100644 index 00000000000..71b72c2ce9e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-001.html @@ -0,0 +1,49 @@ + + + + + li element + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test continues to validate the li element.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        "If the parent element is an ol element, then the li element has an ordinal value. The value attribute is processed relative to the element's parent ol element (q.v.), if there is one. If there is not, the attribute has no effect."
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This reftest verifies that the value attribute has no effect when applied to a list item NOT having an ol parent.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        A reftest is necessary because the values of li elements as calculated by the user agent are NOT available programatically. Only explicitly-set values are then available programatically.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This reftest passes if you see NO sequencing information on any of the items below.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Unordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • list item
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • list item
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • list item
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                      • Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                      • + +
                                                                                                                                                                                                                                                                                      • Toolbar Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • Toolbar Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • + +
                                                                                                                                                                                                                                                                                      • Toolbar Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • Toolbar Menu Item
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-002-ref.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-002-ref.html new file mode 100644 index 00000000000..00a95d1ca78 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-002-ref.html @@ -0,0 +1,35 @@ + + + + + li element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test continues to validate the li element.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        "If the parent element is an ol element, then the li element has an ordinal value. The value attribute is processed relative to the element's parent ol element (q.v.), if there is one. If there is not, the attribute has no effect."
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This reftest verifies that the value attribute has an effect when applied to a list item with an ol parent.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        A reftest is necessary because the values of li elements as calculated by the user agent are NOT available programatically. Only explicitly-set values are then available programatically.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This reftest passes if you see the numbers 1. 2. 3. below the words "Ordered List"

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        3.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-002.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-002.html new file mode 100644 index 00000000000..ae4eebee196 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-002.html @@ -0,0 +1,36 @@ + + + + + li element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test continues to validate the li element.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        "If the parent element is an ol element, then the li element has an ordinal value. The value attribute is processed relative to the element's parent ol element (q.v.), if there is one. If there is not, the attribute has no effect."
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This reftest verifies that the value attribute has an effect when applied to a list item with an ol parent.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        A reftest is necessary because the values of li elements as calculated by the user agent are NOT available programatically. Only explicitly-set values are then available programatically.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This reftest passes if you see the numbers 1. 2. 3. below the words "Ordered List"

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li.html new file mode 100644 index 00000000000..9deb9b59139 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li.html @@ -0,0 +1,205 @@ + + + + + li element + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the li element.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                      • Command
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • Command
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                      • + + + + +
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • + +
                                                                                                                                                                                                                                                                                      • Help Me
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • About
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Unordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • list item
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • list item
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • list item
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-rev-reftest-001-ref.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-rev-reftest-001-ref.html new file mode 100644 index 00000000000..5bb9758e91f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-rev-reftest-001-ref.html @@ -0,0 +1,54 @@ + + + + + ol element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test continues to validate the ol element.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        These reftests are necessary because the values of the ol's li children as calculated by the user agent are NOT available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        "The reversed attribute is a boolean attribute. If present, it indicates that the list is a descending list (..., 3, 2, 1). If the attribute is omitted, the list is an ascending list (1, 2, 3, ...)."
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if you see an ascending list followed by two descending lists.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        (Note: each list item has no content; only the sequencing should appear.)

                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        3.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List - reversed via content attribute

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        3.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        1.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List - reversed via IDL

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        3.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        1.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-rev-reftest-001.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-rev-reftest-001.html new file mode 100644 index 00000000000..32d4f2c86f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-rev-reftest-001.html @@ -0,0 +1,59 @@ + + + + + ol element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test continues to validate the ol element.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        These reftests are necessary because the values of the ol's li children as calculated by the user agent are NOT available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        "The reversed attribute is a boolean attribute. If present, it indicates that the list is a descending list (..., 3, 2, 1). If the attribute is omitted, the list is an ascending list (1, 2, 3, ...)."
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if you see an ascending list followed by two descending lists.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        (Note: each list item has no content; only the sequencing should appear.)

                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List - reversed via content attribute

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List - reversed via IDL

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-001-ref.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-001-ref.html new file mode 100644 index 00000000000..5180e03d18c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-001-ref.html @@ -0,0 +1,58 @@ + + + + + ol element + + + + + + + +

                                                                                                                                                                                                                                                                                        This test continues to validate the ol element. This reftest is necessary because the values of the ol's li children as calculated and displayed by the user agent are NOT systematically available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The first item in the list has the ordinal value given by the ol element's start attribute, unless that li element has a value attribute with a value that can be successfully parsed, in which case it has the ordinal value given by that value attribute.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Each subsequent item in the list has the ordinal value given by its value attribute, if it has one, or, if it doesn't, the ordinal value of the previous item, plus one if the reversed is absent, or minus one if it is present.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if each list's items are numbered identically to the horizontal sequence immediately above those list items.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        (Note: each list item has no content; only the sequencing should appear.)

                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        2, 3, 4 (ol has start attribute of 2)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        3.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        4.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -9, -8, -7 (ol has start attribute of -9)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -9.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        -8.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        -7.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1000, 1001, 1002 (list's start attribute of 1000 provided by JavaScript)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1000.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        1001.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        1002.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        2, 1, 9 (each list item has a specified value attribute, list has a start attribute of 1000)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        1.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        9.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-001.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-001.html new file mode 100644 index 00000000000..dc373f91019 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-001.html @@ -0,0 +1,64 @@ + + + + + ol element + + + + + + + +

                                                                                                                                                                                                                                                                                        This test continues to validate the ol element. This reftest is necessary because the values of the ol's li children as calculated and displayed by the user agent are NOT systematically available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The first item in the list has the ordinal value given by the ol element's start attribute, unless that li element has a value attribute with a value that can be successfully parsed, in which case it has the ordinal value given by that value attribute.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Each subsequent item in the list has the ordinal value given by its value attribute, if it has one, or, if it doesn't, the ordinal value of the previous item, plus one if the reversed is absent, or minus one if it is present.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if each list's items are numbered identically to the horizontal sequence immediately above those list items.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        (Note: each list item has no content; only the sequencing should appear.)

                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        2, 3, 4 (ol has start attribute of 2)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -9, -8, -7 (ol has start attribute of -9)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1000, 1001, 1002 (list's start attribute of 1000 provided by JavaScript)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        2, 1, 9 (each list item has a specified value attribute, list has a start attribute of 1000)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-002-ref.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-002-ref.html new file mode 100644 index 00000000000..e40c12c3a2f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-002-ref.html @@ -0,0 +1,58 @@ + + + + + ol element + + + + + + + +

                                                                                                                                                                                                                                                                                        This test continues to validate the ol element. This reftest is necessary because the values of the ol's li children as calculated and displayed by the user agent are NOT systematically available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The first item in the list has the ordinal value given by the ol element's start attribute, unless that li element has a value attribute with a value that can be successfully parsed, in which case it has the ordinal value given by that value attribute.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Each subsequent item in the list has the ordinal value given by its value attribute, if it has one, or, if it doesn't, the ordinal value of the previous item, plus one if the reversed is absent, or minus one if it is present.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if each list's items are numbered identically to the horizontal sequence immediately above those list items.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        (Note: each list item has no content; only the sequencing should appear.)

                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        4, 5, 6 (ol has start attribute of 2 which is overridden by first list item's value attribute of 4)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        4.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        5.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        6.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        4, 5, 6 (ol has start attribute of -10 which is overridden by first list item's value attribute of 4)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        4.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        5.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        6.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1, 5, 6 (2nd list item has value attribute of 5)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        5.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        6.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -1, -5, -4 (list has a start attribute of -1, and 2nd list item has value attribute of -5)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -1.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        -5.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        -4.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-002.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-002.html new file mode 100644 index 00000000000..559e3c21967 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-002.html @@ -0,0 +1,61 @@ + + + + + ol element + + + + + + + +

                                                                                                                                                                                                                                                                                        This test continues to validate the ol element. This reftest is necessary because the values of the ol's li children as calculated and displayed by the user agent are NOT systematically available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The first item in the list has the ordinal value given by the ol element's start attribute, unless that li element has a value attribute with a value that can be successfully parsed, in which case it has the ordinal value given by that value attribute.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Each subsequent item in the list has the ordinal value given by its value attribute, if it has one, or, if it doesn't, the ordinal value of the previous item, plus one if the reversed is absent, or minus one if it is present.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if each list's items are numbered identically to the horizontal sequence immediately above those list items.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        (Note: each list item has no content; only the sequencing should appear.)

                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        4, 5, 6 (ol has start attribute of 2 which is overridden by first list item's value attribute of 4)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        4, 5, 6 (ol has start attribute of -10 which is overridden by first list item's value attribute of 4)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1, 5, 6 (2nd list item has value attribute of 5)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -1, -5, -4 (list has a start attribute of -1, and 2nd list item has value attribute of -5)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001-ref.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001-ref.html new file mode 100644 index 00000000000..d46f5951a74 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001-ref.html @@ -0,0 +1,56 @@ + + + + + ol element + + + + + + + +

                                                                                                                                                                                                                                                                                        This test continues to validate the ol element. This reftest is necessary because the values of the ol's li children as calculated and displayed by the user agent are NOT systematically available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The type attribute represents the state given in the cell in the second column of the row whose first cell matches the attribute's value; if none of the cells match, or if the attribute is omitted, then the attribute represents the decimal state.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if each list's items are labelled identically to the horizontal sequence immediately above those list items:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        (Note: each list item has no content; only the sequencing should appear.)

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        1, 2, 3 (default value for unspecified type attribute is 'decimal')

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        3.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1, 2, 3 (default value for type attribute not listed in spec table is 'decimal' (type = "!"))

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        3.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1, 2, 3 (default value for type attribute not listed in spec table is 'decimal' (type = "2"))

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        3.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1, 2, 3 (default value for type attribute not listed in spec table is 'decimal' (type = "b"))

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        3.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001.html new file mode 100644 index 00000000000..32b0e200ba5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001.html @@ -0,0 +1,58 @@ + + + + + ol element + + + + + + + +

                                                                                                                                                                                                                                                                                        This test continues to validate the ol element. This reftest is necessary because the values of the ol's li children as calculated and displayed by the user agent are NOT systematically available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The type attribute represents the state given in the cell in the second column of the row whose first cell matches the attribute's value; if none of the cells match, or if the attribute is omitted, then the attribute represents the decimal state.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if each list's items are labelled identically to the horizontal sequence immediately above those list items:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        (Note: each list item has no content; only the sequencing should appear.)

                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        1, 2, 3 (default value for unspecified type attribute is 'decimal')

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1, 2, 3 (default value for type attribute not listed in spec table is 'decimal' (type = "!"))

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1, 2, 3 (default value for type attribute not listed in spec table is 'decimal' (type = "2"))

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1, 2, 3 (default value for type attribute not listed in spec table is 'decimal' (type = "b"))

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-002-ref.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-002-ref.html new file mode 100644 index 00000000000..b2c05468c62 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-002-ref.html @@ -0,0 +1,63 @@ + + + + + ol element + + + + + + + +

                                                                                                                                                                                                                                                                                        This test continues to validate the ol element. This reftest is necessary because the values of the ol's li children as calculated and displayed by the user agent are NOT systematically available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        User agents should render the items of the list in a manner consistent with the state of the type attribute of the ol element.
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if each list's items are labelled identically to the horizontal sequence immediately above those list items:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        (Note: each list item has no content; only the sequencing should appear.)

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        1, 2, 3 (type attribute of "1" results in decimal type)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        1.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        3.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        aa, ab, ac (type attribute of "a" results in lower case latin alphabet, start = 27)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        aa.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        ab.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        ac.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        AA, AB, AC (type attribute of "A" results in upper case latin alphabet, start = 27)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        AA.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        AB.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        AC.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        i, v, c (type attribute of "i" results in lower case roman alphabet, list values = 1, 5, 100)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        i.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        v.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        c.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        I, V, C (type attribute of "I" results in upper case roman alphabet, list values = 1, 5, 100)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        I.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        V.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        C.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-002.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-002.html new file mode 100644 index 00000000000..7daea54c027 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-002.html @@ -0,0 +1,65 @@ + + + + + ol element + + + + + + + +

                                                                                                                                                                                                                                                                                        This test continues to validate the ol element. This reftest is necessary because the values of the ol's li children as calculated and displayed by the user agent are NOT systematically available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        User agents should render the items of the list in a manner consistent with the state of the type attribute of the ol element.
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if each list's items are labelled identically to the horizontal sequence immediately above those list items:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        (Note: each list item has no content; only the sequencing should appear.)

                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        1, 2, 3 (type attribute of "1" results in decimal type)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        aa, ab, ac (type attribute of "a" results in lower case latin alphabet, start = 27)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        AA, AB, AC (type attribute of "A" results in upper case latin alphabet, start = 27)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        i, v, c (type attribute of "i" results in lower case roman alphabet, list values = 1, 5, 100)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        I, V, C (type attribute of "I" results in upper case roman alphabet, list values = 1, 5, 100)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-003-ref.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-003-ref.html new file mode 100644 index 00000000000..f6afd302fe1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-003-ref.html @@ -0,0 +1,79 @@ + + + + + ol element + + + + + + + +

                                                                                                                                                                                                                                                                                        This test continues to validate the ol element. This reftest is necessary because the values of the ol's li children as calculated and displayed by the user agent are NOT systematically available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states: Numbers less than or equal to zero should always use the decimal system regardless of the type attribute.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if each list's items are labelled identically to the horizontal sequence immediately above those list items:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        (Note: each list item has no content; only the sequencing should appear.)

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        -3, -2, -1 (type is "a", start is -3)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -3.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        -2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        -1.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        0, a (type is "a", start is 0)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        0.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        a.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -3, -2, -1 (type is "A", start is -3)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -3.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        -2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        -1.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        0, A (type is "A", start is 0)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        0.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        A.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -3, -2, -1 (type is "i", start is -3)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -3.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        -2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        -1.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        0, i (type is "i", start is 0)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        0.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        i.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -3, -2, -1 (type is "I", start is -3)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -3.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        -2.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        -1.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        0, I (type is "I", start is 0)

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        0.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        I.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-003.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-003.html new file mode 100644 index 00000000000..5e4b5a58885 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-003.html @@ -0,0 +1,81 @@ + + + + + ol element + + + + + + + +

                                                                                                                                                                                                                                                                                        This test continues to validate the ol element. This reftest is necessary because the values of the ol's li children as calculated and displayed by the user agent are NOT systematically available programatically. Only explicitly-set values are available programatically. Therefore, we need to check actual rendering against expected rendering.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states: Numbers less than or equal to zero should always use the decimal system regardless of the type attribute.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if each list's items are labelled identically to the horizontal sequence immediately above those list items:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        (Note: each list item has no content; only the sequencing should appear.)

                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        -3, -2, -1 (type is "a", start is -3)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        0, a (type is "a", start is 0)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -3, -2, -1 (type is "A", start is -3)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        0, A (type is "A", start is 0)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -3, -2, -1 (type is "i", start is -3)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        0, i (type is "i", start is 0)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        -3, -2, -1 (type is "I", start is -3)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        0, I (type is "I", start is 0)

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. +
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol.html new file mode 100644 index 00000000000..6dfd26eecb0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol.html @@ -0,0 +1,314 @@ + + + + + the ol element + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the ol element.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. list item
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Ordered List

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. list item
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. list item
                                                                                                                                                                                                                                                                                        4. +


                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                      • list item
                                                                                                                                                                                                                                                                                      • + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-1.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-1.html new file mode 100644 index 00000000000..957cb7fd78d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-1.html @@ -0,0 +1,26 @@ + + + + ol.start - reflection test + + + + + + + + + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. One
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. Two
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. Three
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-2.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-2.html new file mode 100644 index 00000000000..97416e65e1f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-2.html @@ -0,0 +1,26 @@ + + + + ol.start - reflection test + + + + + + + + + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Three
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. Two
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. One
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1-ref.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1-ref.html new file mode 100644 index 00000000000..f8cac3c702b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1-ref.html @@ -0,0 +1,6 @@ + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Three
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. Two
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. One
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1a.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1a.html new file mode 100644 index 00000000000..35e967c05e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1a.html @@ -0,0 +1,6 @@ + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Three
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. Two
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. One
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1b.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1b.html new file mode 100644 index 00000000000..d9810560eb7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1b.html @@ -0,0 +1,11 @@ + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Three
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. Two
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. One
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1c.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1c.html new file mode 100644 index 00000000000..82ae844335e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1c.html @@ -0,0 +1,12 @@ + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Three
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. Two
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-2-ref.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-2-ref.html new file mode 100644 index 00000000000..4f3ece2be48 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-2-ref.html @@ -0,0 +1,6 @@ + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Five
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. Four
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. Three
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-2.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-2.html new file mode 100644 index 00000000000..0d4948153c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-2.html @@ -0,0 +1,7 @@ + + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Five
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. Four
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. Three
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-p-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-p-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-p-element/grouping-p.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-p-element/grouping-p.html new file mode 100644 index 00000000000..5f15aca31f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-p-element/grouping-p.html @@ -0,0 +1,28 @@ + + + + + the p element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the p element.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001-ref.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001-ref.html new file mode 100644 index 00000000000..a84f703ee81 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001-ref.html @@ -0,0 +1,23 @@ + + + + + pre element + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test continues to validate the pre element.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        "A newline in a pre element should separate paragraphs for the purposes of the Unicode bidirectional algorithm. This requirement may be implemented indirectly through the style layer. For example, an HTML+CSS user agent could implement these requirements by implementing the CSS 'unicode-bidi' property."
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if below you see "ABC ABC" repeated on two separate lines below (4 ABCs total):

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        ABC ABC
                                                                                                                                                                                                                                                                                        +ABC ABC
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001.html new file mode 100644 index 00000000000..29e582edd56 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001.html @@ -0,0 +1,23 @@ + + + + + pre element + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test continues to validate the pre element.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The spec states:

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        "A newline in a pre element should separate paragraphs for the purposes of the Unicode bidirectional algorithm. This requirement may be implemented indirectly through the style layer. For example, an HTML+CSS user agent could implement these requirements by implementing the CSS 'unicode-bidi' property."
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This reftest passes if below you see "ABC ABC" repeated on two separate lines below (4 ABCs total):

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        ‮ CBA CBA
                                                                                                                                                                                                                                                                                        +ABC ABC
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre.html new file mode 100644 index 00000000000..07fc631b91c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre.html @@ -0,0 +1,28 @@ + + + + + the pre element + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the pre element.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/pre-newline-bidi-ref.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/pre-newline-bidi-ref.html new file mode 100644 index 00000000000..0f302b5d4bf --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/pre-newline-bidi-ref.html @@ -0,0 +1,19 @@ + + + + HTML Test reference: newline in <pre> separates bidi paragraphs + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the rightmost character in the first line below is a full stop and to the left of it is a Hebrew letter.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +A Hebrew letter and a full stop: א.‎
                                                                                                                                                                                                                                                                                        +א this line begins with a Hebrew letter.
                                                                                                                                                                                                                                                                                        +      
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/pre-newline-bidi.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/pre-newline-bidi.html new file mode 100644 index 00000000000..23d442f52ca --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-pre-element/pre-newline-bidi.html @@ -0,0 +1,23 @@ + + + + + HTML Test: newline in pre separates bidi paragraphs + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the rightmost character in the first line below is a full stop and to the left of it is a Hebrew letter.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +A Hebrew letter and a full stop: א.
                                                                                                                                                                                                                                                                                        +א this line begins with a Hebrew letter.
                                                                                                                                                                                                                                                                                        +      
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ul-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ul-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ul-element/grouping-ul.html b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ul-element/grouping-ul.html new file mode 100644 index 00000000000..6e62343f6b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/grouping-content/the-ul-element/grouping-ul.html @@ -0,0 +1,28 @@ + + + + + the ul element + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the ul element.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/commands/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/commands/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/commands/contains.json b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/commands/contains.json new file mode 100644 index 00000000000..b2ca2e771bd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/commands/contains.json @@ -0,0 +1,38 @@ +[ + { + "id": "using-the-a-element-to-define-a-command", + "original_id": "using-the-a-element-to-define-a-command" + }, + { + "id": "using-the-button-element-to-define-a-command", + "original_id": "using-the-button-element-to-define-a-command" + }, + { + "id": "using-the-input-element-to-define-a-command", + "original_id": "using-the-input-element-to-define-a-command" + }, + { + "id": "using-the-option-element-to-define-a-command", + "original_id": "using-the-option-element-to-define-a-command" + }, + { + "id": "using-the-command-element-to-define-a-command", + "original_id": "using-the-command-element-to-define-a-command" + }, + { + "id": "using-the-command-attribute-on-command-elements-to-define-a-command-indirectly", + "original_id": "using-the-command-attribute-on-command-elements-to-define-a-command-indirectly" + }, + { + "id": "using-the-accesskey-attribute-on-a-label-element-to-define-a-command", + "original_id": "using-the-accesskey-attribute-on-a-label-element-to-define-a-command" + }, + { + "id": "using-the-accesskey-attribute-on-a-legend-element-to-define-a-command", + "original_id": "using-the-accesskey-attribute-on-a-legend-element-to-define-a-command" + }, + { + "id": "using-the-accesskey-attribute-to-define-a-command-on-other-elements", + "original_id": "using-the-accesskey-attribute-to-define-a-command-on-other-elements" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-command-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-command-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-details-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-details-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-details-element/details.html b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-details-element/details.html new file mode 100644 index 00000000000..5ed14c53afc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-details-element/details.html @@ -0,0 +1,47 @@ + + + + HTML details element API + + + + + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html new file mode 100644 index 00000000000..08d49c9bb9a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html @@ -0,0 +1,93 @@ + + +The details element + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Lorem ipsum +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Lorem ipsum +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Lorem ipsum +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/contains.json b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/contains.json new file mode 100644 index 00000000000..c865c858857 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/contains.json @@ -0,0 +1,6 @@ +[ + { + "id": "anchor-points", + "original_id": "anchor-points" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close.html b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close.html new file mode 100644 index 00000000000..a3d07f053dc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close.html @@ -0,0 +1,78 @@ + + +dialog element: close() + + + + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        foobar

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        foobar

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        foobar

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        foobar

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        foobar

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html new file mode 100644 index 00000000000..6ca9189c08a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-showModal.html @@ -0,0 +1,125 @@ + + +dialog element: showModal() + + + + +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        foobar

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        foobar

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        foobar

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        foobar

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        foobar

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-menu-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-menu-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-menu-element/contains.json b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-menu-element/contains.json new file mode 100644 index 00000000000..20f2439f66c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-menu-element/contains.json @@ -0,0 +1,18 @@ +[ + { + "id": "menus-intro", + "original_id": "menus-intro" + }, + { + "id": "building-menus-and-toolbars", + "original_id": "building-menus-and-toolbars" + }, + { + "id": "context-menus", + "original_id": "context-menus" + }, + { + "id": "toolbars", + "original_id": "toolbars" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-summary-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-summary-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/interfaces.html b/tests/wpt/web-platform-tests/html/semantics/interfaces.html new file mode 100644 index 00000000000..d3b2a23e27c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/interfaces.html @@ -0,0 +1,30 @@ + +Test of interfaces + + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/interfaces.js b/tests/wpt/web-platform-tests/html/semantics/interfaces.js new file mode 100644 index 00000000000..5f5d2d908fa --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/interfaces.js @@ -0,0 +1,138 @@ +var elements = [ + ["abbr", ""], + ["acronym", ""], + ["address", ""], + ["applet", "Applet"], + ["audio", "Audio"], + ["b", ""], + ["base", "Base"], + ["basefont", "Unknown"], + ["bdo", ""], + ["bgsound", "Unknown"], + ["big", ""], + ["blink", "Unknown"], + ["blockquote", "Quote"], + ["body", "Body"], + ["br", "BR"], + ["button", "Button"], + ["canvas", "Canvas"], + ["caption", "TableCaption"], + ["center", ""], + ["cite", ""], + ["code", ""], + ["col", "TableCol"], + ["colgroup", "TableCol"], + ["dd", ""], + ["del", "Mod"], + ["dfn", ""], + ["dir", "Directory"], + ["div", "Div"], + ["dl", "DList"], + ["dt", ""], + ["em", ""], + ["embed", "Embed"], + ["fieldset", "FieldSet"], + ["font", "Font"], + ["form", "Form"], + ["frame", "Frame"], + ["frameset", "FrameSet"], + ["h1", "Heading"], + ["h2", "Heading"], + ["h3", "Heading"], + ["h4", "Heading"], + ["h5", "Heading"], + ["h6", "Heading"], + ["head", "Head"], + ["hr", "HR"], + ["html", "Html"], + ["i", ""], + ["iframe", "IFrame"], + ["image", "Unknown"], + ["img", "Image"], + ["input", "Input"], + ["ins", "Mod"], + ["isindex", "Unknown"], + ["kbd", ""], + ["keygen", "Keygen"], + ["label", "Label"], + ["legend", "Legend"], + ["li", "LI"], + ["link", "Link"], + ["listing", ""], + ["map", "Map"], + ["marquee", "Marquee"], + ["menu", "Menu"], + ["meta", "Meta"], + ["multicol", "Unknown"], + ["nobr", ""], + ["noembed", ""], + ["noframes", ""], + ["noscript", ""], + ["object", "Object"], + ["ol", "OList"], + ["optgroup", "OptGroup"], + ["option", "Option"], + ["p", "Paragraph"], + ["param", "Param"], + ["plaintext", ""], + ["pre", "Pre"], + ["q", "Quote"], + ["s", ""], + ["samp", ""], + ["script", "Script"], + ["select", "Select"], + ["small", ""], + ["source", "Source"], + ["spacer", "Unknown"], + ["span", "Span"], + ["strike", ""], + ["strong", ""], + ["style", "Style"], + ["sub", ""], + ["sup", ""], + ["table", "Table"], + ["tbody", "TableSection"], + ["td", "TableDataCell"], + ["textarea", "TextArea"], + ["tfoot", "TableSection"], + ["th", "TableHeaderCell"], + ["thead", "TableSection"], + ["title", "Title"], + ["tr", "TableRow"], + ["tt", ""], + ["u", ""], + ["ul", "UList"], + ["var", ""], + ["video", "Video"], + ["wbr", ""], + ["xmp", ""], + ["section", ""], + ["nav", ""], + ["article", ""], + ["aside", ""], + ["hgroup", ""], + ["header", ""], + ["footer", ""], + ["time", "Time"], + ["mark", ""], + ["progress", "Progress"], + ["meter", "Meter"], + ["ruby", ""], + ["rt", ""], + ["rp", ""], + ["figure", ""], + ["datalist", "DataList"], + ["output", "Output"], + ["details", "Details"], + ["command", "Command"], + ["nextid", "Unknown"], + ["rb", "Unknown"], + ["bdi", ""], + ["data", "Data"], + ["a", "Anchor"], + ["area", "Area"], + ["dialog", "Dialog"], + ["figcaption", ""], + ["summary", ""], + ["track", "Track"] +]; diff --git a/tests/wpt/web-platform-tests/html/semantics/links/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/links/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/links/downloading-resources/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/links/downloading-resources/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/links/downloading-resources/contains.json b/tests/wpt/web-platform-tests/html/semantics/links/downloading-resources/contains.json new file mode 100644 index 00000000000..b67f855cfb8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/links/downloading-resources/contains.json @@ -0,0 +1,6 @@ +[ + { + "id": "hyperlink-auditing", + "original_id": "hyperlink-auditing" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/links/following-hyperlinks/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/links/following-hyperlinks/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/links/introduction-3/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/links/introduction-3/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/links/linktypes/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/links/linktypes/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/links/linktypes/contains.json b/tests/wpt/web-platform-tests/html/semantics/links/linktypes/contains.json new file mode 100644 index 00000000000..55aa4f6774a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/links/linktypes/contains.json @@ -0,0 +1,68 @@ +[ + { + "id": "rel-alternate", + "original_id": "rel-alternate" + }, + { + "id": "link-type-author", + "original_id": "link-type-author" + }, + { + "id": "link-type-bookmark", + "original_id": "link-type-bookmark" + }, + { + "id": "link-type-help", + "original_id": "link-type-help" + }, + { + "id": "rel-icon", + "original_id": "rel-icon" + }, + { + "id": "link-type-license", + "original_id": "link-type-license" + }, + { + "id": "link-type-nofollow", + "original_id": "link-type-nofollow" + }, + { + "id": "link-type-noreferrer", + "original_id": "link-type-noreferrer" + }, + { + "id": "link-type-prefetch", + "original_id": "link-type-prefetch" + }, + { + "id": "link-type-search", + "original_id": "link-type-search" + }, + { + "id": "link-type-stylesheet", + "original_id": "link-type-stylesheet" + }, + { + "id": "link-type-tag", + "original_id": "link-type-tag" + }, + { + "id": "sequential-link-types", + "original_id": "sequential-link-types", + "children": [ + { + "id": "link-type-next", + "original_id": "link-type-next" + }, + { + "id": "link-type-prev", + "original_id": "link-type-prev" + } + ] + }, + { + "id": "other-link-types", + "original_id": "other-link-types" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/links/linktypes/original-id.json b/tests/wpt/web-platform-tests/html/semantics/links/linktypes/original-id.json new file mode 100644 index 00000000000..1e5f7b5ed36 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/links/linktypes/original-id.json @@ -0,0 +1 @@ +{"original_id":"linkTypes"} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/scripting-1/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-noscript-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-noscript-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_001.htm b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_001.htm new file mode 100644 index 00000000000..370152683b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_001.htm @@ -0,0 +1,18 @@ + + + + Async property on a dynamically-created script is true by default + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_002.htm b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_002.htm new file mode 100644 index 00000000000..e1850ff6e16 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_002.htm @@ -0,0 +1,31 @@ + + + + Changes to the 'async' attribute are reflected in the async property + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_003.htm b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_003.htm new file mode 100644 index 00000000000..b9a854c6bbf --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_003.htm @@ -0,0 +1,39 @@ + + + + An async script does not block the parser while downloading + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_004.htm b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_004.htm new file mode 100644 index 00000000000..7908b757a3d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_004.htm @@ -0,0 +1,37 @@ + + + + An async script executes as soon as possible after a download is complete + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_005.htm b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_005.htm new file mode 100644 index 00000000000..4519d72346e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_005.htm @@ -0,0 +1,39 @@ + + + + A script element with both async and defer set should execute asynchronously + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_006.htm b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_006.htm new file mode 100644 index 00000000000..86eb99897ab --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_006.htm @@ -0,0 +1,45 @@ + + + + A dynamically created external script executes asynchronously + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_007.htm b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_007.htm new file mode 100644 index 00000000000..8df0fba37d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_007.htm @@ -0,0 +1,48 @@ + + + + Ordered async script execution when script.async == false + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_008.htm b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_008.htm new file mode 100644 index 00000000000..73529cc3182 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_008.htm @@ -0,0 +1,47 @@ + + + + Async script element execution delays the window's load event + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_009.htm b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_009.htm new file mode 100644 index 00000000000..501edda065a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_009.htm @@ -0,0 +1,25 @@ + + + + Document.write() silently fails from an Async script + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_010.htm b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_010.htm new file mode 100644 index 00000000000..959a8aa274d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_010.htm @@ -0,0 +1,54 @@ + + + + Removing an async script before execution + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_011.htm b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_011.htm new file mode 100644 index 00000000000..d80e463cee5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/async_011.htm @@ -0,0 +1,19 @@ + + + + An empty parser-inserted script element should return async=true + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/contains.json b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/contains.json new file mode 100644 index 00000000000..e31ce400312 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/contains.json @@ -0,0 +1,18 @@ +[ + { + "id": "scriptinglanguages", + "original_id": "scriptingLanguages" + }, + { + "id": "restrictions-for-contents-of-script-elements", + "original_id": "restrictions-for-contents-of-script-elements" + }, + { + "id": "inline-documentation-for-external-scripts", + "original_id": "inline-documentation-for-external-scripts" + }, + { + "id": "scripttagxslt", + "original_id": "scriptTagXSLT" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/log.py b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/log.py new file mode 100644 index 00000000000..6803bb3e405 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/log.py @@ -0,0 +1,13 @@ +import time + +def main(request, response): + response.headers.append("Content-Type", "text/javascript") + try: + script_id = int(request.GET.first("id")) + delay = int(request.GET.first("sec")) + except: + response.set_error(400, "Invalid parameter") + + time.sleep(int(delay)) + + return "log('%s')" % script_id diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html new file mode 100644 index 00000000000..4cd77250ed6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html @@ -0,0 +1,55 @@ + + +script beforescriptexecute/afterscriptexecute events + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-for-event.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-for-event.html new file mode 100644 index 00000000000..552ea7041a3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-for-event.html @@ -0,0 +1,93 @@ + +Scripts with for and event attributes + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-for-event.xhtml b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-for-event.xhtml new file mode 100644 index 00000000000..69c4ef1f810 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-for-event.xhtml @@ -0,0 +1,22 @@ + + + Scripts with for and event attributes + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-language-type.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-language-type.html new file mode 100644 index 00000000000..b94834c83dd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-language-type.html @@ -0,0 +1,18 @@ + +Script: combinations of @type and @language + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-languages-01.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-languages-01.html new file mode 100644 index 00000000000..f2f2724df5a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-languages-01.html @@ -0,0 +1,24 @@ + +Script @type: unknown parameters + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-languages-02.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-languages-02.html new file mode 100644 index 00000000000..69613e5104f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-languages-02.html @@ -0,0 +1,98 @@ + +Script @type: JavaScript types + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-noembed-noframes-iframe.xhtml b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-noembed-noframes-iframe.xhtml new file mode 100644 index 00000000000..8dd9ceb9a62 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-noembed-noframes-iframe.xhtml @@ -0,0 +1,36 @@ + + +Script inside noembed, noframes and iframe + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +<script> +run.push("noembed"); +</script> + + +<script> +run.push("noframes"); +</script> + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-onload-string.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-onload-string.html new file mode 100644 index 00000000000..85f2d4dcfaf --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-onload-string.html @@ -0,0 +1,17 @@ + +Script: setting onload to a string + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.html new file mode 100644 index 00000000000..e32f8402427 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.html @@ -0,0 +1,53 @@ + + +HTMLScriptElement.text + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.xhtml b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.xhtml new file mode 100644 index 00000000000..33a4635db37 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.xhtml @@ -0,0 +1,28 @@ + + + +HTMLScriptElement.text + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html new file mode 100644 index 00000000000..d3903738e27 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html @@ -0,0 +1,148 @@ + + + +HTML Templates: Parsing XHTML: Node's node document + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/template-child-nodes.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/template-child-nodes.html new file mode 100644 index 00000000000..a5a644af3ad --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/template-child-nodes.html @@ -0,0 +1,103 @@ + + + +HTML Templates: Child nodes of template element in XHTML documents + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-serializing-xhtml-documents/outerhtml.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-serializing-xhtml-documents/outerhtml.html new file mode 100644 index 00000000000..931c0fc9b40 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-serializing-xhtml-documents/outerhtml.html @@ -0,0 +1,72 @@ + + + +HTML Templates: serialize template contents instead of template element + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001-ref.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001-ref.html new file mode 100644 index 00000000000..55c8b2e30c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001-ref.html @@ -0,0 +1,6 @@ + +Template Reftest Reference + + +

                                                                                                                                                                                                                                                                                        Test passes if there's no anything below this line.

                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001.html new file mode 100644 index 00000000000..fc310f47c89 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001.html @@ -0,0 +1,12 @@ + + Template Test: check that template content is invisible by default + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if there's no anything below this line.

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002.html new file mode 100644 index 00000000000..92f3d81eaca --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002.html @@ -0,0 +1,12 @@ + + Template Test: check that template content is invisible by default + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if there's no anything below this line.

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003.html new file mode 100644 index 00000000000..4c477fde79b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003.html @@ -0,0 +1,19 @@ + + HTML Templates: template content is invisible by default + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if there's no anything below this line.

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/template-clone-children.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/template-clone-children.html new file mode 100644 index 00000000000..75725573412 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/template-clone-children.html @@ -0,0 +1,83 @@ + + + +HTML Templates: Clone template node: All the children of template content are copied if 'copy children flag' set to true + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner.html new file mode 100644 index 00000000000..9d60e29be6a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner.html @@ -0,0 +1,127 @@ + + + +HTML Templates: ownerDocument of cloned template content is set to template content owner + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html new file mode 100644 index 00000000000..5f401892139 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-document-type.html @@ -0,0 +1,72 @@ + + + +HTML Templates: The template contents owner document type is HTML document + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-001.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-001.html new file mode 100644 index 00000000000..2c8329f31bb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-001.html @@ -0,0 +1,45 @@ + + + +HTML Templates: The template contents owner document (no browsing context) + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-002.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-002.html new file mode 100644 index 00000000000..49cfc8d0673 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-002.html @@ -0,0 +1,69 @@ + + + +HTML Templates: The template contents owner document (there's browsing context) + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html new file mode 100644 index 00000000000..a69c9c52dc2 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents.html @@ -0,0 +1,173 @@ + + + +HTML Templates: The template contents is a DocumentFragment + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/innerhtml-on-templates/innerhtml.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/innerhtml-on-templates/innerhtml.html new file mode 100644 index 00000000000..7ae9c132591 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/innerhtml-on-templates/innerhtml.html @@ -0,0 +1,87 @@ + + + +HTML Templates: innerHTML of template element replaces all referenced by the content attribute + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-body.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-body.html new file mode 100644 index 00000000000..2cb149853ff --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-body.html @@ -0,0 +1,12 @@ + + + + The file contains several </template> tag in HTML body without start one + + + + +
                                                                                                                                                                                                                                                                                        The file contains several </template> tag in HTML body without start one
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-head.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-head.html new file mode 100644 index 00000000000..02d0c7be65a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/end-template-tag-in-head.html @@ -0,0 +1,12 @@ + + + + + The file contains several </template> tag in HTML head without start one + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/frameset-end-tag.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/frameset-end-tag.html new file mode 100644 index 00000000000..b84d55595f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/frameset-end-tag.html @@ -0,0 +1,10 @@ + + + + The file contains frameset with the template and frameset end tag in it + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-div-no-end-tag.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-div-no-end-tag.html new file mode 100644 index 00000000000..e4e45bcea5a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-div-no-end-tag.html @@ -0,0 +1,12 @@ + + + + The file contains template element with open div tag, but without end div tag, in the head + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-table-no-end-tag.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-table-no-end-tag.html new file mode 100644 index 00000000000..9db2b4af062 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/head-template-contents-table-no-end-tag.html @@ -0,0 +1,14 @@ + + + + The file contains template element with open table, tr, td tags, but without end td, tr, table tags, in the head + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/html-start-tag.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/html-start-tag.html new file mode 100644 index 00000000000..0de652cf364 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/html-start-tag.html @@ -0,0 +1,10 @@ + + + + The file contains html root element with attributes and some in the body + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-div.xhtml b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-div.xhtml new file mode 100644 index 00000000000..327119f142a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-div.xhtml @@ -0,0 +1,14 @@ + + + + Template tag with children div tags inside + + + +

                                                                                                                                                                                                                                                                                        Template tag with div tags inside

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-nested.xhtml b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-nested.xhtml new file mode 100644 index 00000000000..acf220faf5a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-child-nodes-nested.xhtml @@ -0,0 +1,16 @@ + + + + Template tag with children div tags inside another template tag + + + +

                                                                                                                                                                                                                                                                                        Template tag with children div tags inside another template tag

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-attribute.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-attribute.html new file mode 100644 index 00000000000..b9dd5f47a8b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-attribute.html @@ -0,0 +1,10 @@ + + + + Empty template tag with attribute content + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-body.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-body.html new file mode 100644 index 00000000000..a1f246fd639 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-body.html @@ -0,0 +1,10 @@ + + + + BODY tag inside template + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-div-no-end-tag.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-div-no-end-tag.html new file mode 100644 index 00000000000..304acf30256 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-div-no-end-tag.html @@ -0,0 +1,12 @@ + + + + Div tag inside template tag + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-empty.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-empty.html new file mode 100644 index 00000000000..f1a539cc08e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-empty.html @@ -0,0 +1,11 @@ + + + + Empty template tag + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-frameset.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-frameset.html new file mode 100644 index 00000000000..4331367df3f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-frameset.html @@ -0,0 +1,10 @@ + + + + FRAMESET tag inside template + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-head.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-head.html new file mode 100644 index 00000000000..1e3a337e8d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-head.html @@ -0,0 +1,10 @@ + + + + HEAD tag inside template + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-html.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-html.html new file mode 100644 index 00000000000..5dd3a28e6a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-html.html @@ -0,0 +1,10 @@ + + + + HTML tag inside template + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-nested.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-nested.html new file mode 100644 index 00000000000..dc2dc6f15f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-nested.html @@ -0,0 +1,10 @@ + + Contains second template tag inside template tag + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-table-no-end-tag.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-table-no-end-tag.html new file mode 100644 index 00000000000..4639b4dc8e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-table-no-end-tag.html @@ -0,0 +1,14 @@ + + + + The file contains template element with open table, tr, td tags, without end td, tr, table tags + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-text.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-text.html new file mode 100644 index 00000000000..a401848efcc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents-text.html @@ -0,0 +1,10 @@ + + + + Some text inside template tag + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents.html new file mode 100644 index 00000000000..07256c06a31 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-contents.html @@ -0,0 +1,12 @@ + + + + Div tag inside template tag + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-body.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-body.html new file mode 100644 index 00000000000..d64848c8db8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-body.html @@ -0,0 +1,12 @@ + + + + Div tag inside template tag + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-frameset.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-frameset.html new file mode 100644 index 00000000000..4801178454e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-frameset.html @@ -0,0 +1,12 @@ + + + + Template tag inside frameset + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-head.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-head.html new file mode 100644 index 00000000000..6bab00ea99e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/template-descendant-head.html @@ -0,0 +1,13 @@ + + + + Template tag inside head + + + + + Nothing interesting here + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/two-templates.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/two-templates.html new file mode 100644 index 00000000000..f6e9ab58e80 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/resources/two-templates.html @@ -0,0 +1,17 @@ + + + + The file contains two template elements + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/serializing-html-templates/outerhtml.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/serializing-html-templates/outerhtml.html new file mode 100644 index 00000000000..992152a7d0f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/serializing-html-templates/outerhtml.html @@ -0,0 +1,71 @@ + + + +HTML Templates: serialize template contents instead of template element + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/content-attribute.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/content-attribute.html new file mode 100644 index 00000000000..3541b385b96 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/content-attribute.html @@ -0,0 +1,115 @@ + + + +HTML Templates: Content attribute of template element is read-only + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/node-document-changes.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/node-document-changes.html new file mode 100644 index 00000000000..b44f4e611b1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/node-document-changes.html @@ -0,0 +1,200 @@ + + + +HTML Templates: When node's document changes its owner document should be changed + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html new file mode 100644 index 00000000000..42ba33e6a07 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-as-a-descendant.html @@ -0,0 +1,115 @@ + + + +HTML Templates: Template element as a descendant of the body element. + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content-node-document.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content-node-document.html new file mode 100644 index 00000000000..9aa69ce1b1f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content-node-document.html @@ -0,0 +1,60 @@ + + + +HTML Templates: Node document of the template content attribute must be template contents owner + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content.html new file mode 100644 index 00000000000..fca52730bb8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-content.html @@ -0,0 +1,78 @@ + + + +HTML Templates: HTML elements in template content + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-body.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-body.html new file mode 100644 index 00000000000..c45931cdae3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-body.html @@ -0,0 +1,27 @@ + + + +HTML Templates: Template element as a descendant of the body element. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html new file mode 100644 index 00000000000..f3dbd7ebf67 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-frameset.html @@ -0,0 +1,63 @@ + + + +HTML Templates: Template element as a descendant of the frameset element. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-head.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-head.html new file mode 100644 index 00000000000..6b025e9abd8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/template-descendant-head.html @@ -0,0 +1,27 @@ + + + +HTML Templates: Template element as a descendant of the head element. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/testcommon.js b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/testcommon.js new file mode 100644 index 00000000000..0f2bfb1e21a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-template-element/testcommon.js @@ -0,0 +1,191 @@ +/* +Distributed under both the W3C Test Suite License [1] and the W3C +3-clause BSD License [2]. To contribute to a W3C Test Suite, see the +policies and contribution forms [3]. + +[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license +[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license +[3] http://www.w3.org/2004/10/27-testcases + */ + +"use strict"; + +var HTML5_ELEMENTS = [ 'a', 'abbr', 'address', 'area', 'article', 'aside', + 'audio', 'b', 'base', 'bdi', 'bdo', 'blockquote', 'body', 'br', + 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', + 'command', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', + 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', + 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', + 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', + 'keygen', 'label', 'legend', 'li', 'link', 'map', 'mark', 'menu', + 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', + 'option', 'output', 'p', 'param', 'pre', 'progress', 'q', 'rp', 'rt', + 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', + 'span', 'strong', 'style', 'sub', 'table', 'tbody', 'td', 'textarea', + 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', + 'var', 'video', 'wbr' ]; + +// only void (without end tag) HTML5 elements +var HTML5_VOID_ELEMENTS = [ 'area', 'base', 'br', 'col', 'command', 'embed', + 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', + 'track', 'wbr' ]; + +// https://html.spec.whatwg.org/multipage/multipage/forms.html#form-associated-element +var HTML5_FORM_ASSOCIATED_ELEMENTS = [ 'button', 'fieldset', 'input', 'keygen', + 'label', 'object', 'output', 'select', 'textarea' ]; + +function newDocument() { + var d = document.implementation.createDocument(); + return d; +} + +function newHTMLDocument() { + var d = document.implementation.createHTMLDocument('Test Document'); + return d; +} + +function newXHTMLDocument() { + var doctype = document.implementation.createDocumentType('html', + '-//W3C//DTD XHTML 1.0 Transitional//EN', + 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'); + + var d = document.implementation.createDocument( + 'http://www.w3.org/1999/xhtml', 'html', doctype); + return d; +} + +function newIFrame(context, src) { + if (typeof (context) === 'undefined' + || typeof (context.iframes) !== 'object') { + assert_unreached('Illegal context object in newIFrame'); + } + + var iframe = document.createElement('iframe'); + iframe.style.display = 'none'; + + if (typeof (src) != 'undefined') { + iframe.src = src; + } + document.body.appendChild(iframe); + context.iframes.push(iframe); + + assert_true(typeof (iframe.contentWindow) != 'undefined' + && typeof (iframe.contentWindow.document) != 'undefined' + && iframe.contentWindow.document != document, + 'Failed to create new rendered document'); + return iframe; +} + +function newRenderedHTMLDocument(context) { + var frame = newIFrame(context); + var d = frame.contentWindow.document; + return d; +} + +function newContext() { + return { + iframes : [] + }; +} + +function cleanContext(context) { + context.iframes.forEach(function(e) { + e.parentNode.removeChild(e); + }); +} + +// run given test function in context +// the context is cleaned up after test completes. +function inContext(f) { + return function() { + var context = newContext(); + try { + f(context); + } finally { + cleanContext(context); + } + }; +} + +// new context and iframe are created and url (if supplied) is asigned to +// iframe.src +// function f is bound to the iframe onload event or executed directly after +// iframe creation +// the context is passed to function as argument +function testInIFrame(url, f, testName, testProps) { + if (url) { + var t = async_test(testName, testProps); + t.step(function() { + var context = newContext(); + var iframe = newIFrame(context, url); + iframe.onload = t.step_func(function() { + try { + f(context); + t.done(); + } finally { + cleanContext(context); + } + }); + }); + } else { + test(inContext(function(context) { + newRenderedHTMLDocument(context); + f(context); + }), testName, testProps); + } +} + +function assert_nodelist_contents_equal_noorder(actual, expected, message) { + assert_equals(actual.length, expected.length, message); + var used = []; + for ( var i = 0; i < expected.length; i++) { + used.push(false); + } + for (i = 0; i < expected.length; i++) { + var found = false; + for ( var j = 0; j < actual.length; j++) { + if (used[j] == false && expected[i] == actual[j]) { + used[j] = true; + found = true; + break; + } + } + if (!found) { + assert_unreached(message + ". Fail reason: element not found: " + + expected[i]); + } + } +} + +function isVisible(el) { + return el.offsetTop != 0; +} + +function isVoidElement(elementName) { + return HTML5_VOID_ELEMENTS.indexOf(elementName) >= 0; +} + +function checkTemplateContent(d, obj, html, id, nodeName) { + + obj.innerHTML = ''; + + var t = d.querySelector('#tmpl'); + + if (id != null) { + assert_equals(t.content.childNodes.length, 1, 'Element ' + nodeName + + ' should present among template nodes'); + assert_equals(t.content.firstChild.id, id, 'Wrong element ID'); + } + if (nodeName != null) { + assert_equals(t.content.firstChild.nodeName, nodeName.toUpperCase(), + 'Wrong node name'); + } +} + +function checkBodyTemplateContent(d, html, id, nodeName) { + checkTemplateContent(d, d.body, html, id, nodeName); +} + +function checkHeadTemplateContent(d, html, id, nodeName) { + checkTemplateContent(d, d.head, html, id, nodeName); +} diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/headings-and-sections/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/headings-and-sections/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/headings-and-sections/contains.json b/tests/wpt/web-platform-tests/html/semantics/sections/headings-and-sections/contains.json new file mode 100644 index 00000000000..a9fecf65b9d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/sections/headings-and-sections/contains.json @@ -0,0 +1,6 @@ +[ + { + "id": "outlines", + "original_id": "outlines" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/the-address-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/the-address-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/the-article-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/the-article-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/the-aside-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/the-aside-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/the-body-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/the-body-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/the-footer-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/the-footer-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/the-h1-h2-h3-h4-h5-and-h6-elements/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/the-h1-h2-h3-h4-h5-and-h6-elements/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/the-h1-h2-h3-h4-h5-and-h6-elements/original-id.json b/tests/wpt/web-platform-tests/html/semantics/sections/the-h1-h2-h3-h4-h5-and-h6-elements/original-id.json new file mode 100644 index 00000000000..748a548ca98 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/sections/the-h1-h2-h3-h4-h5-and-h6-elements/original-id.json @@ -0,0 +1 @@ +{"original_id":"the-h1,-h2,-h3,-h4,-h5,-and-h6-elements"} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/the-header-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/the-header-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/the-hgroup-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/the-hgroup-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/the-nav-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/the-nav-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/the-section-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/the-section-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/sections/usage-summary-0/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/sections/usage-summary-0/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/selectors/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/case-sensitivity/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/selectors/case-sensitivity/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/checked.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/checked.html new file mode 100644 index 00000000000..ada4ee4dd6b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/checked.html @@ -0,0 +1,43 @@ + + +Selector: pseudo-classes (:checked) + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/default.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/default.html new file mode 100644 index 00000000000..a6564f03de2 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/default.html @@ -0,0 +1,61 @@ + + +Selector: pseudo-classes (:default) + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/dir.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/dir.html new file mode 100644 index 00000000000..0ac1892a67c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/dir.html @@ -0,0 +1,36 @@ + + +Selector: pseudo-classes (:dir(ltr), :dir(rtl)) + + + + + + +
                                                                                                                                                                                                                                                                                        +WERBEH +HEBREW +HEBREW +WERBEH +HEBREW +WERBEH +WERBEH +HEBREW +‮WERBEH‬ +WERBEH +HEBREW +HEBREW +إيان +עברית + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/dir01.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/dir01.html new file mode 100644 index 00000000000..6f9dedb0ae5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/dir01.html @@ -0,0 +1,18 @@ + + +Selector: pseudo-classes (:dir(ltr), :dir(rtl)) in iso-8859-8 documents + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        This text is left to right
                                                                                                                                                                                                                                                                                        this is right to left
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        This text is left to rightthis is left to right
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html new file mode 100644 index 00000000000..5417371a17c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html @@ -0,0 +1,57 @@ + + +Selector: pseudo-classes (:disabled) + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/enabled.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/enabled.html new file mode 100644 index 00000000000..66d48d5517c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/enabled.html @@ -0,0 +1,42 @@ + + +Selector: pseudo-classes (:enabled) + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/focus-iframe.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/focus-iframe.html new file mode 100644 index 00000000000..a269f1c6717 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/focus-iframe.html @@ -0,0 +1,5 @@ + + +Selector: pseudo-classes (:focus) + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/focus.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/focus.html new file mode 100644 index 00000000000..69f8b2afcf7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/focus.html @@ -0,0 +1,42 @@ + + +Selector: pseudo-classes (:focus) + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + +
                                                                                                                                                                                                                                                                                        hello
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        content
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate.html new file mode 100644 index 00000000000..62a40641b46 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/indeterminate.html @@ -0,0 +1,37 @@ + + +Selector: pseudo-classes (:indeterminate) + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange.html new file mode 100644 index 00000000000..92b16837631 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange.html @@ -0,0 +1,27 @@ + + +Selector: pseudo-classes (:in-range, :out-of-range) + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/link.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/link.html new file mode 100644 index 00000000000..3e6e4a57898 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/link.html @@ -0,0 +1,24 @@ + + +Selector: pseudo-classes (:link) + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly.html new file mode 100644 index 00000000000..a23dc8e1b6e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly.html @@ -0,0 +1,71 @@ + + +Selector: pseudo-classes (:read-write, :read-only) + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        paragraph1.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        paragraph2.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/required-optional.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/required-optional.html new file mode 100644 index 00000000000..5c6df2ebcd0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/required-optional.html @@ -0,0 +1,35 @@ + + +Selector: pseudo-classes (:required, :optional) + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/utils.js b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/utils.js new file mode 100644 index 00000000000..8f5497ec57e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/utils.js @@ -0,0 +1,14 @@ +function getElementsByIds(ids) { + var result = []; + ids.forEach(function(id) { + result.push(document.getElementById(id)); + }); + return result; +} + +function testSelector(selector, expected, testName) { + test(function(){ + var elements = document.querySelectorAll(selector); + assert_array_equals(elements, getElementsByIds(expected)); + }, testName); +} diff --git a/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid.html b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid.html new file mode 100644 index 00000000000..746f7e96c33 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid.html @@ -0,0 +1,68 @@ + + +Selector: pseudo-classes (:valid, :invalid) + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/attributes-common-to-td-and-th-elements/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/attributes-common-to-td-and-th-elements/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/attributes-common-to-td-and-th-elements/cellIndex.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/attributes-common-to-td-and-th-elements/cellIndex.html new file mode 100644 index 00000000000..b9e523334f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/attributes-common-to-td-and-th-elements/cellIndex.html @@ -0,0 +1,41 @@ + + +HTMLTableCellElement.cellIndex + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/examples/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/examples/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/processing-model-1/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/processing-model-1/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/processing-model-1/contains.json b/tests/wpt/web-platform-tests/html/semantics/tabular-data/processing-model-1/contains.json new file mode 100644 index 00000000000..be5a8fdfdd4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/processing-model-1/contains.json @@ -0,0 +1,10 @@ +[ + { + "id": "forming-a-table", + "original_id": "forming-a-table" + }, + { + "id": "header-and-data-cell-semantics", + "original_id": "header-and-data-cell-semantics" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-caption-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-caption-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-caption-element/caption_001.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-caption-element/caption_001.html new file mode 100644 index 00000000000..5393d1ed5c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-caption-element/caption_001.html @@ -0,0 +1,69 @@ + + + + HTML5 Table API Tests + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-col-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-col-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-colgroup-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-colgroup-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html new file mode 100644 index 00000000000..5e609097e7c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/caption-methods.html @@ -0,0 +1,56 @@ + + + + Creating and deleting captions + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/contains.json b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/contains.json new file mode 100644 index 00000000000..ee89be21dc6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/contains.json @@ -0,0 +1,10 @@ +[ + { + "id": "table-descriptions-techniques", + "original_id": "table-descriptions-techniques" + }, + { + "id": "table-layout-techniques", + "original_id": "table-layout-techniques" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/createTBody.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/createTBody.html new file mode 100644 index 00000000000..7927e43cae6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/createTBody.html @@ -0,0 +1,165 @@ + + +HTMLTableElement.createTBody + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-01.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-01.html new file mode 100644 index 00000000000..4e379a1ccc3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-01.html @@ -0,0 +1,24 @@ + +insertRow(): INDEX_SIZE_ERR + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-02.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-02.html new file mode 100644 index 00000000000..410425fb1e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/insertRow-method-02.html @@ -0,0 +1,34 @@ + +insertRow(): Empty table + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tBodies.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tBodies.html new file mode 100644 index 00000000000..128dbc9f7d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/tBodies.html @@ -0,0 +1,40 @@ + +HTMLTableElement.tBodies + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/table-insertRow.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/table-insertRow.html new file mode 100644 index 00000000000..8a9574ecdd4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/table-insertRow.html @@ -0,0 +1,56 @@ + + +HTMLTableElement.insertRow + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/table-rows.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/table-rows.html new file mode 100644 index 00000000000..c813e0866e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-table-element/table-rows.html @@ -0,0 +1,186 @@ + +HTMLTableElement.rows + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tbody-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tbody-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-td-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-td-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tfoot-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tfoot-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-th-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-th-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-thead-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-thead-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/rowIndex.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/rowIndex.html new file mode 100644 index 00000000000..117712563d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/rowIndex.html @@ -0,0 +1,77 @@ + +HTMLTableRowElement.rowIndex + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/sectionRowIndex.html b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/sectionRowIndex.html new file mode 100644 index 00000000000..ef5366739e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/tabular-data/the-tr-element/sectionRowIndex.html @@ -0,0 +1,130 @@ + + +HTMLTableRowElement.sectionRowIndex + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-a-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-a-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-stringifier.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-stringifier.html new file mode 100644 index 00000000000..fb0780dee81 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a-stringifier.html @@ -0,0 +1,16 @@ + +HTMLAnchorElement stringifier + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-getter-01.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-getter-01.html new file mode 100644 index 00000000000..e0bb73be0ff --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-getter-01.html @@ -0,0 +1,34 @@ + +HTMLAnchorElement.text getting + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +a b c +a b c +a b c +a c + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-setter-01.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-setter-01.html new file mode 100644 index 00000000000..879a9e3d08b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-setter-01.html @@ -0,0 +1,41 @@ + +HTMLAnchorElement.text setting + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +a b c +a c +a b c + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-abbr-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-abbr-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-b-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-b-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-auto-dir-default-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-auto-dir-default-ref.html new file mode 100644 index 00000000000..eff61bb4196 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-auto-dir-default-ref.html @@ -0,0 +1,36 @@ + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[:)], [+- a ב], [d ג 1]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[d ג 1] ,[+- a ב] ,[:)]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[:)], [+- a ב], [d ג 1]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[d ג 1] ,[+- a ב] ,[:)]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-auto-dir-default.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-auto-dir-default.html new file mode 100644 index 00000000000..e658500a4eb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-auto-dir-default.html @@ -0,0 +1,46 @@ + + + + + HTML Test: BDI: has dir=auto by default + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + In each DIV of the test: + - the first BDI, having no characters with strong direction, should be LTR by default; + - the second BDI, having an LTR character first, should be LTR by default; + - the third BDI, having an RTL character first, should be RTL by default. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [:)], [+- a ב], [1 ג d]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [:)], [+- a ב], [1 ג d]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[:)], [+- a ב], [d ג 1]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[d ג 1] ,[+- a ב] ,[:)]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-missing-pdf-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-missing-pdf-ref.html new file mode 100644 index 00000000000..b4d44c51011 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-missing-pdf-ref.html @@ -0,0 +1,44 @@ + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭cbאde...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭cbאde...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭cbאde...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...הדaבג‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...הדaבג‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...הדaבג‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭cbאde...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭cbאde...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭cbאde...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...הדaבג‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...הדaבג‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...הדaבג‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-missing-pdf.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-missing-pdf.html new file mode 100644 index 00000000000..1ce9da6b769 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-missing-pdf.html @@ -0,0 +1,56 @@ + + + + + HTML Test: BDI: neutral when contains LRO or RLO without PDF + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‮ - the RLO (right-to-left-override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO and RLO. + If the BDI in the test's first DIV were a SPAN, the RLO it contains, not being closed by a + PDF, would visually reorder the de into ed. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א‮bcde...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א‮bcde...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א‮bcde...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a‭בגדה...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a‭בגדה...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a‭בגדה...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭cbאde...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭cbאde...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭cbאde...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...הדaבג‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...הדaבג‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...הדaבג‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-nested-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-nested-ref.html new file mode 100644 index 00000000000..d5d7674a45e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-nested-ref.html @@ -0,0 +1,44 @@ + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭1 + [a + [3 + [b + 4] + ב] + 2] + א‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭1 + [a + [3 + [b + 4] + ב] + 2] + א‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭1 + [a + [3 + [b + 4] + ב] + 2] + א‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭a + [1 + [b + [3 + ב] + 2] + א] + 0‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭a + [1 + [b + [3 + ב] + 2] + א] + 0‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭a + [1 + [b + [3 + ב] + 2] + א] + 0‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭1 + [a + [3 + [b + 4] + ב] + 2] + א‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭1 + [a + [3 + [b + 4] + ב] + 2] + א‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭1 + [a + [3 + [b + 4] + ב] + 2] + א‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭a + [1 + [b + [3 + ב] + 2] + א] + 0‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭a + [1 + [b + [3 + ב] + 2] + א] + 0‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭a + [1 + [b + [3 + ב] + 2] + א] + 0‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-nested.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-nested.html new file mode 100644 index 00000000000..158576885c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-nested.html @@ -0,0 +1,52 @@ + + + + + HTML Test: BDI: neutral when nested + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א + [a + [ב + [b + 4] + 3] + 2] + 1
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א + [a + [ב + [b + 4] + 3] + 2] + 1
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א + [a + [ב + [b + 4] + 3] + 2] + 1
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a + [א + [b + [ב + 3] + 2] + 1] + 0
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a + [א + [b + [ב + 3] + 2] + 1] + 0
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a + [א + [b + [ב + 3] + 2] + 1] + 0
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭1 + [a + [3 + [b + 4] + ב] + 2] + א‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭1 + [a + [3 + [b + 4] + ב] + 2] + א‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭1 + [a + [3 + [b + 4] + ב] + 2] + א‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭a + [1 + [b + [3 + ב] + 2] + א] + 0‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭a + [1 + [b + [3 + ב] + 2] + א] + 0‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭a + [1 + [b + [3 + ב] + 2] + א] + 0‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-number-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-number-ref.html new file mode 100644 index 00000000000..df7af7778af --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-number-ref.html @@ -0,0 +1,44 @@ + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א - [1]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א - [1]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א - [1]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[1] - a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[1] - a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[1] - a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א - [1]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א - [1]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א - [1]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[1] - a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[1] - a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[1] - a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-number.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-number.html new file mode 100644 index 00000000000..37e467c173c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-number.html @@ -0,0 +1,53 @@ + + + + + HTML Test: BDI: neutral when number + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + If the BDI in the test's first DIV were a SPAN, the 1 inside it would be visually ordered + to the left of the א. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א - [1]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א - [1]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א - [1]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a - [1]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a - [1]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a - [1]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א - [1]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א - [1]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א - [1]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[1] - a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[1] - a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[1] - a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-separate-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-separate-ref.html new file mode 100644 index 00000000000..ec8e34627d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-separate-ref.html @@ -0,0 +1,36 @@ + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א [1 b] c [d ה] ו...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...f [e ד] ג [ב 1] a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א [1 b] c [d ה] ו...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...f [e ד] ג [ב 1] a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-separate.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-separate.html new file mode 100644 index 00000000000..7bb8a20811a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-separate.html @@ -0,0 +1,47 @@ + + + + + HTML Test: BDI: paragraph-level container + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + If the BDIs in the test's first DIV were just SPANs, the א would appear between the 1 + and the b, and the ו between the d and the ה. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א [1 b] c [d ה] ו...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a [1 ב] ג [ד e] f...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א [1 b] c [d ה] ו...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...f [e ד] ג [ב 1] a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-another-bdi-1-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-another-bdi-1-ref.html new file mode 100644 index 00000000000..c0f323ea2c8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-another-bdi-1-ref.html @@ -0,0 +1,47 @@ + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-another-bdi-1.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-another-bdi-1.html new file mode 100644 index 00000000000..822120721fe --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-another-bdi-1.html @@ -0,0 +1,58 @@ + + + + + HTML Test: BDI: neutral to another BDI + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + If the BDIs in the test's first DIV were SPANs, the ב would be rendered to the left + of the א. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [א] > [ב]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [א] > [ב]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [א] > [ב]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [a] > [b]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [a] > [b]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [a] > [b]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-another-bdi-2-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-another-bdi-2-ref.html new file mode 100644 index 00000000000..9aef97c0ea1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-another-bdi-2-ref.html @@ -0,0 +1,47 @@ + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-another-bdi-2.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-another-bdi-2.html new file mode 100644 index 00000000000..85aec466862 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-another-bdi-2.html @@ -0,0 +1,59 @@ + + + + + HTML Test: BDI: neutral to another immediately following BDI + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + If the BDIs in the test's first DIV were SPANs, the ב would be rendered to the left of + the א. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        אב...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        אב...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        אב...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ab...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ab...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ab...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-following-1-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-following-1-ref.html new file mode 100644 index 00000000000..a34d09bd24a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-following-1-ref.html @@ -0,0 +1,45 @@ + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > ב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > ב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > ב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...b < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...b < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...b < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > ב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > ב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > ב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...b < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...b < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...b < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-following-1.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-following-1.html new file mode 100644 index 00000000000..76da57c2b93 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-following-1.html @@ -0,0 +1,54 @@ + + + + + HTML Test: BDI: neutral to following letter + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + If the BDI in the test's first DIV were a SPAN, the ב would be rendered to the left + of the א +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [א] > ב...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [א] > ב...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [א] > ב...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [a] > b...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [a] > b...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [a] > b...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > ב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > ב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] > ב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...b < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...b < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...b < [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-following-2-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-following-2-ref.html new file mode 100644 index 00000000000..80f36183b03 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-following-2-ref.html @@ -0,0 +1,45 @@ + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-following-2.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-following-2.html new file mode 100644 index 00000000000..ce41983f00c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-following-2.html @@ -0,0 +1,54 @@ + + + + + HTML Test: BDI: neutral to immediately following letter + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + If the BDI in the following DIV were a SPAN, the ב would be rendered to the left + of the א +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        אב...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        אב...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        אב...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ab...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ab...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ab...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-1-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-1-ref.html new file mode 100644 index 00000000000..5e39eabd289 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-1-ref.html @@ -0,0 +1,45 @@ + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-1.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-1.html new file mode 100644 index 00000000000..46772de642b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-1.html @@ -0,0 +1,54 @@ + + + + + HTML Test: BDI: neutral to preceding letter + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + If the BDI in the test's first DIV were a SPAN, the ב would be rendered to the left + of the א +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א > [ב]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א > [ב]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א > [ב]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a > [b]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a > [b]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a > [b]...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א > [ב]...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...[b] < a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-2-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-2-ref.html new file mode 100644 index 00000000000..80f36183b03 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-2-ref.html @@ -0,0 +1,45 @@ + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-2.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-2.html new file mode 100644 index 00000000000..192115775c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-letter-preceding-2.html @@ -0,0 +1,54 @@ + + + + + HTML Test: BDI: neutral to immediately preceding letter + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + If the BDI in the test's first DIV were a SPAN, the ב would be rendered to the left + of the א +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        אב...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        אב...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        אב...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ab...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ab...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ab...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭אב...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...ba‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-number-following-1-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-number-following-1-ref.html new file mode 100644 index 00000000000..ad15d468b88 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-number-following-1-ref.html @@ -0,0 +1,45 @@ + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] (3 reviews)...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] (3 reviews)...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] (3 reviews)...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...(3) [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...(3) [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...(3) [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] (3 reviews)...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] (3 reviews)...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] (3 reviews)...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...(3) [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...(3) [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...(3) [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-number-following-1.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-number-following-1.html new file mode 100644 index 00000000000..ff566737f2f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-number-following-1.html @@ -0,0 +1,54 @@ + + + + + HTML Test: BDI: neutral to following number + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + If the BDI in the test's first DIV were a SPAN, the 3 would be rendered to the left + of the א +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [א] (3 reviews)...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [א] (3 reviews)...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [א] (3 reviews)...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [a] (3)...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [a] (3)...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        [a] (3)...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] (3 reviews)...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] (3 reviews)...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭[א] (3 reviews)...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...(3) [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...(3) [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...(3) [a]‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-number-following-2-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-number-following-2-ref.html new file mode 100644 index 00000000000..d0f1097adeb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-number-following-2-ref.html @@ -0,0 +1,45 @@ + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א1...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א1...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א1...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...1a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...1a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...1a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א1...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א1...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א1...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...1a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...1a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...1a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-number-following-2.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-number-following-2.html new file mode 100644 index 00000000000..62a3b50ffeb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-number-following-2.html @@ -0,0 +1,53 @@ + + + + + HTML Test: BDI: neutral to immediately following number + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + If the BDI in the test's first DIV were a SPAN, the 1 would be rendered to the left + of the א +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א1...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א1...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א1...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a1...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a1...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a1...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א1...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א1...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א1...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...1a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...1a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...1a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-surrounding-run-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-surrounding-run-ref.html new file mode 100644 index 00000000000..d7967c77fc5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-surrounding-run-ref.html @@ -0,0 +1,44 @@ + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭ג < [b] < א...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭ג < [b] < א...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭ג < [b] < א...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...a > [ב] > c‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...a > [ב] > c‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...a > [ב] > c‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭ג < [b] < א...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭ג < [b] < א...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭ג < [b] < א...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...a > [ב] > c‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...a > [ב] > c‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...a > [ב] > c‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-surrounding-run.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-surrounding-run.html new file mode 100644 index 00000000000..bff339ec345 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-to-surrounding-run.html @@ -0,0 +1,56 @@ + + + + + HTML Test: BDI: neutral to surrounding letters + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + If the BDI in the test's first DIV were a SPAN, its b would prevent the א and the ב + from forming a single RTL run and thus keep the >s between from being mirrored into <s. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א > [b] > ג...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א > [b] > ג...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א > [b] > ג...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a > [ב] > c...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a > [ב] > c...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a > [ב] > c...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭ג < [b] < א...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭ג < [b] < א...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭ג < [b] < א...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...a > [ב] > c‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...a > [ב] > c‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...a > [ב] > c‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-wrapped-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-wrapped-ref.html new file mode 100644 index 00000000000..9859de47474 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-wrapped-ref.html @@ -0,0 +1,52 @@ + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + ‭b < א‬
                                                                                                                                                                                                                                                                                        + ‭>>>‬
                                                                                                                                                                                                                                                                                        + ‭ד < c...‬ +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + ‭a > ב‬
                                                                                                                                                                                                                                                                                        + ‭<<<‬
                                                                                                                                                                                                                                                                                        + ‭...ג > d‬ +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + ‭b < א‬
                                                                                                                                                                                                                                                                                        + ‭>>>‬
                                                                                                                                                                                                                                                                                        + ‭ד < c...‬ +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + ‭a > ב‬
                                                                                                                                                                                                                                                                                        + ‭<<<‬
                                                                                                                                                                                                                                                                                        + ‭...ג > d‬ +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-wrapped.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-wrapped.html new file mode 100644 index 00000000000..3e21fcb0fd4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-neutral-wrapped.html @@ -0,0 +1,73 @@ + + + + + HTML Test: BDI: neutral when wrapped + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: +   - Non-breaking space. + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + In the test below, the non-breaking spaces in the BDI's middle "word" make it so long that it + must be displayed on a line of its own, with the BDI wrapped before and after it. At the same + time, the content surrounding the BDI is supposed to form a single directional run, despite + the containing element and the BDI both having the opposite direction, because the BDI must be + treated as a neutral. Thus, on the line containing the first part of the BDI, the BDI's + content must appear after the content preceding it, and on the line containing the last part + of the BDI, the BDI content must appear before the content following it, where both 'before' + and 'after' are defined relative to the surrounding directional run. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + א > + b +>>>                                                  + c + > ד... +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + a > + ב +>>>                                                  + ג + > d... +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + ‭b < א‬
                                                                                                                                                                                                                                                                                        + ‭>>>‬
                                                                                                                                                                                                                                                                                        + ‭ד < c...‬ +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + ‭a > ב‬
                                                                                                                                                                                                                                                                                        + ‭<<<‬
                                                                                                                                                                                                                                                                                        + ‭...ג > d‬ +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-paragraph-level-container-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-paragraph-level-container-ref.html new file mode 100644 index 00000000000..0c74ecf68ac --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-paragraph-level-container-ref.html @@ -0,0 +1,36 @@ + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א [1 2 3 b] c [d ה?!] ו...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...f [!?e ד] ג [ב 3 2 1] a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א [1 2 3 b] c [d ה?!] ו...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...f [!?e ד] ג [ב 3 2 1] a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-paragraph-level-container.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-paragraph-level-container.html new file mode 100644 index 00000000000..f133a95772d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdi-element/bdi-paragraph-level-container.html @@ -0,0 +1,46 @@ + + + + + HTML Test: BDI: paragraph-level container + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ו - The first six Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. + If the BDIs in the test's first DIV were just SPANs, the א would order the 1 2 3 as + 3 2 1, and the ו would (with the ה) order the ?! as !?. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        א [1 2 3 b] c [d ה?!] ו...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a [1 2 3 ב] ג [ד e?!] f...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭א [1 2 3 b] c [d ה?!] ו...‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ‭...f [!?e ד] ג [ב 3 2 1] a‬
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bdo-child.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bdo-child.html new file mode 100644 index 00000000000..feadc26d7bd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bdo-child.html @@ -0,0 +1,17 @@ + + + + + HTML Test: bdo - text directionality formatting control for its children + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if there is text 'WERBEH'.

                                                                                                                                                                                                                                                                                        + + HEBREW + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bdo-ltr.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bdo-ltr.html new file mode 100644 index 00000000000..8a7861086af --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bdo-ltr.html @@ -0,0 +1,15 @@ + + + + + HTML Test: The value 'ltr' of dir attribute specifies a left-to-right override + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if there is text 'WERBEH'.

                                                                                                                                                                                                                                                                                        + WERBEH + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bdo-override.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bdo-override.html new file mode 100644 index 00000000000..75a45e198ff --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bdo-override.html @@ -0,0 +1,18 @@ + + + + + HTML Test: bdo - override the Unicode bidirectional algorithm + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if there is text 'WERBEH'.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + ‮WERBEH‬ +

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bidi-001-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bidi-001-ref.html new file mode 100644 index 00000000000..83d2dc4a16d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bidi-001-ref.html @@ -0,0 +1,11 @@ + + + + +directional type reference + + +

                                                                                                                                                                                                                                                                                        Test passes if there is text 'WERBEH'.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        WERBEH
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bidi-001.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bidi-001.html new file mode 100644 index 00000000000..772dcf43b37 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-bdo-element/bidi-001.html @@ -0,0 +1,14 @@ + + + + +directional type + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if there is text 'WERBEH'.

                                                                                                                                                                                                                                                                                        +HEBREW + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/br-bidi-in-inline-ancestors-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/br-bidi-in-inline-ancestors-ref.html new file mode 100644 index 00000000000..c2dd4daa7a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/br-bidi-in-inline-ancestors-ref.html @@ -0,0 +1,38 @@ + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ט - The first nine Hebrew letters (strongly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + ‭אב גד 1. I like ה. fg hi‬ +
                                                                                                                                                                                                                                                                                        + ‭ab cd 2. ה is great! וז חט‬ +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + ‭אב גד 1. I like ה. fg hi‬ +
                                                                                                                                                                                                                                                                                        + ‭ab cd 2. ה is great! וז חט‬ +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/br-bidi-in-inline-ancestors.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/br-bidi-in-inline-ancestors.html new file mode 100644 index 00000000000..89e7f2f1aab --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/br-bidi-in-inline-ancestors.html @@ -0,0 +1,59 @@ + + + + + HTML Test: BR in inline ancestors + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the two boxes below look exactly the same.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Key to entities used below: + א ... ט - The first nine Hebrew letters (strongly RTL). + ‎ - The LRM (left-to-right mark) formatting character (invisible, stronly LTR). + ‏ - The RLM (right-to-left mark) formatting character (invisible, stronly RTL). + ‭ - The LRO (left-to-right override) formatting character. + ‬ - The PDF (pop directional formatting) formatting character; closes LRO. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + בא‎ + ih + גד + fg‏ + 1. I like ה.
                                                                                                                                                                                                                                                                                        + 2. ה is great!
                                                                                                                                                                                                                                                                                        + ‏cd
                                                                                                                                                                                                                                                                                        + וז
                                                                                                                                                                                                                                                                                        + ba
                                                                                                                                                                                                                                                                                        + ‎טח +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + ‭אב גד 1. I like ה. fg hi‬ +
                                                                                                                                                                                                                                                                                        + ‭ab cd 2. ה is great! וז חט‬ +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/br-bidi-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/br-bidi-ref.html new file mode 100644 index 00000000000..f07c077917f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/br-bidi-ref.html @@ -0,0 +1,19 @@ + + + + HTML Test reference: BR separates bidi paragraph + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the rightmost character in the first line below is a full stop and to the left of it is a Hebrew letter.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + A Hebrew letter and a full stop: א.‎ +
                                                                                                                                                                                                                                                                                        + א this line begins with a Hebrew letter. +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/br-bidi.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/br-bidi.html new file mode 100644 index 00000000000..1dfa6836f39 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-br-element/br-bidi.html @@ -0,0 +1,22 @@ + + + + + HTML Test: BR separates bidi paragraph + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if the rightmost character in the first line below is a full stop and to the left of it is a Hebrew letter.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + A Hebrew letter and a full stop: א. +
                                                                                                                                                                                                                                                                                        + א this line begins with a Hebrew letter. +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-cite-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-cite-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-code-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-code-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-dfn-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-dfn-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-em-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-em-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-i-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-i-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-kbd-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-kbd-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-mark-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-mark-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-q-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-q-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-rp-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-rp-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-rt-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-rt-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-ruby-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-ruby-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-s-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-s-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-samp-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-samp-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-small-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-small-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-span-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-span-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-strong-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-strong-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-sub-and-sup-elements/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-sub-and-sup-elements/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-time-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-time-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-time-element/001.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-time-element/001.html new file mode 100644 index 00000000000..49b8dbc9db9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-time-element/001.html @@ -0,0 +1,68 @@ + + + + + HTML time element API + + + + + + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-u-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-u-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-var-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-var-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element-ref.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element-ref.html new file mode 100644 index 00000000000..f1a14f421ed --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element-ref.html @@ -0,0 +1,10 @@ + + +The wbr element + + + + +

                                                                                                                                                                                                                                                                                        Loremipsumdolorsit
                                                                                                                                                                                                                                                                                        amet,consectetur
                                                                                                                                                                                                                                                                                        adipisicingelit,sed
                                                                                                                                                                                                                                                                                        doeiusmodtempor
                                                                                                                                                                                                                                                                                        incididuntutlaboreet
                                                                                                                                                                                                                                                                                        doloremagnaaliqua.Ut
                                                                                                                                                                                                                                                                                        enimadminimveniam,
                                                                                                                                                                                                                                                                                        quisnostrud
                                                                                                                                                                                                                                                                                        exercitationullamco
                                                                                                                                                                                                                                                                                        laborisnisiutaliquip
                                                                                                                                                                                                                                                                                        exeacommodo
                                                                                                                                                                                                                                                                                        consequat.Duisaute
                                                                                                                                                                                                                                                                                        iruredolorin
                                                                                                                                                                                                                                                                                        reprehenderitin
                                                                                                                                                                                                                                                                                        voluptatevelitesse
                                                                                                                                                                                                                                                                                        cillumdoloreeufugiat
                                                                                                                                                                                                                                                                                        nullapariatur.
                                                                                                                                                                                                                                                                                        Excepteursint
                                                                                                                                                                                                                                                                                        occaecatcupidatatnon
                                                                                                                                                                                                                                                                                        proident,suntinculpa
                                                                                                                                                                                                                                                                                        quiofficiadeserunt
                                                                                                                                                                                                                                                                                        mollitanimidest
                                                                                                                                                                                                                                                                                        laborum.

                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element.html b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element.html new file mode 100644 index 00000000000..ccd0f3cbc00 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/the-wbr-element/wbr-element.html @@ -0,0 +1,11 @@ + + +The wbr element + + + + + +

                                                                                                                                                                                                                                                                                        AHEM_ipsumdolorsitamet,consecteturadipisicingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat.Duisauteiruredolorinreprehenderitinvoluptatevelitessecillumdoloreeufugiatnullapariatur.Excepteursintoccaecatcupidatatnonproident,suntinculpaquiofficiadeseruntmollitanimidestlaborum.

                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/usage-summary/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/text-level-semantics/usage-summary/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/the-root-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/the-root-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/semantics/the-root-element/the-html-element/.gitkeep b/tests/wpt/web-platform-tests/html/semantics/the-root-element/the-html-element/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/syntax/.gitkeep b/tests/wpt/web-platform-tests/html/syntax/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/.gitkeep b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/support/encodingtests-1.css b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/support/encodingtests-1.css new file mode 100644 index 00000000000..a64973ca7ab --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/support/encodingtests-1.css @@ -0,0 +1,4 @@ +@charset "utf-8"; +.test div.ýäè { + width: 100px; + } diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/support/encodingtests-15-inverse.css b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/support/encodingtests-15-inverse.css new file mode 100644 index 00000000000..112a453b7fc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/support/encodingtests-15-inverse.css @@ -0,0 +1,4 @@ +@charset "utf-8"; +.test div#box.ÜÀÚ { + width: 100px; + } diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/support/encodingtests-15.css b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/support/encodingtests-15.css new file mode 100644 index 00000000000..b9af2c72930 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/support/encodingtests-15.css @@ -0,0 +1,4 @@ +@charset "utf-8"; +.test div.ÜÀÚ { + width: 100px; + } diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/support/encodingtests-utf8.css b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/support/encodingtests-utf8.css new file mode 100644 index 00000000000..dc0006ef628 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/support/encodingtests-utf8.css @@ -0,0 +1,4 @@ +@charset "utf-8"; +.test div.ýäè { + width: 100px; + } diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html new file mode 100644 index 00000000000..a85682adf93 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html @@ -0,0 +1,37 @@ + + + + HTTP charset + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html.headers b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html.headers new file mode 100644 index 00000000000..3d9718c07bc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html.headers @@ -0,0 +1 @@ +Content-Type: text/html; charset=iso-8859-15 diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-003.html b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-003.html new file mode 100644 index 00000000000..5b3863b4c31 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-003.html differ diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-004.html b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-004.html new file mode 100644 index 00000000000..2041daff071 Binary files /dev/null and b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-004.html differ diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html new file mode 100644 index 00000000000..03dd532b38d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html @@ -0,0 +1,37 @@ + + + + meta content attribute + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html.headers b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html.headers new file mode 100644 index 00000000000..156209f9c81 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html.headers @@ -0,0 +1 @@ +Content-Type: text/html diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html new file mode 100644 index 00000000000..13832928320 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html @@ -0,0 +1,37 @@ + + + + meta charset attribute + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html.headers b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html.headers new file mode 100644 index 00000000000..156209f9c81 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html.headers @@ -0,0 +1 @@ +Content-Type: text/html diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-015.html b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-015.html new file mode 100644 index 00000000000..383c93b5e57 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-015.html @@ -0,0 +1,35 @@ + + + + No encoding declaration + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-015.html.headers b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-015.html.headers new file mode 100644 index 00000000000..156209f9c81 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-015.html.headers @@ -0,0 +1 @@ +Content-Type: text/html diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html new file mode 100644 index 00000000000..141ca3e56f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html @@ -0,0 +1,38 @@ + + + + HTTP vs meta content + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html.headers b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html.headers new file mode 100644 index 00000000000..3d9718c07bc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html.headers @@ -0,0 +1 @@ +Content-Type: text/html; charset=iso-8859-15 diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html new file mode 100644 index 00000000000..9ee7510e5a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html @@ -0,0 +1,38 @@ + + + + HTTP vs meta charset + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html.headers b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html.headers new file mode 100644 index 00000000000..3d9718c07bc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html.headers @@ -0,0 +1 @@ +Content-Type: text/html; charset=iso-8859-15 diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html new file mode 100644 index 00000000000..5f85199928a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html @@ -0,0 +1,38 @@ + + + + meta charset, then meta content + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html.headers b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html.headers new file mode 100644 index 00000000000..156209f9c81 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html.headers @@ -0,0 +1 @@ +Content-Type: text/html diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html new file mode 100644 index 00000000000..f0b699792eb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html @@ -0,0 +1,39 @@ + + + + HTTP vs UTF-8 BOM + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html.headers b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html.headers new file mode 100644 index 00000000000..3d9718c07bc --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html.headers @@ -0,0 +1 @@ +Content-Type: text/html; charset=iso-8859-15 diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html new file mode 100644 index 00000000000..1fcf157b237 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html @@ -0,0 +1,37 @@ + + + + UTF-8 BOM vs meta content + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html.headers b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html.headers new file mode 100644 index 00000000000..156209f9c81 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html.headers @@ -0,0 +1 @@ +Content-Type: text/html diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html new file mode 100644 index 00000000000..9432113a25f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html @@ -0,0 +1,38 @@ + + + + UTF-8 BOM vs meta charset + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html.headers b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html.headers new file mode 100644 index 00000000000..156209f9c81 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html.headers @@ -0,0 +1 @@ +Content-Type: text/html diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/.gitkeep b/tests/wpt/web-platform-tests/html/syntax/parsing/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/Document.getElementsByTagName-foreign-01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/Document.getElementsByTagName-foreign-01.html new file mode 100644 index 00000000000..2bdc83145e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/Document.getElementsByTagName-foreign-01.html @@ -0,0 +1,143 @@ + +document.getElementsByTagName and foreign parser-inserted +elements + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/Document.getElementsByTagName-foreign-02.html b/tests/wpt/web-platform-tests/html/syntax/parsing/Document.getElementsByTagName-foreign-02.html new file mode 100644 index 00000000000..1109a24cfee --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/Document.getElementsByTagName-foreign-02.html @@ -0,0 +1,24 @@ + +getElementsByTagName and font + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/Element.getElementsByTagName-foreign-01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/Element.getElementsByTagName-foreign-01.html new file mode 100644 index 00000000000..cbad9f6d195 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/Element.getElementsByTagName-foreign-01.html @@ -0,0 +1,25 @@ + +getElementsByTagName and font + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/Element.getElementsByTagName-foreign-02.html b/tests/wpt/web-platform-tests/html/syntax/parsing/Element.getElementsByTagName-foreign-02.html new file mode 100644 index 00000000000..aabb169b1b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/Element.getElementsByTagName-foreign-02.html @@ -0,0 +1,29 @@ + +getElementsByTagName and font + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/README b/tests/wpt/web-platform-tests/html/syntax/parsing/README new file mode 100644 index 00000000000..8e4ae0808b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/README @@ -0,0 +1,4 @@ +Note: the html5lib_* files in this directory are autogenerated. + +To update them use the script /tools/scripts/update_html5lib_tests.py. +Further instructions are provided in that file. \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/common.js b/tests/wpt/web-platform-tests/html/syntax/parsing/common.js new file mode 100644 index 00000000000..9c85650c3f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/common.js @@ -0,0 +1,24 @@ +function mark_diffs(expected, actual) { + var expected_lines = expected.split("\n"); + var actual_lines = actual.split("\n"); + + var max_length = Math.max(expected_lines.length, actual_lines.length); + + var expected_diff = ["code", {}]; + var actual_diff = ["code", {}]; + + for (var i=0; i + + + HTML 5 Foreign Content SVG in HTML + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if a green rectangle is visible on the page below this line.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_003.html b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_003.html new file mode 100644 index 00000000000..320a9440924 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_003.html @@ -0,0 +1,47 @@ + + + + HTML 5 Foreign Content SVG in HTML + + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the button has a green rectangle while 'FillerText1' and 'FillerText3' are on either side of the button.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + FillerText1 + + FillerText3 +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_004.html b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_004.html new file mode 100644 index 00000000000..eec49a81d18 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_004.html @@ -0,0 +1,65 @@ + + + + HTML 5 Foreign Content SVG in HTML + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if a green square appears above and centered relative to the table.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        FillerTextFillerTextFillerText
                                                                                                                                                                                                                                                                                        FillerTextFillerTextFillerText
                                                                                                                                                                                                                                                                                        FillerTextFillerTextFillerText
                                                                                                                                                                                                                                                                                        FillerTextFillerTextFillerText
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_005.html b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_005.html new file mode 100644 index 00000000000..b8629dc7c6d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_005.html @@ -0,0 +1,45 @@ + + + + HTML 5 Foreign Content SVG in HTML + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if green rectangle is visible below 'FillerText1'.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + FillerText1 +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_006.html b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_006.html new file mode 100644 index 00000000000..36acda8fc39 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_006.html @@ -0,0 +1,38 @@ + + + + + + + + HTML 5 Foreign Content SVG in HTML + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if a green rectangle is visible on the page above this line.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_008.html b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_008.html new file mode 100644 index 00000000000..348ff0b7137 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_008.html @@ -0,0 +1,39 @@ + + + + HTML 5 Foreign Content SVG in HTML + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if a green rectangle is visible on the page below this line.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_009.html b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_009.html new file mode 100644 index 00000000000..364dd857811 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_009.html @@ -0,0 +1,46 @@ + + + + HTML 5 Foreign Content SVG in HTML + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Result :

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        RUNNING

                                                                                                                                                                                                                                                                                        + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_010.html b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_010.html new file mode 100644 index 00000000000..11e1bf10066 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_010.html @@ -0,0 +1,44 @@ + + + + HTML 5 Foreign Content SVG in HTML + + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Result :

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        RUNNING

                                                                                                                                                                                                                                                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_011.html b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_011.html new file mode 100644 index 00000000000..a8a9d7a1b61 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_011.html @@ -0,0 +1,26 @@ + + + + HTML 5 Foreign Content SVG in HTML + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if a green square is visible below this line.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_013.html b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_013.html new file mode 100644 index 00000000000..e88aae9e4db --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/foreign_content_013.html @@ -0,0 +1,26 @@ + + + + HTML 5 Foreign Content SVG in HTML + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if a green square is visible below this line.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_adoption01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_adoption01.html new file mode 100644 index 00000000000..87664da7785 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_adoption01.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_adoption01.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_adoption02.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_adoption02.html new file mode 100644 index 00000000000..81bb8d35f20 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_adoption02.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_adoption02.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_comments01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_comments01.html new file mode 100644 index 00000000000..3464bc5e44f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_comments01.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_comments01.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_doctype01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_doctype01.html new file mode 100644 index 00000000000..fcf616e1a5e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_doctype01.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_doctype01.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_domjs-unsafe.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_domjs-unsafe.html new file mode 100644 index 00000000000..6a8c9d5064c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_domjs-unsafe.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_domjs-unsafe.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_entities01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_entities01.html new file mode 100644 index 00000000000..c3af61b7904 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_entities01.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_entities01.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_entities02.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_entities02.html new file mode 100644 index 00000000000..fdfddded2aa --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_entities02.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_entities02.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_html5test-com.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_html5test-com.html new file mode 100644 index 00000000000..b74b7f99934 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_html5test-com.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_html5test-com.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_inbody01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_inbody01.html new file mode 100644 index 00000000000..43064d43f1d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_inbody01.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_inbody01.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests4.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests4.html new file mode 100644 index 00000000000..9394df7f1f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests4.html @@ -0,0 +1,24 @@ + + + + + HTML 5 Parser tests html5lib_innerHTML_tests4.html + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests6.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests6.html new file mode 100644 index 00000000000..7b7669e2fa8 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests6.html @@ -0,0 +1,24 @@ + + + + + HTML 5 Parser tests html5lib_innerHTML_tests6.html + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests7.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests7.html new file mode 100644 index 00000000000..cc775229791 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests7.html @@ -0,0 +1,24 @@ + + + + + HTML 5 Parser tests html5lib_innerHTML_tests7.html + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests_innerHTML_1.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests_innerHTML_1.html new file mode 100644 index 00000000000..29df3868a3f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_innerHTML_tests_innerHTML_1.html @@ -0,0 +1,24 @@ + + + + + HTML 5 Parser tests html5lib_innerHTML_tests_innerHTML_1.html + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_isindex.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_isindex.html new file mode 100644 index 00000000000..e73fb5a9469 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_isindex.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_isindex.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_main-element.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_main-element.html new file mode 100644 index 00000000000..8f01831505c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_main-element.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_main-element.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_pending-spec-changes-plain-text-unsafe.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_pending-spec-changes-plain-text-unsafe.html new file mode 100644 index 00000000000..3943758423e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_pending-spec-changes-plain-text-unsafe.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_pending-spec-changes-plain-text-unsafe.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_pending-spec-changes.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_pending-spec-changes.html new file mode 100644 index 00000000000..f7aa17e72ae --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_pending-spec-changes.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_pending-spec-changes.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_plain-text-unsafe.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_plain-text-unsafe.html new file mode 100644 index 00000000000..d99328907fb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_plain-text-unsafe.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_plain-text-unsafe.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_scriptdata01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_scriptdata01.html new file mode 100644 index 00000000000..1233917145a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_scriptdata01.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_scriptdata01.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_scripted_adoption01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_scripted_adoption01.html new file mode 100644 index 00000000000..479208aa912 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_scripted_adoption01.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_scripted_adoption01.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_scripted_ark.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_scripted_ark.html new file mode 100644 index 00000000000..4542b7c7d0d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_scripted_ark.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_scripted_ark.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_scripted_webkit01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_scripted_webkit01.html new file mode 100644 index 00000000000..ef4f16d9cac --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_scripted_webkit01.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_scripted_webkit01.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tables01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tables01.html new file mode 100644 index 00000000000..a22bfe0b2b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tables01.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tables01.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_template.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_template.html new file mode 100644 index 00000000000..92500dd342f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_template.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_template.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests1.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests1.html new file mode 100644 index 00000000000..fa658fc7682 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests1.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests1.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests10.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests10.html new file mode 100644 index 00000000000..26411582b1a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests10.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests10.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests11.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests11.html new file mode 100644 index 00000000000..e21b0328a23 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests11.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests11.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests12.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests12.html new file mode 100644 index 00000000000..4c1b388f04e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests12.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests12.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests14.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests14.html new file mode 100644 index 00000000000..b1a4323c2d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests14.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests14.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests15.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests15.html new file mode 100644 index 00000000000..3e9ac0cbe80 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests15.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests15.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests16.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests16.html new file mode 100644 index 00000000000..f6c8a027ce5 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests16.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests16.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests17.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests17.html new file mode 100644 index 00000000000..6363ca72b2e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests17.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests17.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests18.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests18.html new file mode 100644 index 00000000000..5c23b22c58b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests18.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests18.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests19.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests19.html new file mode 100644 index 00000000000..151b121704a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests19.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests19.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests2.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests2.html new file mode 100644 index 00000000000..a09d593e271 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests2.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests2.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests20.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests20.html new file mode 100644 index 00000000000..19c904fc5ab --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests20.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests20.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests21.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests21.html new file mode 100644 index 00000000000..e13295a974e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests21.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests21.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests22.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests22.html new file mode 100644 index 00000000000..74886e16603 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests22.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests22.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests23.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests23.html new file mode 100644 index 00000000000..b471f34ddf0 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests23.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests23.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests24.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests24.html new file mode 100644 index 00000000000..ecfd895e863 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests24.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests24.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests25.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests25.html new file mode 100644 index 00000000000..2ae12eb1c5b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests25.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests25.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests26.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests26.html new file mode 100644 index 00000000000..49566d2feb4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests26.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests26.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests3.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests3.html new file mode 100644 index 00000000000..f6f9d629110 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests3.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests3.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests5.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests5.html new file mode 100644 index 00000000000..b1314ead67d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests5.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests5.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests6.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests6.html new file mode 100644 index 00000000000..2bc2df75b08 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests6.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests6.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests7.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests7.html new file mode 100644 index 00000000000..8a74e16edad --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests7.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests7.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests8.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests8.html new file mode 100644 index 00000000000..762533a8c14 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests8.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests8.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests9.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests9.html new file mode 100644 index 00000000000..8cd9132d16f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tests9.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tests9.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tricky01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tricky01.html new file mode 100644 index 00000000000..f90e7f01f20 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_tricky01.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_tricky01.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_webkit01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_webkit01.html new file mode 100644 index 00000000000..43f07f59e54 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_webkit01.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_webkit01.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_webkit02.html b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_webkit02.html new file mode 100644 index 00000000000..2d324eb7c05 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/html5lib_webkit02.html @@ -0,0 +1,28 @@ + + + + + HTML 5 Parser tests html5lib_webkit02.html + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/math-parse01.html b/tests/wpt/web-platform-tests/html/syntax/parsing/math-parse01.html new file mode 100644 index 00000000000..3aff716d9f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/math-parse01.html @@ -0,0 +1,62 @@ + + + +math in html: parsing + + + + +

                                                                                                                                                                                                                                                                                        math in html: parsing

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        1a
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        ⟨⟩
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        𝕂
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/math-parse03.html b/tests/wpt/web-platform-tests/html/syntax/parsing/math-parse03.html new file mode 100755 index 00000000000..a3dbdc4e61a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/math-parse03.html @@ -0,0 +1,132 @@ + + + +math in html: parsing + + + + +

                                                                                                                                                                                                                                                                                        math in html: parsing

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        a
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        x
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        x
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        x
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        x

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        x

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        x

                                                                                                                                                                                                                                                                                        y
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        x
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        x
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        x +

                                                                                                                                                                                                                                                                                        x

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        x +

                                                                                                                                                                                                                                                                                        x

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        x +

                                                                                                                                                                                                                                                                                        x

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        x +

                                                                                                                                                                                                                                                                                        x

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        x +

                                                                                                                                                                                                                                                                                        x

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/named-character-references-data.js b/tests/wpt/web-platform-tests/html/syntax/parsing/named-character-references-data.js new file mode 100644 index 00000000000..4a205a94b3b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/named-character-references-data.js @@ -0,0 +1,2233 @@ +window.data = { + 'Æ': { 'codepoints': [0x000C6], 'characters': '\xC6' }, + 'Æ': { 'codepoints': [0x000C6], 'characters': '\xC6' }, + '&': { 'codepoints': [0x00026], 'characters': '\x26' }, + '&': { 'codepoints': [0x00026], 'characters': '\x26' }, + 'Á': { 'codepoints': [0x000C1], 'characters': '\xC1' }, + 'Á': { 'codepoints': [0x000C1], 'characters': '\xC1' }, + 'Ă': { 'codepoints': [0x00102], 'characters': '\u0102' }, + 'Â': { 'codepoints': [0x000C2], 'characters': '\xC2' }, + 'Â': { 'codepoints': [0x000C2], 'characters': '\xC2' }, + 'А': { 'codepoints': [0x00410], 'characters': '\u0410' }, + '𝔄': { 'codepoints': [0x1D504], 'characters': '\uD835\uDD04' }, + 'À': { 'codepoints': [0x000C0], 'characters': '\xC0' }, + 'À': { 'codepoints': [0x000C0], 'characters': '\xC0' }, + 'Α': { 'codepoints': [0x00391], 'characters': '\u0391' }, + 'Ā': { 'codepoints': [0x00100], 'characters': '\u0100' }, + '⩓': { 'codepoints': [0x02A53], 'characters': '\u2A53' }, + 'Ą': { 'codepoints': [0x00104], 'characters': '\u0104' }, + '𝔸': { 'codepoints': [0x1D538], 'characters': '\uD835\uDD38' }, + '⁡': { 'codepoints': [0x02061], 'characters': '\u2061' }, + 'Å': { 'codepoints': [0x000C5], 'characters': '\xC5' }, + 'Å': { 'codepoints': [0x000C5], 'characters': '\xC5' }, + '𝒜': { 'codepoints': [0x1D49C], 'characters': '\uD835\uDC9C' }, + '≔': { 'codepoints': [0x02254], 'characters': '\u2254' }, + 'Ã': { 'codepoints': [0x000C3], 'characters': '\xC3' }, + 'Ã': { 'codepoints': [0x000C3], 'characters': '\xC3' }, + 'Ä': { 'codepoints': [0x000C4], 'characters': '\xC4' }, + 'Ä': { 'codepoints': [0x000C4], 'characters': '\xC4' }, + '∖': { 'codepoints': [0x02216], 'characters': '\u2216' }, + '⫧': { 'codepoints': [0x02AE7], 'characters': '\u2AE7' }, + '⌆': { 'codepoints': [0x02306], 'characters': '\u2306' }, + 'Б': { 'codepoints': [0x00411], 'characters': '\u0411' }, + '∵': { 'codepoints': [0x02235], 'characters': '\u2235' }, + 'ℬ': { 'codepoints': [0x0212C], 'characters': '\u212C' }, + 'Β': { 'codepoints': [0x00392], 'characters': '\u0392' }, + '𝔅': { 'codepoints': [0x1D505], 'characters': '\uD835\uDD05' }, + '𝔹': { 'codepoints': [0x1D539], 'characters': '\uD835\uDD39' }, + '˘': { 'codepoints': [0x002D8], 'characters': '\u02D8' }, + 'ℬ': { 'codepoints': [0x0212C], 'characters': '\u212C' }, + '≎': { 'codepoints': [0x0224E], 'characters': '\u224E' }, + 'Ч': { 'codepoints': [0x00427], 'characters': '\u0427' }, + '©': { 'codepoints': [0x000A9], 'characters': '\xA9' }, + '©': { 'codepoints': [0x000A9], 'characters': '\xA9' }, + 'Ć': { 'codepoints': [0x00106], 'characters': '\u0106' }, + '⋒': { 'codepoints': [0x022D2], 'characters': '\u22D2' }, + 'ⅅ': { 'codepoints': [0x02145], 'characters': '\u2145' }, + 'ℭ': { 'codepoints': [0x0212D], 'characters': '\u212D' }, + 'Č': { 'codepoints': [0x0010C], 'characters': '\u010C' }, + 'Ç': { 'codepoints': [0x000C7], 'characters': '\xC7' }, + 'Ç': { 'codepoints': [0x000C7], 'characters': '\xC7' }, + 'Ĉ': { 'codepoints': [0x00108], 'characters': '\u0108' }, + '∰': { 'codepoints': [0x02230], 'characters': '\u2230' }, + 'Ċ': { 'codepoints': [0x0010A], 'characters': '\u010A' }, + '¸': { 'codepoints': [0x000B8], 'characters': '\xB8' }, + '·': { 'codepoints': [0x000B7], 'characters': '\xB7' }, + 'ℭ': { 'codepoints': [0x0212D], 'characters': '\u212D' }, + 'Χ': { 'codepoints': [0x003A7], 'characters': '\u03A7' }, + '⊙': { 'codepoints': [0x02299], 'characters': '\u2299' }, + '⊖': { 'codepoints': [0x02296], 'characters': '\u2296' }, + '⊕': { 'codepoints': [0x02295], 'characters': '\u2295' }, + '⊗': { 'codepoints': [0x02297], 'characters': '\u2297' }, + '∲': { 'codepoints': [0x02232], 'characters': '\u2232' }, + '”': { 'codepoints': [0x0201D], 'characters': '\u201D' }, + '’': { 'codepoints': [0x02019], 'characters': '\u2019' }, + '∷': { 'codepoints': [0x02237], 'characters': '\u2237' }, + '⩴': { 'codepoints': [0x02A74], 'characters': '\u2A74' }, + '≡': { 'codepoints': [0x02261], 'characters': '\u2261' }, + '∯': { 'codepoints': [0x0222F], 'characters': '\u222F' }, + '∮': { 'codepoints': [0x0222E], 'characters': '\u222E' }, + 'ℂ': { 'codepoints': [0x02102], 'characters': '\u2102' }, + '∐': { 'codepoints': [0x02210], 'characters': '\u2210' }, + '∳': { 'codepoints': [0x02233], 'characters': '\u2233' }, + '⨯': { 'codepoints': [0x02A2F], 'characters': '\u2A2F' }, + '𝒞': { 'codepoints': [0x1D49E], 'characters': '\uD835\uDC9E' }, + '⋓': { 'codepoints': [0x022D3], 'characters': '\u22D3' }, + '≍': { 'codepoints': [0x0224D], 'characters': '\u224D' }, + 'ⅅ': { 'codepoints': [0x02145], 'characters': '\u2145' }, + '⤑': { 'codepoints': [0x02911], 'characters': '\u2911' }, + 'Ђ': { 'codepoints': [0x00402], 'characters': '\u0402' }, + 'Ѕ': { 'codepoints': [0x00405], 'characters': '\u0405' }, + 'Џ': { 'codepoints': [0x0040F], 'characters': '\u040F' }, + '‡': { 'codepoints': [0x02021], 'characters': '\u2021' }, + '↡': { 'codepoints': [0x021A1], 'characters': '\u21A1' }, + '⫤': { 'codepoints': [0x02AE4], 'characters': '\u2AE4' }, + 'Ď': { 'codepoints': [0x0010E], 'characters': '\u010E' }, + 'Д': { 'codepoints': [0x00414], 'characters': '\u0414' }, + '∇': { 'codepoints': [0x02207], 'characters': '\u2207' }, + 'Δ': { 'codepoints': [0x00394], 'characters': '\u0394' }, + '𝔇': { 'codepoints': [0x1D507], 'characters': '\uD835\uDD07' }, + '´': { 'codepoints': [0x000B4], 'characters': '\xB4' }, + '˙': { 'codepoints': [0x002D9], 'characters': '\u02D9' }, + '˝': { 'codepoints': [0x002DD], 'characters': '\u02DD' }, + '`': { 'codepoints': [0x00060], 'characters': '\x60' }, + '˜': { 'codepoints': [0x002DC], 'characters': '\u02DC' }, + '⋄': { 'codepoints': [0x022C4], 'characters': '\u22C4' }, + 'ⅆ': { 'codepoints': [0x02146], 'characters': '\u2146' }, + '𝔻': { 'codepoints': [0x1D53B], 'characters': '\uD835\uDD3B' }, + '¨': { 'codepoints': [0x000A8], 'characters': '\xA8' }, + '⃜': { 'codepoints': [0x020DC], 'characters': '\u20DC' }, + '≐': { 'codepoints': [0x02250], 'characters': '\u2250' }, + '∯': { 'codepoints': [0x0222F], 'characters': '\u222F' }, + '¨': { 'codepoints': [0x000A8], 'characters': '\xA8' }, + '⇓': { 'codepoints': [0x021D3], 'characters': '\u21D3' }, + '⇐': { 'codepoints': [0x021D0], 'characters': '\u21D0' }, + '⇔': { 'codepoints': [0x021D4], 'characters': '\u21D4' }, + '⫤': { 'codepoints': [0x02AE4], 'characters': '\u2AE4' }, + '⟸': { 'codepoints': [0x027F8], 'characters': '\u27F8' }, + '⟺': { 'codepoints': [0x027FA], 'characters': '\u27FA' }, + '⟹': { 'codepoints': [0x027F9], 'characters': '\u27F9' }, + '⇒': { 'codepoints': [0x021D2], 'characters': '\u21D2' }, + '⊨': { 'codepoints': [0x022A8], 'characters': '\u22A8' }, + '⇑': { 'codepoints': [0x021D1], 'characters': '\u21D1' }, + '⇕': { 'codepoints': [0x021D5], 'characters': '\u21D5' }, + '∥': { 'codepoints': [0x02225], 'characters': '\u2225' }, + '↓': { 'codepoints': [0x02193], 'characters': '\u2193' }, + '⤓': { 'codepoints': [0x02913], 'characters': '\u2913' }, + '⇵': { 'codepoints': [0x021F5], 'characters': '\u21F5' }, + '̑': { 'codepoints': [0x00311], 'characters': '\u0311' }, + '⥐': { 'codepoints': [0x02950], 'characters': '\u2950' }, + '⥞': { 'codepoints': [0x0295E], 'characters': '\u295E' }, + '↽': { 'codepoints': [0x021BD], 'characters': '\u21BD' }, + '⥖': { 'codepoints': [0x02956], 'characters': '\u2956' }, + '⥟': { 'codepoints': [0x0295F], 'characters': '\u295F' }, + '⇁': { 'codepoints': [0x021C1], 'characters': '\u21C1' }, + '⥗': { 'codepoints': [0x02957], 'characters': '\u2957' }, + '⊤': { 'codepoints': [0x022A4], 'characters': '\u22A4' }, + '↧': { 'codepoints': [0x021A7], 'characters': '\u21A7' }, + '⇓': { 'codepoints': [0x021D3], 'characters': '\u21D3' }, + '𝒟': { 'codepoints': [0x1D49F], 'characters': '\uD835\uDC9F' }, + 'Đ': { 'codepoints': [0x00110], 'characters': '\u0110' }, + 'Ŋ': { 'codepoints': [0x0014A], 'characters': '\u014A' }, + 'Ð': { 'codepoints': [0x000D0], 'characters': '\xD0' }, + 'Ð': { 'codepoints': [0x000D0], 'characters': '\xD0' }, + 'É': { 'codepoints': [0x000C9], 'characters': '\xC9' }, + 'É': { 'codepoints': [0x000C9], 'characters': '\xC9' }, + 'Ě': { 'codepoints': [0x0011A], 'characters': '\u011A' }, + 'Ê': { 'codepoints': [0x000CA], 'characters': '\xCA' }, + 'Ê': { 'codepoints': [0x000CA], 'characters': '\xCA' }, + 'Э': { 'codepoints': [0x0042D], 'characters': '\u042D' }, + 'Ė': { 'codepoints': [0x00116], 'characters': '\u0116' }, + '𝔈': { 'codepoints': [0x1D508], 'characters': '\uD835\uDD08' }, + 'È': { 'codepoints': [0x000C8], 'characters': '\xC8' }, + 'È': { 'codepoints': [0x000C8], 'characters': '\xC8' }, + '∈': { 'codepoints': [0x02208], 'characters': '\u2208' }, + 'Ē': { 'codepoints': [0x00112], 'characters': '\u0112' }, + '◻': { 'codepoints': [0x025FB], 'characters': '\u25FB' }, + '▫': { 'codepoints': [0x025AB], 'characters': '\u25AB' }, + 'Ę': { 'codepoints': [0x00118], 'characters': '\u0118' }, + '𝔼': { 'codepoints': [0x1D53C], 'characters': '\uD835\uDD3C' }, + 'Ε': { 'codepoints': [0x00395], 'characters': '\u0395' }, + '⩵': { 'codepoints': [0x02A75], 'characters': '\u2A75' }, + '≂': { 'codepoints': [0x02242], 'characters': '\u2242' }, + '⇌': { 'codepoints': [0x021CC], 'characters': '\u21CC' }, + 'ℰ': { 'codepoints': [0x02130], 'characters': '\u2130' }, + '⩳': { 'codepoints': [0x02A73], 'characters': '\u2A73' }, + 'Η': { 'codepoints': [0x00397], 'characters': '\u0397' }, + 'Ë': { 'codepoints': [0x000CB], 'characters': '\xCB' }, + 'Ë': { 'codepoints': [0x000CB], 'characters': '\xCB' }, + '∃': { 'codepoints': [0x02203], 'characters': '\u2203' }, + 'ⅇ': { 'codepoints': [0x02147], 'characters': '\u2147' }, + 'Ф': { 'codepoints': [0x00424], 'characters': '\u0424' }, + '𝔉': { 'codepoints': [0x1D509], 'characters': '\uD835\uDD09' }, + '◼': { 'codepoints': [0x025FC], 'characters': '\u25FC' }, + '▪': { 'codepoints': [0x025AA], 'characters': '\u25AA' }, + '𝔽': { 'codepoints': [0x1D53D], 'characters': '\uD835\uDD3D' }, + '∀': { 'codepoints': [0x02200], 'characters': '\u2200' }, + 'ℱ': { 'codepoints': [0x02131], 'characters': '\u2131' }, + 'ℱ': { 'codepoints': [0x02131], 'characters': '\u2131' }, + 'Ѓ': { 'codepoints': [0x00403], 'characters': '\u0403' }, + '>': { 'codepoints': [0x0003E], 'characters': '\x3E' }, + '>': { 'codepoints': [0x0003E], 'characters': '\x3E' }, + 'Γ': { 'codepoints': [0x00393], 'characters': '\u0393' }, + 'Ϝ': { 'codepoints': [0x003DC], 'characters': '\u03DC' }, + 'Ğ': { 'codepoints': [0x0011E], 'characters': '\u011E' }, + 'Ģ': { 'codepoints': [0x00122], 'characters': '\u0122' }, + 'Ĝ': { 'codepoints': [0x0011C], 'characters': '\u011C' }, + 'Г': { 'codepoints': [0x00413], 'characters': '\u0413' }, + 'Ġ': { 'codepoints': [0x00120], 'characters': '\u0120' }, + '𝔊': { 'codepoints': [0x1D50A], 'characters': '\uD835\uDD0A' }, + '⋙': { 'codepoints': [0x022D9], 'characters': '\u22D9' }, + '𝔾': { 'codepoints': [0x1D53E], 'characters': '\uD835\uDD3E' }, + '≥': { 'codepoints': [0x02265], 'characters': '\u2265' }, + '⋛': { 'codepoints': [0x022DB], 'characters': '\u22DB' }, + '≧': { 'codepoints': [0x02267], 'characters': '\u2267' }, + '⪢': { 'codepoints': [0x02AA2], 'characters': '\u2AA2' }, + '≷': { 'codepoints': [0x02277], 'characters': '\u2277' }, + '⩾': { 'codepoints': [0x02A7E], 'characters': '\u2A7E' }, + '≳': { 'codepoints': [0x02273], 'characters': '\u2273' }, + '𝒢': { 'codepoints': [0x1D4A2], 'characters': '\uD835\uDCA2' }, + '≫': { 'codepoints': [0x0226B], 'characters': '\u226B' }, + 'Ъ': { 'codepoints': [0x0042A], 'characters': '\u042A' }, + 'ˇ': { 'codepoints': [0x002C7], 'characters': '\u02C7' }, + '^': { 'codepoints': [0x0005E], 'characters': '\x5E' }, + 'Ĥ': { 'codepoints': [0x00124], 'characters': '\u0124' }, + 'ℌ': { 'codepoints': [0x0210C], 'characters': '\u210C' }, + 'ℋ': { 'codepoints': [0x0210B], 'characters': '\u210B' }, + 'ℍ': { 'codepoints': [0x0210D], 'characters': '\u210D' }, + '─': { 'codepoints': [0x02500], 'characters': '\u2500' }, + 'ℋ': { 'codepoints': [0x0210B], 'characters': '\u210B' }, + 'Ħ': { 'codepoints': [0x00126], 'characters': '\u0126' }, + '≎': { 'codepoints': [0x0224E], 'characters': '\u224E' }, + '≏': { 'codepoints': [0x0224F], 'characters': '\u224F' }, + 'Е': { 'codepoints': [0x00415], 'characters': '\u0415' }, + 'IJ': { 'codepoints': [0x00132], 'characters': '\u0132' }, + 'Ё': { 'codepoints': [0x00401], 'characters': '\u0401' }, + 'Í': { 'codepoints': [0x000CD], 'characters': '\xCD' }, + 'Í': { 'codepoints': [0x000CD], 'characters': '\xCD' }, + 'Î': { 'codepoints': [0x000CE], 'characters': '\xCE' }, + 'Î': { 'codepoints': [0x000CE], 'characters': '\xCE' }, + 'И': { 'codepoints': [0x00418], 'characters': '\u0418' }, + 'İ': { 'codepoints': [0x00130], 'characters': '\u0130' }, + 'ℑ': { 'codepoints': [0x02111], 'characters': '\u2111' }, + 'Ì': { 'codepoints': [0x000CC], 'characters': '\xCC' }, + 'Ì': { 'codepoints': [0x000CC], 'characters': '\xCC' }, + 'ℑ': { 'codepoints': [0x02111], 'characters': '\u2111' }, + 'Ī': { 'codepoints': [0x0012A], 'characters': '\u012A' }, + 'ⅈ': { 'codepoints': [0x02148], 'characters': '\u2148' }, + '⇒': { 'codepoints': [0x021D2], 'characters': '\u21D2' }, + '∬': { 'codepoints': [0x0222C], 'characters': '\u222C' }, + '∫': { 'codepoints': [0x0222B], 'characters': '\u222B' }, + '⋂': { 'codepoints': [0x022C2], 'characters': '\u22C2' }, + '⁣': { 'codepoints': [0x02063], 'characters': '\u2063' }, + '⁢': { 'codepoints': [0x02062], 'characters': '\u2062' }, + 'Į': { 'codepoints': [0x0012E], 'characters': '\u012E' }, + '𝕀': { 'codepoints': [0x1D540], 'characters': '\uD835\uDD40' }, + 'Ι': { 'codepoints': [0x00399], 'characters': '\u0399' }, + 'ℐ': { 'codepoints': [0x02110], 'characters': '\u2110' }, + 'Ĩ': { 'codepoints': [0x00128], 'characters': '\u0128' }, + 'І': { 'codepoints': [0x00406], 'characters': '\u0406' }, + 'Ï': { 'codepoints': [0x000CF], 'characters': '\xCF' }, + 'Ï': { 'codepoints': [0x000CF], 'characters': '\xCF' }, + 'Ĵ': { 'codepoints': [0x00134], 'characters': '\u0134' }, + 'Й': { 'codepoints': [0x00419], 'characters': '\u0419' }, + '𝔍': { 'codepoints': [0x1D50D], 'characters': '\uD835\uDD0D' }, + '𝕁': { 'codepoints': [0x1D541], 'characters': '\uD835\uDD41' }, + '𝒥': { 'codepoints': [0x1D4A5], 'characters': '\uD835\uDCA5' }, + 'Ј': { 'codepoints': [0x00408], 'characters': '\u0408' }, + 'Є': { 'codepoints': [0x00404], 'characters': '\u0404' }, + 'Х': { 'codepoints': [0x00425], 'characters': '\u0425' }, + 'Ќ': { 'codepoints': [0x0040C], 'characters': '\u040C' }, + 'Κ': { 'codepoints': [0x0039A], 'characters': '\u039A' }, + 'Ķ': { 'codepoints': [0x00136], 'characters': '\u0136' }, + 'К': { 'codepoints': [0x0041A], 'characters': '\u041A' }, + '𝔎': { 'codepoints': [0x1D50E], 'characters': '\uD835\uDD0E' }, + '𝕂': { 'codepoints': [0x1D542], 'characters': '\uD835\uDD42' }, + '𝒦': { 'codepoints': [0x1D4A6], 'characters': '\uD835\uDCA6' }, + 'Љ': { 'codepoints': [0x00409], 'characters': '\u0409' }, + '<': { 'codepoints': [0x0003C], 'characters': '\x3C' }, + '<': { 'codepoints': [0x0003C], 'characters': '\x3C' }, + 'Ĺ': { 'codepoints': [0x00139], 'characters': '\u0139' }, + 'Λ': { 'codepoints': [0x0039B], 'characters': '\u039B' }, + '⟪': { 'codepoints': [0x027EA], 'characters': '\u27EA' }, + 'ℒ': { 'codepoints': [0x02112], 'characters': '\u2112' }, + '↞': { 'codepoints': [0x0219E], 'characters': '\u219E' }, + 'Ľ': { 'codepoints': [0x0013D], 'characters': '\u013D' }, + 'Ļ': { 'codepoints': [0x0013B], 'characters': '\u013B' }, + 'Л': { 'codepoints': [0x0041B], 'characters': '\u041B' }, + '⟨': { 'codepoints': [0x027E8], 'characters': '\u27E8' }, + '←': { 'codepoints': [0x02190], 'characters': '\u2190' }, + '⇤': { 'codepoints': [0x021E4], 'characters': '\u21E4' }, + '⇆': { 'codepoints': [0x021C6], 'characters': '\u21C6' }, + '⌈': { 'codepoints': [0x02308], 'characters': '\u2308' }, + '⟦': { 'codepoints': [0x027E6], 'characters': '\u27E6' }, + '⥡': { 'codepoints': [0x02961], 'characters': '\u2961' }, + '⇃': { 'codepoints': [0x021C3], 'characters': '\u21C3' }, + '⥙': { 'codepoints': [0x02959], 'characters': '\u2959' }, + '⌊': { 'codepoints': [0x0230A], 'characters': '\u230A' }, + '↔': { 'codepoints': [0x02194], 'characters': '\u2194' }, + '⥎': { 'codepoints': [0x0294E], 'characters': '\u294E' }, + '⊣': { 'codepoints': [0x022A3], 'characters': '\u22A3' }, + '↤': { 'codepoints': [0x021A4], 'characters': '\u21A4' }, + '⥚': { 'codepoints': [0x0295A], 'characters': '\u295A' }, + '⊲': { 'codepoints': [0x022B2], 'characters': '\u22B2' }, + '⧏': { 'codepoints': [0x029CF], 'characters': '\u29CF' }, + '⊴': { 'codepoints': [0x022B4], 'characters': '\u22B4' }, + '⥑': { 'codepoints': [0x02951], 'characters': '\u2951' }, + '⥠': { 'codepoints': [0x02960], 'characters': '\u2960' }, + '↿': { 'codepoints': [0x021BF], 'characters': '\u21BF' }, + '⥘': { 'codepoints': [0x02958], 'characters': '\u2958' }, + '↼': { 'codepoints': [0x021BC], 'characters': '\u21BC' }, + '⥒': { 'codepoints': [0x02952], 'characters': '\u2952' }, + '⇐': { 'codepoints': [0x021D0], 'characters': '\u21D0' }, + '⇔': { 'codepoints': [0x021D4], 'characters': '\u21D4' }, + '⋚': { 'codepoints': [0x022DA], 'characters': '\u22DA' }, + '≦': { 'codepoints': [0x02266], 'characters': '\u2266' }, + '≶': { 'codepoints': [0x02276], 'characters': '\u2276' }, + '⪡': { 'codepoints': [0x02AA1], 'characters': '\u2AA1' }, + '⩽': { 'codepoints': [0x02A7D], 'characters': '\u2A7D' }, + '≲': { 'codepoints': [0x02272], 'characters': '\u2272' }, + '𝔏': { 'codepoints': [0x1D50F], 'characters': '\uD835\uDD0F' }, + '⋘': { 'codepoints': [0x022D8], 'characters': '\u22D8' }, + '⇚': { 'codepoints': [0x021DA], 'characters': '\u21DA' }, + 'Ŀ': { 'codepoints': [0x0013F], 'characters': '\u013F' }, + '⟵': { 'codepoints': [0x027F5], 'characters': '\u27F5' }, + '⟷': { 'codepoints': [0x027F7], 'characters': '\u27F7' }, + '⟶': { 'codepoints': [0x027F6], 'characters': '\u27F6' }, + '⟸': { 'codepoints': [0x027F8], 'characters': '\u27F8' }, + '⟺': { 'codepoints': [0x027FA], 'characters': '\u27FA' }, + '⟹': { 'codepoints': [0x027F9], 'characters': '\u27F9' }, + '𝕃': { 'codepoints': [0x1D543], 'characters': '\uD835\uDD43' }, + '↙': { 'codepoints': [0x02199], 'characters': '\u2199' }, + '↘': { 'codepoints': [0x02198], 'characters': '\u2198' }, + 'ℒ': { 'codepoints': [0x02112], 'characters': '\u2112' }, + '↰': { 'codepoints': [0x021B0], 'characters': '\u21B0' }, + 'Ł': { 'codepoints': [0x00141], 'characters': '\u0141' }, + '≪': { 'codepoints': [0x0226A], 'characters': '\u226A' }, + '⤅': { 'codepoints': [0x02905], 'characters': '\u2905' }, + 'М': { 'codepoints': [0x0041C], 'characters': '\u041C' }, + ' ': { 'codepoints': [0x0205F], 'characters': '\u205F' }, + 'ℳ': { 'codepoints': [0x02133], 'characters': '\u2133' }, + '𝔐': { 'codepoints': [0x1D510], 'characters': '\uD835\uDD10' }, + '∓': { 'codepoints': [0x02213], 'characters': '\u2213' }, + '𝕄': { 'codepoints': [0x1D544], 'characters': '\uD835\uDD44' }, + 'ℳ': { 'codepoints': [0x02133], 'characters': '\u2133' }, + 'Μ': { 'codepoints': [0x0039C], 'characters': '\u039C' }, + 'Њ': { 'codepoints': [0x0040A], 'characters': '\u040A' }, + 'Ń': { 'codepoints': [0x00143], 'characters': '\u0143' }, + 'Ň': { 'codepoints': [0x00147], 'characters': '\u0147' }, + 'Ņ': { 'codepoints': [0x00145], 'characters': '\u0145' }, + 'Н': { 'codepoints': [0x0041D], 'characters': '\u041D' }, + '​': { 'codepoints': [0x0200B], 'characters': '\u200B' }, + '​': { 'codepoints': [0x0200B], 'characters': '\u200B' }, + '​': { 'codepoints': [0x0200B], 'characters': '\u200B' }, + '​': { 'codepoints': [0x0200B], 'characters': '\u200B' }, + '≫': { 'codepoints': [0x0226B], 'characters': '\u226B' }, + '≪': { 'codepoints': [0x0226A], 'characters': '\u226A' }, + ' ': { 'codepoints': [0x0000A], 'characters': '\x0A' }, + '𝔑': { 'codepoints': [0x1D511], 'characters': '\uD835\uDD11' }, + '⁠': { 'codepoints': [0x02060], 'characters': '\u2060' }, + ' ': { 'codepoints': [0x000A0], 'characters': '\xA0' }, + 'ℕ': { 'codepoints': [0x02115], 'characters': '\u2115' }, + '⫬': { 'codepoints': [0x02AEC], 'characters': '\u2AEC' }, + '≢': { 'codepoints': [0x02262], 'characters': '\u2262' }, + '≭': { 'codepoints': [0x0226D], 'characters': '\u226D' }, + '∦': { 'codepoints': [0x02226], 'characters': '\u2226' }, + '∉': { 'codepoints': [0x02209], 'characters': '\u2209' }, + '≠': { 'codepoints': [0x02260], 'characters': '\u2260' }, + '≂̸': { 'codepoints': [0x02242, 0x00338], 'characters': '\u2242\u0338' }, + '∄': { 'codepoints': [0x02204], 'characters': '\u2204' }, + '≯': { 'codepoints': [0x0226F], 'characters': '\u226F' }, + '≱': { 'codepoints': [0x02271], 'characters': '\u2271' }, + '≧̸': { 'codepoints': [0x02267, 0x00338], 'characters': '\u2267\u0338' }, + '≫̸': { 'codepoints': [0x0226B, 0x00338], 'characters': '\u226B\u0338' }, + '≹': { 'codepoints': [0x02279], 'characters': '\u2279' }, + '⩾̸': { 'codepoints': [0x02A7E, 0x00338], 'characters': '\u2A7E\u0338' }, + '≵': { 'codepoints': [0x02275], 'characters': '\u2275' }, + '≎̸': { 'codepoints': [0x0224E, 0x00338], 'characters': '\u224E\u0338' }, + '≏̸': { 'codepoints': [0x0224F, 0x00338], 'characters': '\u224F\u0338' }, + '⋪': { 'codepoints': [0x022EA], 'characters': '\u22EA' }, + '⧏̸': { 'codepoints': [0x029CF, 0x00338], 'characters': '\u29CF\u0338' }, + '⋬': { 'codepoints': [0x022EC], 'characters': '\u22EC' }, + '≮': { 'codepoints': [0x0226E], 'characters': '\u226E' }, + '≰': { 'codepoints': [0x02270], 'characters': '\u2270' }, + '≸': { 'codepoints': [0x02278], 'characters': '\u2278' }, + '≪̸': { 'codepoints': [0x0226A, 0x00338], 'characters': '\u226A\u0338' }, + '⩽̸': { 'codepoints': [0x02A7D, 0x00338], 'characters': '\u2A7D\u0338' }, + '≴': { 'codepoints': [0x02274], 'characters': '\u2274' }, + '⪢̸': { 'codepoints': [0x02AA2, 0x00338], 'characters': '\u2AA2\u0338' }, + '⪡̸': { 'codepoints': [0x02AA1, 0x00338], 'characters': '\u2AA1\u0338' }, + '⊀': { 'codepoints': [0x02280], 'characters': '\u2280' }, + '⪯̸': { 'codepoints': [0x02AAF, 0x00338], 'characters': '\u2AAF\u0338' }, + '⋠': { 'codepoints': [0x022E0], 'characters': '\u22E0' }, + '∌': { 'codepoints': [0x0220C], 'characters': '\u220C' }, + '⋫': { 'codepoints': [0x022EB], 'characters': '\u22EB' }, + '⧐̸': { 'codepoints': [0x029D0, 0x00338], 'characters': '\u29D0\u0338' }, + '⋭': { 'codepoints': [0x022ED], 'characters': '\u22ED' }, + '⊏̸': { 'codepoints': [0x0228F, 0x00338], 'characters': '\u228F\u0338' }, + '⋢': { 'codepoints': [0x022E2], 'characters': '\u22E2' }, + '⊐̸': { 'codepoints': [0x02290, 0x00338], 'characters': '\u2290\u0338' }, + '⋣': { 'codepoints': [0x022E3], 'characters': '\u22E3' }, + '⊂⃒': { 'codepoints': [0x02282, 0x020D2], 'characters': '\u2282\u20D2' }, + '⊈': { 'codepoints': [0x02288], 'characters': '\u2288' }, + '⊁': { 'codepoints': [0x02281], 'characters': '\u2281' }, + '⪰̸': { 'codepoints': [0x02AB0, 0x00338], 'characters': '\u2AB0\u0338' }, + '⋡': { 'codepoints': [0x022E1], 'characters': '\u22E1' }, + '≿̸': { 'codepoints': [0x0227F, 0x00338], 'characters': '\u227F\u0338' }, + '⊃⃒': { 'codepoints': [0x02283, 0x020D2], 'characters': '\u2283\u20D2' }, + '⊉': { 'codepoints': [0x02289], 'characters': '\u2289' }, + '≁': { 'codepoints': [0x02241], 'characters': '\u2241' }, + '≄': { 'codepoints': [0x02244], 'characters': '\u2244' }, + '≇': { 'codepoints': [0x02247], 'characters': '\u2247' }, + '≉': { 'codepoints': [0x02249], 'characters': '\u2249' }, + '∤': { 'codepoints': [0x02224], 'characters': '\u2224' }, + '𝒩': { 'codepoints': [0x1D4A9], 'characters': '\uD835\uDCA9' }, + 'Ñ': { 'codepoints': [0x000D1], 'characters': '\xD1' }, + 'Ñ': { 'codepoints': [0x000D1], 'characters': '\xD1' }, + 'Ν': { 'codepoints': [0x0039D], 'characters': '\u039D' }, + 'Œ': { 'codepoints': [0x00152], 'characters': '\u0152' }, + 'Ó': { 'codepoints': [0x000D3], 'characters': '\xD3' }, + 'Ó': { 'codepoints': [0x000D3], 'characters': '\xD3' }, + 'Ô': { 'codepoints': [0x000D4], 'characters': '\xD4' }, + 'Ô': { 'codepoints': [0x000D4], 'characters': '\xD4' }, + 'О': { 'codepoints': [0x0041E], 'characters': '\u041E' }, + 'Ő': { 'codepoints': [0x00150], 'characters': '\u0150' }, + '𝔒': { 'codepoints': [0x1D512], 'characters': '\uD835\uDD12' }, + 'Ò': { 'codepoints': [0x000D2], 'characters': '\xD2' }, + 'Ò': { 'codepoints': [0x000D2], 'characters': '\xD2' }, + 'Ō': { 'codepoints': [0x0014C], 'characters': '\u014C' }, + 'Ω': { 'codepoints': [0x003A9], 'characters': '\u03A9' }, + 'Ο': { 'codepoints': [0x0039F], 'characters': '\u039F' }, + '𝕆': { 'codepoints': [0x1D546], 'characters': '\uD835\uDD46' }, + '“': { 'codepoints': [0x0201C], 'characters': '\u201C' }, + '‘': { 'codepoints': [0x02018], 'characters': '\u2018' }, + '⩔': { 'codepoints': [0x02A54], 'characters': '\u2A54' }, + '𝒪': { 'codepoints': [0x1D4AA], 'characters': '\uD835\uDCAA' }, + 'Ø': { 'codepoints': [0x000D8], 'characters': '\xD8' }, + 'Ø': { 'codepoints': [0x000D8], 'characters': '\xD8' }, + 'Õ': { 'codepoints': [0x000D5], 'characters': '\xD5' }, + 'Õ': { 'codepoints': [0x000D5], 'characters': '\xD5' }, + '⨷': { 'codepoints': [0x02A37], 'characters': '\u2A37' }, + 'Ö': { 'codepoints': [0x000D6], 'characters': '\xD6' }, + 'Ö': { 'codepoints': [0x000D6], 'characters': '\xD6' }, + '‾': { 'codepoints': [0x0203E], 'characters': '\u203E' }, + '⏞': { 'codepoints': [0x023DE], 'characters': '\u23DE' }, + '⎴': { 'codepoints': [0x023B4], 'characters': '\u23B4' }, + '⏜': { 'codepoints': [0x023DC], 'characters': '\u23DC' }, + '∂': { 'codepoints': [0x02202], 'characters': '\u2202' }, + 'П': { 'codepoints': [0x0041F], 'characters': '\u041F' }, + '𝔓': { 'codepoints': [0x1D513], 'characters': '\uD835\uDD13' }, + 'Φ': { 'codepoints': [0x003A6], 'characters': '\u03A6' }, + 'Π': { 'codepoints': [0x003A0], 'characters': '\u03A0' }, + '±': { 'codepoints': [0x000B1], 'characters': '\xB1' }, + 'ℌ': { 'codepoints': [0x0210C], 'characters': '\u210C' }, + 'ℙ': { 'codepoints': [0x02119], 'characters': '\u2119' }, + '⪻': { 'codepoints': [0x02ABB], 'characters': '\u2ABB' }, + '≺': { 'codepoints': [0x0227A], 'characters': '\u227A' }, + '⪯': { 'codepoints': [0x02AAF], 'characters': '\u2AAF' }, + '≼': { 'codepoints': [0x0227C], 'characters': '\u227C' }, + '≾': { 'codepoints': [0x0227E], 'characters': '\u227E' }, + '″': { 'codepoints': [0x02033], 'characters': '\u2033' }, + '∏': { 'codepoints': [0x0220F], 'characters': '\u220F' }, + '∷': { 'codepoints': [0x02237], 'characters': '\u2237' }, + '∝': { 'codepoints': [0x0221D], 'characters': '\u221D' }, + '𝒫': { 'codepoints': [0x1D4AB], 'characters': '\uD835\uDCAB' }, + 'Ψ': { 'codepoints': [0x003A8], 'characters': '\u03A8' }, + '"': { 'codepoints': [0x00022], 'characters': '\x22' }, + '"': { 'codepoints': [0x00022], 'characters': '\x22' }, + '𝔔': { 'codepoints': [0x1D514], 'characters': '\uD835\uDD14' }, + 'ℚ': { 'codepoints': [0x0211A], 'characters': '\u211A' }, + '𝒬': { 'codepoints': [0x1D4AC], 'characters': '\uD835\uDCAC' }, + '⤐': { 'codepoints': [0x02910], 'characters': '\u2910' }, + '®': { 'codepoints': [0x000AE], 'characters': '\xAE' }, + '®': { 'codepoints': [0x000AE], 'characters': '\xAE' }, + 'Ŕ': { 'codepoints': [0x00154], 'characters': '\u0154' }, + '⟫': { 'codepoints': [0x027EB], 'characters': '\u27EB' }, + '↠': { 'codepoints': [0x021A0], 'characters': '\u21A0' }, + '⤖': { 'codepoints': [0x02916], 'characters': '\u2916' }, + 'Ř': { 'codepoints': [0x00158], 'characters': '\u0158' }, + 'Ŗ': { 'codepoints': [0x00156], 'characters': '\u0156' }, + 'Р': { 'codepoints': [0x00420], 'characters': '\u0420' }, + 'ℜ': { 'codepoints': [0x0211C], 'characters': '\u211C' }, + '∋': { 'codepoints': [0x0220B], 'characters': '\u220B' }, + '⇋': { 'codepoints': [0x021CB], 'characters': '\u21CB' }, + '⥯': { 'codepoints': [0x0296F], 'characters': '\u296F' }, + 'ℜ': { 'codepoints': [0x0211C], 'characters': '\u211C' }, + 'Ρ': { 'codepoints': [0x003A1], 'characters': '\u03A1' }, + '⟩': { 'codepoints': [0x027E9], 'characters': '\u27E9' }, + '→': { 'codepoints': [0x02192], 'characters': '\u2192' }, + '⇥': { 'codepoints': [0x021E5], 'characters': '\u21E5' }, + '⇄': { 'codepoints': [0x021C4], 'characters': '\u21C4' }, + '⌉': { 'codepoints': [0x02309], 'characters': '\u2309' }, + '⟧': { 'codepoints': [0x027E7], 'characters': '\u27E7' }, + '⥝': { 'codepoints': [0x0295D], 'characters': '\u295D' }, + '⇂': { 'codepoints': [0x021C2], 'characters': '\u21C2' }, + '⥕': { 'codepoints': [0x02955], 'characters': '\u2955' }, + '⌋': { 'codepoints': [0x0230B], 'characters': '\u230B' }, + '⊢': { 'codepoints': [0x022A2], 'characters': '\u22A2' }, + '↦': { 'codepoints': [0x021A6], 'characters': '\u21A6' }, + '⥛': { 'codepoints': [0x0295B], 'characters': '\u295B' }, + '⊳': { 'codepoints': [0x022B3], 'characters': '\u22B3' }, + '⧐': { 'codepoints': [0x029D0], 'characters': '\u29D0' }, + '⊵': { 'codepoints': [0x022B5], 'characters': '\u22B5' }, + '⥏': { 'codepoints': [0x0294F], 'characters': '\u294F' }, + '⥜': { 'codepoints': [0x0295C], 'characters': '\u295C' }, + '↾': { 'codepoints': [0x021BE], 'characters': '\u21BE' }, + '⥔': { 'codepoints': [0x02954], 'characters': '\u2954' }, + '⇀': { 'codepoints': [0x021C0], 'characters': '\u21C0' }, + '⥓': { 'codepoints': [0x02953], 'characters': '\u2953' }, + '⇒': { 'codepoints': [0x021D2], 'characters': '\u21D2' }, + 'ℝ': { 'codepoints': [0x0211D], 'characters': '\u211D' }, + '⥰': { 'codepoints': [0x02970], 'characters': '\u2970' }, + '⇛': { 'codepoints': [0x021DB], 'characters': '\u21DB' }, + 'ℛ': { 'codepoints': [0x0211B], 'characters': '\u211B' }, + '↱': { 'codepoints': [0x021B1], 'characters': '\u21B1' }, + '⧴': { 'codepoints': [0x029F4], 'characters': '\u29F4' }, + 'Щ': { 'codepoints': [0x00429], 'characters': '\u0429' }, + 'Ш': { 'codepoints': [0x00428], 'characters': '\u0428' }, + 'Ь': { 'codepoints': [0x0042C], 'characters': '\u042C' }, + 'Ś': { 'codepoints': [0x0015A], 'characters': '\u015A' }, + '⪼': { 'codepoints': [0x02ABC], 'characters': '\u2ABC' }, + 'Š': { 'codepoints': [0x00160], 'characters': '\u0160' }, + 'Ş': { 'codepoints': [0x0015E], 'characters': '\u015E' }, + 'Ŝ': { 'codepoints': [0x0015C], 'characters': '\u015C' }, + 'С': { 'codepoints': [0x00421], 'characters': '\u0421' }, + '𝔖': { 'codepoints': [0x1D516], 'characters': '\uD835\uDD16' }, + '↓': { 'codepoints': [0x02193], 'characters': '\u2193' }, + '←': { 'codepoints': [0x02190], 'characters': '\u2190' }, + '→': { 'codepoints': [0x02192], 'characters': '\u2192' }, + '↑': { 'codepoints': [0x02191], 'characters': '\u2191' }, + 'Σ': { 'codepoints': [0x003A3], 'characters': '\u03A3' }, + '∘': { 'codepoints': [0x02218], 'characters': '\u2218' }, + '𝕊': { 'codepoints': [0x1D54A], 'characters': '\uD835\uDD4A' }, + '√': { 'codepoints': [0x0221A], 'characters': '\u221A' }, + '□': { 'codepoints': [0x025A1], 'characters': '\u25A1' }, + '⊓': { 'codepoints': [0x02293], 'characters': '\u2293' }, + '⊏': { 'codepoints': [0x0228F], 'characters': '\u228F' }, + '⊑': { 'codepoints': [0x02291], 'characters': '\u2291' }, + '⊐': { 'codepoints': [0x02290], 'characters': '\u2290' }, + '⊒': { 'codepoints': [0x02292], 'characters': '\u2292' }, + '⊔': { 'codepoints': [0x02294], 'characters': '\u2294' }, + '𝒮': { 'codepoints': [0x1D4AE], 'characters': '\uD835\uDCAE' }, + '⋆': { 'codepoints': [0x022C6], 'characters': '\u22C6' }, + '⋐': { 'codepoints': [0x022D0], 'characters': '\u22D0' }, + '⋐': { 'codepoints': [0x022D0], 'characters': '\u22D0' }, + '⊆': { 'codepoints': [0x02286], 'characters': '\u2286' }, + '≻': { 'codepoints': [0x0227B], 'characters': '\u227B' }, + '⪰': { 'codepoints': [0x02AB0], 'characters': '\u2AB0' }, + '≽': { 'codepoints': [0x0227D], 'characters': '\u227D' }, + '≿': { 'codepoints': [0x0227F], 'characters': '\u227F' }, + '∋': { 'codepoints': [0x0220B], 'characters': '\u220B' }, + '∑': { 'codepoints': [0x02211], 'characters': '\u2211' }, + '⋑': { 'codepoints': [0x022D1], 'characters': '\u22D1' }, + '⊃': { 'codepoints': [0x02283], 'characters': '\u2283' }, + '⊇': { 'codepoints': [0x02287], 'characters': '\u2287' }, + '⋑': { 'codepoints': [0x022D1], 'characters': '\u22D1' }, + 'Þ': { 'codepoints': [0x000DE], 'characters': '\xDE' }, + 'Þ': { 'codepoints': [0x000DE], 'characters': '\xDE' }, + '™': { 'codepoints': [0x02122], 'characters': '\u2122' }, + 'Ћ': { 'codepoints': [0x0040B], 'characters': '\u040B' }, + 'Ц': { 'codepoints': [0x00426], 'characters': '\u0426' }, + ' ': { 'codepoints': [0x00009], 'characters': '\x09' }, + 'Τ': { 'codepoints': [0x003A4], 'characters': '\u03A4' }, + 'Ť': { 'codepoints': [0x00164], 'characters': '\u0164' }, + 'Ţ': { 'codepoints': [0x00162], 'characters': '\u0162' }, + 'Т': { 'codepoints': [0x00422], 'characters': '\u0422' }, + '𝔗': { 'codepoints': [0x1D517], 'characters': '\uD835\uDD17' }, + '∴': { 'codepoints': [0x02234], 'characters': '\u2234' }, + 'Θ': { 'codepoints': [0x00398], 'characters': '\u0398' }, + '  ': { 'codepoints': [0x0205F, 0x0200A], 'characters': '\u205F\u200A' }, + ' ': { 'codepoints': [0x02009], 'characters': '\u2009' }, + '∼': { 'codepoints': [0x0223C], 'characters': '\u223C' }, + '≃': { 'codepoints': [0x02243], 'characters': '\u2243' }, + '≅': { 'codepoints': [0x02245], 'characters': '\u2245' }, + '≈': { 'codepoints': [0x02248], 'characters': '\u2248' }, + '𝕋': { 'codepoints': [0x1D54B], 'characters': '\uD835\uDD4B' }, + '⃛': { 'codepoints': [0x020DB], 'characters': '\u20DB' }, + '𝒯': { 'codepoints': [0x1D4AF], 'characters': '\uD835\uDCAF' }, + 'Ŧ': { 'codepoints': [0x00166], 'characters': '\u0166' }, + 'Ú': { 'codepoints': [0x000DA], 'characters': '\xDA' }, + 'Ú': { 'codepoints': [0x000DA], 'characters': '\xDA' }, + '↟': { 'codepoints': [0x0219F], 'characters': '\u219F' }, + '⥉': { 'codepoints': [0x02949], 'characters': '\u2949' }, + 'Ў': { 'codepoints': [0x0040E], 'characters': '\u040E' }, + 'Ŭ': { 'codepoints': [0x0016C], 'characters': '\u016C' }, + 'Û': { 'codepoints': [0x000DB], 'characters': '\xDB' }, + 'Û': { 'codepoints': [0x000DB], 'characters': '\xDB' }, + 'У': { 'codepoints': [0x00423], 'characters': '\u0423' }, + 'Ű': { 'codepoints': [0x00170], 'characters': '\u0170' }, + '𝔘': { 'codepoints': [0x1D518], 'characters': '\uD835\uDD18' }, + 'Ù': { 'codepoints': [0x000D9], 'characters': '\xD9' }, + 'Ù': { 'codepoints': [0x000D9], 'characters': '\xD9' }, + 'Ū': { 'codepoints': [0x0016A], 'characters': '\u016A' }, + '_': { 'codepoints': [0x0005F], 'characters': '\x5F' }, + '⏟': { 'codepoints': [0x023DF], 'characters': '\u23DF' }, + '⎵': { 'codepoints': [0x023B5], 'characters': '\u23B5' }, + '⏝': { 'codepoints': [0x023DD], 'characters': '\u23DD' }, + '⋃': { 'codepoints': [0x022C3], 'characters': '\u22C3' }, + '⊎': { 'codepoints': [0x0228E], 'characters': '\u228E' }, + 'Ų': { 'codepoints': [0x00172], 'characters': '\u0172' }, + '𝕌': { 'codepoints': [0x1D54C], 'characters': '\uD835\uDD4C' }, + '↑': { 'codepoints': [0x02191], 'characters': '\u2191' }, + '⤒': { 'codepoints': [0x02912], 'characters': '\u2912' }, + '⇅': { 'codepoints': [0x021C5], 'characters': '\u21C5' }, + '↕': { 'codepoints': [0x02195], 'characters': '\u2195' }, + '⥮': { 'codepoints': [0x0296E], 'characters': '\u296E' }, + '⊥': { 'codepoints': [0x022A5], 'characters': '\u22A5' }, + '↥': { 'codepoints': [0x021A5], 'characters': '\u21A5' }, + '⇑': { 'codepoints': [0x021D1], 'characters': '\u21D1' }, + '⇕': { 'codepoints': [0x021D5], 'characters': '\u21D5' }, + '↖': { 'codepoints': [0x02196], 'characters': '\u2196' }, + '↗': { 'codepoints': [0x02197], 'characters': '\u2197' }, + 'ϒ': { 'codepoints': [0x003D2], 'characters': '\u03D2' }, + 'Υ': { 'codepoints': [0x003A5], 'characters': '\u03A5' }, + 'Ů': { 'codepoints': [0x0016E], 'characters': '\u016E' }, + '𝒰': { 'codepoints': [0x1D4B0], 'characters': '\uD835\uDCB0' }, + 'Ũ': { 'codepoints': [0x00168], 'characters': '\u0168' }, + 'Ü': { 'codepoints': [0x000DC], 'characters': '\xDC' }, + 'Ü': { 'codepoints': [0x000DC], 'characters': '\xDC' }, + '⊫': { 'codepoints': [0x022AB], 'characters': '\u22AB' }, + '⫫': { 'codepoints': [0x02AEB], 'characters': '\u2AEB' }, + 'В': { 'codepoints': [0x00412], 'characters': '\u0412' }, + '⊩': { 'codepoints': [0x022A9], 'characters': '\u22A9' }, + '⫦': { 'codepoints': [0x02AE6], 'characters': '\u2AE6' }, + '⋁': { 'codepoints': [0x022C1], 'characters': '\u22C1' }, + '‖': { 'codepoints': [0x02016], 'characters': '\u2016' }, + '‖': { 'codepoints': [0x02016], 'characters': '\u2016' }, + '∣': { 'codepoints': [0x02223], 'characters': '\u2223' }, + '|': { 'codepoints': [0x0007C], 'characters': '\x7C' }, + '❘': { 'codepoints': [0x02758], 'characters': '\u2758' }, + '≀': { 'codepoints': [0x02240], 'characters': '\u2240' }, + ' ': { 'codepoints': [0x0200A], 'characters': '\u200A' }, + '𝔙': { 'codepoints': [0x1D519], 'characters': '\uD835\uDD19' }, + '𝕍': { 'codepoints': [0x1D54D], 'characters': '\uD835\uDD4D' }, + '𝒱': { 'codepoints': [0x1D4B1], 'characters': '\uD835\uDCB1' }, + '⊪': { 'codepoints': [0x022AA], 'characters': '\u22AA' }, + 'Ŵ': { 'codepoints': [0x00174], 'characters': '\u0174' }, + '⋀': { 'codepoints': [0x022C0], 'characters': '\u22C0' }, + '𝔚': { 'codepoints': [0x1D51A], 'characters': '\uD835\uDD1A' }, + '𝕎': { 'codepoints': [0x1D54E], 'characters': '\uD835\uDD4E' }, + '𝒲': { 'codepoints': [0x1D4B2], 'characters': '\uD835\uDCB2' }, + '𝔛': { 'codepoints': [0x1D51B], 'characters': '\uD835\uDD1B' }, + 'Ξ': { 'codepoints': [0x0039E], 'characters': '\u039E' }, + '𝕏': { 'codepoints': [0x1D54F], 'characters': '\uD835\uDD4F' }, + '𝒳': { 'codepoints': [0x1D4B3], 'characters': '\uD835\uDCB3' }, + 'Я': { 'codepoints': [0x0042F], 'characters': '\u042F' }, + 'Ї': { 'codepoints': [0x00407], 'characters': '\u0407' }, + 'Ю': { 'codepoints': [0x0042E], 'characters': '\u042E' }, + 'Ý': { 'codepoints': [0x000DD], 'characters': '\xDD' }, + 'Ý': { 'codepoints': [0x000DD], 'characters': '\xDD' }, + 'Ŷ': { 'codepoints': [0x00176], 'characters': '\u0176' }, + 'Ы': { 'codepoints': [0x0042B], 'characters': '\u042B' }, + '𝔜': { 'codepoints': [0x1D51C], 'characters': '\uD835\uDD1C' }, + '𝕐': { 'codepoints': [0x1D550], 'characters': '\uD835\uDD50' }, + '𝒴': { 'codepoints': [0x1D4B4], 'characters': '\uD835\uDCB4' }, + 'Ÿ': { 'codepoints': [0x00178], 'characters': '\u0178' }, + 'Ж': { 'codepoints': [0x00416], 'characters': '\u0416' }, + 'Ź': { 'codepoints': [0x00179], 'characters': '\u0179' }, + 'Ž': { 'codepoints': [0x0017D], 'characters': '\u017D' }, + 'З': { 'codepoints': [0x00417], 'characters': '\u0417' }, + 'Ż': { 'codepoints': [0x0017B], 'characters': '\u017B' }, + '​': { 'codepoints': [0x0200B], 'characters': '\u200B' }, + 'Ζ': { 'codepoints': [0x00396], 'characters': '\u0396' }, + 'ℨ': { 'codepoints': [0x02128], 'characters': '\u2128' }, + 'ℤ': { 'codepoints': [0x02124], 'characters': '\u2124' }, + '𝒵': { 'codepoints': [0x1D4B5], 'characters': '\uD835\uDCB5' }, + 'á': { 'codepoints': [0x000E1], 'characters': '\xE1' }, + 'á': { 'codepoints': [0x000E1], 'characters': '\xE1' }, + 'ă': { 'codepoints': [0x00103], 'characters': '\u0103' }, + '∾': { 'codepoints': [0x0223E], 'characters': '\u223E' }, + '∾̳': { 'codepoints': [0x0223E, 0x00333], 'characters': '\u223E\u0333' }, + '∿': { 'codepoints': [0x0223F], 'characters': '\u223F' }, + 'â': { 'codepoints': [0x000E2], 'characters': '\xE2' }, + 'â': { 'codepoints': [0x000E2], 'characters': '\xE2' }, + '´': { 'codepoints': [0x000B4], 'characters': '\xB4' }, + '´': { 'codepoints': [0x000B4], 'characters': '\xB4' }, + 'а': { 'codepoints': [0x00430], 'characters': '\u0430' }, + 'æ': { 'codepoints': [0x000E6], 'characters': '\xE6' }, + 'æ': { 'codepoints': [0x000E6], 'characters': '\xE6' }, + '⁡': { 'codepoints': [0x02061], 'characters': '\u2061' }, + '𝔞': { 'codepoints': [0x1D51E], 'characters': '\uD835\uDD1E' }, + 'à': { 'codepoints': [0x000E0], 'characters': '\xE0' }, + 'à': { 'codepoints': [0x000E0], 'characters': '\xE0' }, + 'ℵ': { 'codepoints': [0x02135], 'characters': '\u2135' }, + 'ℵ': { 'codepoints': [0x02135], 'characters': '\u2135' }, + 'α': { 'codepoints': [0x003B1], 'characters': '\u03B1' }, + 'ā': { 'codepoints': [0x00101], 'characters': '\u0101' }, + '⨿': { 'codepoints': [0x02A3F], 'characters': '\u2A3F' }, + '&': { 'codepoints': [0x00026], 'characters': '\x26' }, + '&': { 'codepoints': [0x00026], 'characters': '\x26' }, + '∧': { 'codepoints': [0x02227], 'characters': '\u2227' }, + '⩕': { 'codepoints': [0x02A55], 'characters': '\u2A55' }, + '⩜': { 'codepoints': [0x02A5C], 'characters': '\u2A5C' }, + '⩘': { 'codepoints': [0x02A58], 'characters': '\u2A58' }, + '⩚': { 'codepoints': [0x02A5A], 'characters': '\u2A5A' }, + '∠': { 'codepoints': [0x02220], 'characters': '\u2220' }, + '⦤': { 'codepoints': [0x029A4], 'characters': '\u29A4' }, + '∠': { 'codepoints': [0x02220], 'characters': '\u2220' }, + '∡': { 'codepoints': [0x02221], 'characters': '\u2221' }, + '⦨': { 'codepoints': [0x029A8], 'characters': '\u29A8' }, + '⦩': { 'codepoints': [0x029A9], 'characters': '\u29A9' }, + '⦪': { 'codepoints': [0x029AA], 'characters': '\u29AA' }, + '⦫': { 'codepoints': [0x029AB], 'characters': '\u29AB' }, + '⦬': { 'codepoints': [0x029AC], 'characters': '\u29AC' }, + '⦭': { 'codepoints': [0x029AD], 'characters': '\u29AD' }, + '⦮': { 'codepoints': [0x029AE], 'characters': '\u29AE' }, + '⦯': { 'codepoints': [0x029AF], 'characters': '\u29AF' }, + '∟': { 'codepoints': [0x0221F], 'characters': '\u221F' }, + '⊾': { 'codepoints': [0x022BE], 'characters': '\u22BE' }, + '⦝': { 'codepoints': [0x0299D], 'characters': '\u299D' }, + '∢': { 'codepoints': [0x02222], 'characters': '\u2222' }, + 'Å': { 'codepoints': [0x000C5], 'characters': '\xC5' }, + '⍼': { 'codepoints': [0x0237C], 'characters': '\u237C' }, + 'ą': { 'codepoints': [0x00105], 'characters': '\u0105' }, + '𝕒': { 'codepoints': [0x1D552], 'characters': '\uD835\uDD52' }, + '≈': { 'codepoints': [0x02248], 'characters': '\u2248' }, + '⩰': { 'codepoints': [0x02A70], 'characters': '\u2A70' }, + '⩯': { 'codepoints': [0x02A6F], 'characters': '\u2A6F' }, + '≊': { 'codepoints': [0x0224A], 'characters': '\u224A' }, + '≋': { 'codepoints': [0x0224B], 'characters': '\u224B' }, + ''': { 'codepoints': [0x00027], 'characters': '\x27' }, + '≈': { 'codepoints': [0x02248], 'characters': '\u2248' }, + '≊': { 'codepoints': [0x0224A], 'characters': '\u224A' }, + 'å': { 'codepoints': [0x000E5], 'characters': '\xE5' }, + 'å': { 'codepoints': [0x000E5], 'characters': '\xE5' }, + '𝒶': { 'codepoints': [0x1D4B6], 'characters': '\uD835\uDCB6' }, + '*': { 'codepoints': [0x0002A], 'characters': '\x2A' }, + '≈': { 'codepoints': [0x02248], 'characters': '\u2248' }, + '≍': { 'codepoints': [0x0224D], 'characters': '\u224D' }, + 'ã': { 'codepoints': [0x000E3], 'characters': '\xE3' }, + 'ã': { 'codepoints': [0x000E3], 'characters': '\xE3' }, + 'ä': { 'codepoints': [0x000E4], 'characters': '\xE4' }, + 'ä': { 'codepoints': [0x000E4], 'characters': '\xE4' }, + '∳': { 'codepoints': [0x02233], 'characters': '\u2233' }, + '⨑': { 'codepoints': [0x02A11], 'characters': '\u2A11' }, + '⫭': { 'codepoints': [0x02AED], 'characters': '\u2AED' }, + '≌': { 'codepoints': [0x0224C], 'characters': '\u224C' }, + '϶': { 'codepoints': [0x003F6], 'characters': '\u03F6' }, + '‵': { 'codepoints': [0x02035], 'characters': '\u2035' }, + '∽': { 'codepoints': [0x0223D], 'characters': '\u223D' }, + '⋍': { 'codepoints': [0x022CD], 'characters': '\u22CD' }, + '⊽': { 'codepoints': [0x022BD], 'characters': '\u22BD' }, + '⌅': { 'codepoints': [0x02305], 'characters': '\u2305' }, + '⌅': { 'codepoints': [0x02305], 'characters': '\u2305' }, + '⎵': { 'codepoints': [0x023B5], 'characters': '\u23B5' }, + '⎶': { 'codepoints': [0x023B6], 'characters': '\u23B6' }, + '≌': { 'codepoints': [0x0224C], 'characters': '\u224C' }, + 'б': { 'codepoints': [0x00431], 'characters': '\u0431' }, + '„': { 'codepoints': [0x0201E], 'characters': '\u201E' }, + '∵': { 'codepoints': [0x02235], 'characters': '\u2235' }, + '∵': { 'codepoints': [0x02235], 'characters': '\u2235' }, + '⦰': { 'codepoints': [0x029B0], 'characters': '\u29B0' }, + '϶': { 'codepoints': [0x003F6], 'characters': '\u03F6' }, + 'ℬ': { 'codepoints': [0x0212C], 'characters': '\u212C' }, + 'β': { 'codepoints': [0x003B2], 'characters': '\u03B2' }, + 'ℶ': { 'codepoints': [0x02136], 'characters': '\u2136' }, + '≬': { 'codepoints': [0x0226C], 'characters': '\u226C' }, + '𝔟': { 'codepoints': [0x1D51F], 'characters': '\uD835\uDD1F' }, + '⋂': { 'codepoints': [0x022C2], 'characters': '\u22C2' }, + '◯': { 'codepoints': [0x025EF], 'characters': '\u25EF' }, + '⋃': { 'codepoints': [0x022C3], 'characters': '\u22C3' }, + '⨀': { 'codepoints': [0x02A00], 'characters': '\u2A00' }, + '⨁': { 'codepoints': [0x02A01], 'characters': '\u2A01' }, + '⨂': { 'codepoints': [0x02A02], 'characters': '\u2A02' }, + '⨆': { 'codepoints': [0x02A06], 'characters': '\u2A06' }, + '★': { 'codepoints': [0x02605], 'characters': '\u2605' }, + '▽': { 'codepoints': [0x025BD], 'characters': '\u25BD' }, + '△': { 'codepoints': [0x025B3], 'characters': '\u25B3' }, + '⨄': { 'codepoints': [0x02A04], 'characters': '\u2A04' }, + '⋁': { 'codepoints': [0x022C1], 'characters': '\u22C1' }, + '⋀': { 'codepoints': [0x022C0], 'characters': '\u22C0' }, + '⤍': { 'codepoints': [0x0290D], 'characters': '\u290D' }, + '⧫': { 'codepoints': [0x029EB], 'characters': '\u29EB' }, + '▪': { 'codepoints': [0x025AA], 'characters': '\u25AA' }, + '▴': { 'codepoints': [0x025B4], 'characters': '\u25B4' }, + '▾': { 'codepoints': [0x025BE], 'characters': '\u25BE' }, + '◂': { 'codepoints': [0x025C2], 'characters': '\u25C2' }, + '▸': { 'codepoints': [0x025B8], 'characters': '\u25B8' }, + '␣': { 'codepoints': [0x02423], 'characters': '\u2423' }, + '▒': { 'codepoints': [0x02592], 'characters': '\u2592' }, + '░': { 'codepoints': [0x02591], 'characters': '\u2591' }, + '▓': { 'codepoints': [0x02593], 'characters': '\u2593' }, + '█': { 'codepoints': [0x02588], 'characters': '\u2588' }, + '=⃥': { 'codepoints': [0x0003D, 0x020E5], 'characters': '\x3D\u20E5' }, + '≡⃥': { 'codepoints': [0x02261, 0x020E5], 'characters': '\u2261\u20E5' }, + '⌐': { 'codepoints': [0x02310], 'characters': '\u2310' }, + '𝕓': { 'codepoints': [0x1D553], 'characters': '\uD835\uDD53' }, + '⊥': { 'codepoints': [0x022A5], 'characters': '\u22A5' }, + '⊥': { 'codepoints': [0x022A5], 'characters': '\u22A5' }, + '⋈': { 'codepoints': [0x022C8], 'characters': '\u22C8' }, + '╗': { 'codepoints': [0x02557], 'characters': '\u2557' }, + '╔': { 'codepoints': [0x02554], 'characters': '\u2554' }, + '╖': { 'codepoints': [0x02556], 'characters': '\u2556' }, + '╓': { 'codepoints': [0x02553], 'characters': '\u2553' }, + '═': { 'codepoints': [0x02550], 'characters': '\u2550' }, + '╦': { 'codepoints': [0x02566], 'characters': '\u2566' }, + '╩': { 'codepoints': [0x02569], 'characters': '\u2569' }, + '╤': { 'codepoints': [0x02564], 'characters': '\u2564' }, + '╧': { 'codepoints': [0x02567], 'characters': '\u2567' }, + '╝': { 'codepoints': [0x0255D], 'characters': '\u255D' }, + '╚': { 'codepoints': [0x0255A], 'characters': '\u255A' }, + '╜': { 'codepoints': [0x0255C], 'characters': '\u255C' }, + '╙': { 'codepoints': [0x02559], 'characters': '\u2559' }, + '║': { 'codepoints': [0x02551], 'characters': '\u2551' }, + '╬': { 'codepoints': [0x0256C], 'characters': '\u256C' }, + '╣': { 'codepoints': [0x02563], 'characters': '\u2563' }, + '╠': { 'codepoints': [0x02560], 'characters': '\u2560' }, + '╫': { 'codepoints': [0x0256B], 'characters': '\u256B' }, + '╢': { 'codepoints': [0x02562], 'characters': '\u2562' }, + '╟': { 'codepoints': [0x0255F], 'characters': '\u255F' }, + '⧉': { 'codepoints': [0x029C9], 'characters': '\u29C9' }, + '╕': { 'codepoints': [0x02555], 'characters': '\u2555' }, + '╒': { 'codepoints': [0x02552], 'characters': '\u2552' }, + '┐': { 'codepoints': [0x02510], 'characters': '\u2510' }, + '┌': { 'codepoints': [0x0250C], 'characters': '\u250C' }, + '─': { 'codepoints': [0x02500], 'characters': '\u2500' }, + '╥': { 'codepoints': [0x02565], 'characters': '\u2565' }, + '╨': { 'codepoints': [0x02568], 'characters': '\u2568' }, + '┬': { 'codepoints': [0x0252C], 'characters': '\u252C' }, + '┴': { 'codepoints': [0x02534], 'characters': '\u2534' }, + '⊟': { 'codepoints': [0x0229F], 'characters': '\u229F' }, + '⊞': { 'codepoints': [0x0229E], 'characters': '\u229E' }, + '⊠': { 'codepoints': [0x022A0], 'characters': '\u22A0' }, + '╛': { 'codepoints': [0x0255B], 'characters': '\u255B' }, + '╘': { 'codepoints': [0x02558], 'characters': '\u2558' }, + '┘': { 'codepoints': [0x02518], 'characters': '\u2518' }, + '└': { 'codepoints': [0x02514], 'characters': '\u2514' }, + '│': { 'codepoints': [0x02502], 'characters': '\u2502' }, + '╪': { 'codepoints': [0x0256A], 'characters': '\u256A' }, + '╡': { 'codepoints': [0x02561], 'characters': '\u2561' }, + '╞': { 'codepoints': [0x0255E], 'characters': '\u255E' }, + '┼': { 'codepoints': [0x0253C], 'characters': '\u253C' }, + '┤': { 'codepoints': [0x02524], 'characters': '\u2524' }, + '├': { 'codepoints': [0x0251C], 'characters': '\u251C' }, + '‵': { 'codepoints': [0x02035], 'characters': '\u2035' }, + '˘': { 'codepoints': [0x002D8], 'characters': '\u02D8' }, + '¦': { 'codepoints': [0x000A6], 'characters': '\xA6' }, + '¦': { 'codepoints': [0x000A6], 'characters': '\xA6' }, + '𝒷': { 'codepoints': [0x1D4B7], 'characters': '\uD835\uDCB7' }, + '⁏': { 'codepoints': [0x0204F], 'characters': '\u204F' }, + '∽': { 'codepoints': [0x0223D], 'characters': '\u223D' }, + '⋍': { 'codepoints': [0x022CD], 'characters': '\u22CD' }, + '\': { 'codepoints': [0x0005C], 'characters': '\x5C' }, + '⧅': { 'codepoints': [0x029C5], 'characters': '\u29C5' }, + '⟈': { 'codepoints': [0x027C8], 'characters': '\u27C8' }, + '•': { 'codepoints': [0x02022], 'characters': '\u2022' }, + '•': { 'codepoints': [0x02022], 'characters': '\u2022' }, + '≎': { 'codepoints': [0x0224E], 'characters': '\u224E' }, + '⪮': { 'codepoints': [0x02AAE], 'characters': '\u2AAE' }, + '≏': { 'codepoints': [0x0224F], 'characters': '\u224F' }, + '≏': { 'codepoints': [0x0224F], 'characters': '\u224F' }, + 'ć': { 'codepoints': [0x00107], 'characters': '\u0107' }, + '∩': { 'codepoints': [0x02229], 'characters': '\u2229' }, + '⩄': { 'codepoints': [0x02A44], 'characters': '\u2A44' }, + '⩉': { 'codepoints': [0x02A49], 'characters': '\u2A49' }, + '⩋': { 'codepoints': [0x02A4B], 'characters': '\u2A4B' }, + '⩇': { 'codepoints': [0x02A47], 'characters': '\u2A47' }, + '⩀': { 'codepoints': [0x02A40], 'characters': '\u2A40' }, + '∩︀': { 'codepoints': [0x02229, 0x0FE00], 'characters': '\u2229\uFE00' }, + '⁁': { 'codepoints': [0x02041], 'characters': '\u2041' }, + 'ˇ': { 'codepoints': [0x002C7], 'characters': '\u02C7' }, + '⩍': { 'codepoints': [0x02A4D], 'characters': '\u2A4D' }, + 'č': { 'codepoints': [0x0010D], 'characters': '\u010D' }, + 'ç': { 'codepoints': [0x000E7], 'characters': '\xE7' }, + 'ç': { 'codepoints': [0x000E7], 'characters': '\xE7' }, + 'ĉ': { 'codepoints': [0x00109], 'characters': '\u0109' }, + '⩌': { 'codepoints': [0x02A4C], 'characters': '\u2A4C' }, + '⩐': { 'codepoints': [0x02A50], 'characters': '\u2A50' }, + 'ċ': { 'codepoints': [0x0010B], 'characters': '\u010B' }, + '¸': { 'codepoints': [0x000B8], 'characters': '\xB8' }, + '¸': { 'codepoints': [0x000B8], 'characters': '\xB8' }, + '⦲': { 'codepoints': [0x029B2], 'characters': '\u29B2' }, + '¢': { 'codepoints': [0x000A2], 'characters': '\xA2' }, + '¢': { 'codepoints': [0x000A2], 'characters': '\xA2' }, + '·': { 'codepoints': [0x000B7], 'characters': '\xB7' }, + '𝔠': { 'codepoints': [0x1D520], 'characters': '\uD835\uDD20' }, + 'ч': { 'codepoints': [0x00447], 'characters': '\u0447' }, + '✓': { 'codepoints': [0x02713], 'characters': '\u2713' }, + '✓': { 'codepoints': [0x02713], 'characters': '\u2713' }, + 'χ': { 'codepoints': [0x003C7], 'characters': '\u03C7' }, + '○': { 'codepoints': [0x025CB], 'characters': '\u25CB' }, + '⧃': { 'codepoints': [0x029C3], 'characters': '\u29C3' }, + 'ˆ': { 'codepoints': [0x002C6], 'characters': '\u02C6' }, + '≗': { 'codepoints': [0x02257], 'characters': '\u2257' }, + '↺': { 'codepoints': [0x021BA], 'characters': '\u21BA' }, + '↻': { 'codepoints': [0x021BB], 'characters': '\u21BB' }, + '®': { 'codepoints': [0x000AE], 'characters': '\xAE' }, + 'Ⓢ': { 'codepoints': [0x024C8], 'characters': '\u24C8' }, + '⊛': { 'codepoints': [0x0229B], 'characters': '\u229B' }, + '⊚': { 'codepoints': [0x0229A], 'characters': '\u229A' }, + '⊝': { 'codepoints': [0x0229D], 'characters': '\u229D' }, + '≗': { 'codepoints': [0x02257], 'characters': '\u2257' }, + '⨐': { 'codepoints': [0x02A10], 'characters': '\u2A10' }, + '⫯': { 'codepoints': [0x02AEF], 'characters': '\u2AEF' }, + '⧂': { 'codepoints': [0x029C2], 'characters': '\u29C2' }, + '♣': { 'codepoints': [0x02663], 'characters': '\u2663' }, + '♣': { 'codepoints': [0x02663], 'characters': '\u2663' }, + ':': { 'codepoints': [0x0003A], 'characters': '\x3A' }, + '≔': { 'codepoints': [0x02254], 'characters': '\u2254' }, + '≔': { 'codepoints': [0x02254], 'characters': '\u2254' }, + ',': { 'codepoints': [0x0002C], 'characters': '\x2C' }, + '@': { 'codepoints': [0x00040], 'characters': '\x40' }, + '∁': { 'codepoints': [0x02201], 'characters': '\u2201' }, + '∘': { 'codepoints': [0x02218], 'characters': '\u2218' }, + '∁': { 'codepoints': [0x02201], 'characters': '\u2201' }, + 'ℂ': { 'codepoints': [0x02102], 'characters': '\u2102' }, + '≅': { 'codepoints': [0x02245], 'characters': '\u2245' }, + '⩭': { 'codepoints': [0x02A6D], 'characters': '\u2A6D' }, + '∮': { 'codepoints': [0x0222E], 'characters': '\u222E' }, + '𝕔': { 'codepoints': [0x1D554], 'characters': '\uD835\uDD54' }, + '∐': { 'codepoints': [0x02210], 'characters': '\u2210' }, + '©': { 'codepoints': [0x000A9], 'characters': '\xA9' }, + '©': { 'codepoints': [0x000A9], 'characters': '\xA9' }, + '℗': { 'codepoints': [0x02117], 'characters': '\u2117' }, + '↵': { 'codepoints': [0x021B5], 'characters': '\u21B5' }, + '✗': { 'codepoints': [0x02717], 'characters': '\u2717' }, + '𝒸': { 'codepoints': [0x1D4B8], 'characters': '\uD835\uDCB8' }, + '⫏': { 'codepoints': [0x02ACF], 'characters': '\u2ACF' }, + '⫑': { 'codepoints': [0x02AD1], 'characters': '\u2AD1' }, + '⫐': { 'codepoints': [0x02AD0], 'characters': '\u2AD0' }, + '⫒': { 'codepoints': [0x02AD2], 'characters': '\u2AD2' }, + '⋯': { 'codepoints': [0x022EF], 'characters': '\u22EF' }, + '⤸': { 'codepoints': [0x02938], 'characters': '\u2938' }, + '⤵': { 'codepoints': [0x02935], 'characters': '\u2935' }, + '⋞': { 'codepoints': [0x022DE], 'characters': '\u22DE' }, + '⋟': { 'codepoints': [0x022DF], 'characters': '\u22DF' }, + '↶': { 'codepoints': [0x021B6], 'characters': '\u21B6' }, + '⤽': { 'codepoints': [0x0293D], 'characters': '\u293D' }, + '∪': { 'codepoints': [0x0222A], 'characters': '\u222A' }, + '⩈': { 'codepoints': [0x02A48], 'characters': '\u2A48' }, + '⩆': { 'codepoints': [0x02A46], 'characters': '\u2A46' }, + '⩊': { 'codepoints': [0x02A4A], 'characters': '\u2A4A' }, + '⊍': { 'codepoints': [0x0228D], 'characters': '\u228D' }, + '⩅': { 'codepoints': [0x02A45], 'characters': '\u2A45' }, + '∪︀': { 'codepoints': [0x0222A, 0x0FE00], 'characters': '\u222A\uFE00' }, + '↷': { 'codepoints': [0x021B7], 'characters': '\u21B7' }, + '⤼': { 'codepoints': [0x0293C], 'characters': '\u293C' }, + '⋞': { 'codepoints': [0x022DE], 'characters': '\u22DE' }, + '⋟': { 'codepoints': [0x022DF], 'characters': '\u22DF' }, + '⋎': { 'codepoints': [0x022CE], 'characters': '\u22CE' }, + '⋏': { 'codepoints': [0x022CF], 'characters': '\u22CF' }, + '¤': { 'codepoints': [0x000A4], 'characters': '\xA4' }, + '¤': { 'codepoints': [0x000A4], 'characters': '\xA4' }, + '↶': { 'codepoints': [0x021B6], 'characters': '\u21B6' }, + '↷': { 'codepoints': [0x021B7], 'characters': '\u21B7' }, + '⋎': { 'codepoints': [0x022CE], 'characters': '\u22CE' }, + '⋏': { 'codepoints': [0x022CF], 'characters': '\u22CF' }, + '∲': { 'codepoints': [0x02232], 'characters': '\u2232' }, + '∱': { 'codepoints': [0x02231], 'characters': '\u2231' }, + '⌭': { 'codepoints': [0x0232D], 'characters': '\u232D' }, + '⇓': { 'codepoints': [0x021D3], 'characters': '\u21D3' }, + '⥥': { 'codepoints': [0x02965], 'characters': '\u2965' }, + '†': { 'codepoints': [0x02020], 'characters': '\u2020' }, + 'ℸ': { 'codepoints': [0x02138], 'characters': '\u2138' }, + '↓': { 'codepoints': [0x02193], 'characters': '\u2193' }, + '‐': { 'codepoints': [0x02010], 'characters': '\u2010' }, + '⊣': { 'codepoints': [0x022A3], 'characters': '\u22A3' }, + '⤏': { 'codepoints': [0x0290F], 'characters': '\u290F' }, + '˝': { 'codepoints': [0x002DD], 'characters': '\u02DD' }, + 'ď': { 'codepoints': [0x0010F], 'characters': '\u010F' }, + 'д': { 'codepoints': [0x00434], 'characters': '\u0434' }, + 'ⅆ': { 'codepoints': [0x02146], 'characters': '\u2146' }, + '‡': { 'codepoints': [0x02021], 'characters': '\u2021' }, + '⇊': { 'codepoints': [0x021CA], 'characters': '\u21CA' }, + '⩷': { 'codepoints': [0x02A77], 'characters': '\u2A77' }, + '°': { 'codepoints': [0x000B0], 'characters': '\xB0' }, + '°': { 'codepoints': [0x000B0], 'characters': '\xB0' }, + 'δ': { 'codepoints': [0x003B4], 'characters': '\u03B4' }, + '⦱': { 'codepoints': [0x029B1], 'characters': '\u29B1' }, + '⥿': { 'codepoints': [0x0297F], 'characters': '\u297F' }, + '𝔡': { 'codepoints': [0x1D521], 'characters': '\uD835\uDD21' }, + '⇃': { 'codepoints': [0x021C3], 'characters': '\u21C3' }, + '⇂': { 'codepoints': [0x021C2], 'characters': '\u21C2' }, + '⋄': { 'codepoints': [0x022C4], 'characters': '\u22C4' }, + '⋄': { 'codepoints': [0x022C4], 'characters': '\u22C4' }, + '♦': { 'codepoints': [0x02666], 'characters': '\u2666' }, + '♦': { 'codepoints': [0x02666], 'characters': '\u2666' }, + '¨': { 'codepoints': [0x000A8], 'characters': '\xA8' }, + 'ϝ': { 'codepoints': [0x003DD], 'characters': '\u03DD' }, + '⋲': { 'codepoints': [0x022F2], 'characters': '\u22F2' }, + '÷': { 'codepoints': [0x000F7], 'characters': '\xF7' }, + '÷': { 'codepoints': [0x000F7], 'characters': '\xF7' }, + '÷': { 'codepoints': [0x000F7], 'characters': '\xF7' }, + '⋇': { 'codepoints': [0x022C7], 'characters': '\u22C7' }, + '⋇': { 'codepoints': [0x022C7], 'characters': '\u22C7' }, + 'ђ': { 'codepoints': [0x00452], 'characters': '\u0452' }, + '⌞': { 'codepoints': [0x0231E], 'characters': '\u231E' }, + '⌍': { 'codepoints': [0x0230D], 'characters': '\u230D' }, + '$': { 'codepoints': [0x00024], 'characters': '\x24' }, + '𝕕': { 'codepoints': [0x1D555], 'characters': '\uD835\uDD55' }, + '˙': { 'codepoints': [0x002D9], 'characters': '\u02D9' }, + '≐': { 'codepoints': [0x02250], 'characters': '\u2250' }, + '≑': { 'codepoints': [0x02251], 'characters': '\u2251' }, + '∸': { 'codepoints': [0x02238], 'characters': '\u2238' }, + '∔': { 'codepoints': [0x02214], 'characters': '\u2214' }, + '⊡': { 'codepoints': [0x022A1], 'characters': '\u22A1' }, + '⌆': { 'codepoints': [0x02306], 'characters': '\u2306' }, + '↓': { 'codepoints': [0x02193], 'characters': '\u2193' }, + '⇊': { 'codepoints': [0x021CA], 'characters': '\u21CA' }, + '⇃': { 'codepoints': [0x021C3], 'characters': '\u21C3' }, + '⇂': { 'codepoints': [0x021C2], 'characters': '\u21C2' }, + '⤐': { 'codepoints': [0x02910], 'characters': '\u2910' }, + '⌟': { 'codepoints': [0x0231F], 'characters': '\u231F' }, + '⌌': { 'codepoints': [0x0230C], 'characters': '\u230C' }, + '𝒹': { 'codepoints': [0x1D4B9], 'characters': '\uD835\uDCB9' }, + 'ѕ': { 'codepoints': [0x00455], 'characters': '\u0455' }, + '⧶': { 'codepoints': [0x029F6], 'characters': '\u29F6' }, + 'đ': { 'codepoints': [0x00111], 'characters': '\u0111' }, + '⋱': { 'codepoints': [0x022F1], 'characters': '\u22F1' }, + '▿': { 'codepoints': [0x025BF], 'characters': '\u25BF' }, + '▾': { 'codepoints': [0x025BE], 'characters': '\u25BE' }, + '⇵': { 'codepoints': [0x021F5], 'characters': '\u21F5' }, + '⥯': { 'codepoints': [0x0296F], 'characters': '\u296F' }, + '⦦': { 'codepoints': [0x029A6], 'characters': '\u29A6' }, + 'џ': { 'codepoints': [0x0045F], 'characters': '\u045F' }, + '⟿': { 'codepoints': [0x027FF], 'characters': '\u27FF' }, + '⩷': { 'codepoints': [0x02A77], 'characters': '\u2A77' }, + '≑': { 'codepoints': [0x02251], 'characters': '\u2251' }, + 'é': { 'codepoints': [0x000E9], 'characters': '\xE9' }, + 'é': { 'codepoints': [0x000E9], 'characters': '\xE9' }, + '⩮': { 'codepoints': [0x02A6E], 'characters': '\u2A6E' }, + 'ě': { 'codepoints': [0x0011B], 'characters': '\u011B' }, + '≖': { 'codepoints': [0x02256], 'characters': '\u2256' }, + 'ê': { 'codepoints': [0x000EA], 'characters': '\xEA' }, + 'ê': { 'codepoints': [0x000EA], 'characters': '\xEA' }, + '≕': { 'codepoints': [0x02255], 'characters': '\u2255' }, + 'э': { 'codepoints': [0x0044D], 'characters': '\u044D' }, + 'ė': { 'codepoints': [0x00117], 'characters': '\u0117' }, + 'ⅇ': { 'codepoints': [0x02147], 'characters': '\u2147' }, + '≒': { 'codepoints': [0x02252], 'characters': '\u2252' }, + '𝔢': { 'codepoints': [0x1D522], 'characters': '\uD835\uDD22' }, + '⪚': { 'codepoints': [0x02A9A], 'characters': '\u2A9A' }, + 'è': { 'codepoints': [0x000E8], 'characters': '\xE8' }, + 'è': { 'codepoints': [0x000E8], 'characters': '\xE8' }, + '⪖': { 'codepoints': [0x02A96], 'characters': '\u2A96' }, + '⪘': { 'codepoints': [0x02A98], 'characters': '\u2A98' }, + '⪙': { 'codepoints': [0x02A99], 'characters': '\u2A99' }, + '⏧': { 'codepoints': [0x023E7], 'characters': '\u23E7' }, + 'ℓ': { 'codepoints': [0x02113], 'characters': '\u2113' }, + '⪕': { 'codepoints': [0x02A95], 'characters': '\u2A95' }, + '⪗': { 'codepoints': [0x02A97], 'characters': '\u2A97' }, + 'ē': { 'codepoints': [0x00113], 'characters': '\u0113' }, + '∅': { 'codepoints': [0x02205], 'characters': '\u2205' }, + '∅': { 'codepoints': [0x02205], 'characters': '\u2205' }, + '∅': { 'codepoints': [0x02205], 'characters': '\u2205' }, + ' ': { 'codepoints': [0x02004], 'characters': '\u2004' }, + ' ': { 'codepoints': [0x02005], 'characters': '\u2005' }, + ' ': { 'codepoints': [0x02003], 'characters': '\u2003' }, + 'ŋ': { 'codepoints': [0x0014B], 'characters': '\u014B' }, + ' ': { 'codepoints': [0x02002], 'characters': '\u2002' }, + 'ę': { 'codepoints': [0x00119], 'characters': '\u0119' }, + '𝕖': { 'codepoints': [0x1D556], 'characters': '\uD835\uDD56' }, + '⋕': { 'codepoints': [0x022D5], 'characters': '\u22D5' }, + '⧣': { 'codepoints': [0x029E3], 'characters': '\u29E3' }, + '⩱': { 'codepoints': [0x02A71], 'characters': '\u2A71' }, + 'ε': { 'codepoints': [0x003B5], 'characters': '\u03B5' }, + 'ε': { 'codepoints': [0x003B5], 'characters': '\u03B5' }, + 'ϵ': { 'codepoints': [0x003F5], 'characters': '\u03F5' }, + '≖': { 'codepoints': [0x02256], 'characters': '\u2256' }, + '≕': { 'codepoints': [0x02255], 'characters': '\u2255' }, + '≂': { 'codepoints': [0x02242], 'characters': '\u2242' }, + '⪖': { 'codepoints': [0x02A96], 'characters': '\u2A96' }, + '⪕': { 'codepoints': [0x02A95], 'characters': '\u2A95' }, + '=': { 'codepoints': [0x0003D], 'characters': '\x3D' }, + '≟': { 'codepoints': [0x0225F], 'characters': '\u225F' }, + '≡': { 'codepoints': [0x02261], 'characters': '\u2261' }, + '⩸': { 'codepoints': [0x02A78], 'characters': '\u2A78' }, + '⧥': { 'codepoints': [0x029E5], 'characters': '\u29E5' }, + '≓': { 'codepoints': [0x02253], 'characters': '\u2253' }, + '⥱': { 'codepoints': [0x02971], 'characters': '\u2971' }, + 'ℯ': { 'codepoints': [0x0212F], 'characters': '\u212F' }, + '≐': { 'codepoints': [0x02250], 'characters': '\u2250' }, + '≂': { 'codepoints': [0x02242], 'characters': '\u2242' }, + 'η': { 'codepoints': [0x003B7], 'characters': '\u03B7' }, + 'ð': { 'codepoints': [0x000F0], 'characters': '\xF0' }, + 'ð': { 'codepoints': [0x000F0], 'characters': '\xF0' }, + 'ë': { 'codepoints': [0x000EB], 'characters': '\xEB' }, + 'ë': { 'codepoints': [0x000EB], 'characters': '\xEB' }, + '€': { 'codepoints': [0x020AC], 'characters': '\u20AC' }, + '!': { 'codepoints': [0x00021], 'characters': '\x21' }, + '∃': { 'codepoints': [0x02203], 'characters': '\u2203' }, + 'ℰ': { 'codepoints': [0x02130], 'characters': '\u2130' }, + 'ⅇ': { 'codepoints': [0x02147], 'characters': '\u2147' }, + '≒': { 'codepoints': [0x02252], 'characters': '\u2252' }, + 'ф': { 'codepoints': [0x00444], 'characters': '\u0444' }, + '♀': { 'codepoints': [0x02640], 'characters': '\u2640' }, + 'ffi': { 'codepoints': [0x0FB03], 'characters': '\uFB03' }, + 'ff': { 'codepoints': [0x0FB00], 'characters': '\uFB00' }, + 'ffl': { 'codepoints': [0x0FB04], 'characters': '\uFB04' }, + '𝔣': { 'codepoints': [0x1D523], 'characters': '\uD835\uDD23' }, + 'fi': { 'codepoints': [0x0FB01], 'characters': '\uFB01' }, + 'fj': { 'codepoints': [0x00066, 0x0006A], 'characters': '\x66\x6A' }, + '♭': { 'codepoints': [0x0266D], 'characters': '\u266D' }, + 'fl': { 'codepoints': [0x0FB02], 'characters': '\uFB02' }, + '▱': { 'codepoints': [0x025B1], 'characters': '\u25B1' }, + 'ƒ': { 'codepoints': [0x00192], 'characters': '\u0192' }, + '𝕗': { 'codepoints': [0x1D557], 'characters': '\uD835\uDD57' }, + '∀': { 'codepoints': [0x02200], 'characters': '\u2200' }, + '⋔': { 'codepoints': [0x022D4], 'characters': '\u22D4' }, + '⫙': { 'codepoints': [0x02AD9], 'characters': '\u2AD9' }, + '⨍': { 'codepoints': [0x02A0D], 'characters': '\u2A0D' }, + '½': { 'codepoints': [0x000BD], 'characters': '\xBD' }, + '½': { 'codepoints': [0x000BD], 'characters': '\xBD' }, + '⅓': { 'codepoints': [0x02153], 'characters': '\u2153' }, + '¼': { 'codepoints': [0x000BC], 'characters': '\xBC' }, + '¼': { 'codepoints': [0x000BC], 'characters': '\xBC' }, + '⅕': { 'codepoints': [0x02155], 'characters': '\u2155' }, + '⅙': { 'codepoints': [0x02159], 'characters': '\u2159' }, + '⅛': { 'codepoints': [0x0215B], 'characters': '\u215B' }, + '⅔': { 'codepoints': [0x02154], 'characters': '\u2154' }, + '⅖': { 'codepoints': [0x02156], 'characters': '\u2156' }, + '¾': { 'codepoints': [0x000BE], 'characters': '\xBE' }, + '¾': { 'codepoints': [0x000BE], 'characters': '\xBE' }, + '⅗': { 'codepoints': [0x02157], 'characters': '\u2157' }, + '⅜': { 'codepoints': [0x0215C], 'characters': '\u215C' }, + '⅘': { 'codepoints': [0x02158], 'characters': '\u2158' }, + '⅚': { 'codepoints': [0x0215A], 'characters': '\u215A' }, + '⅝': { 'codepoints': [0x0215D], 'characters': '\u215D' }, + '⅞': { 'codepoints': [0x0215E], 'characters': '\u215E' }, + '⁄': { 'codepoints': [0x02044], 'characters': '\u2044' }, + '⌢': { 'codepoints': [0x02322], 'characters': '\u2322' }, + '𝒻': { 'codepoints': [0x1D4BB], 'characters': '\uD835\uDCBB' }, + '≧': { 'codepoints': [0x02267], 'characters': '\u2267' }, + '⪌': { 'codepoints': [0x02A8C], 'characters': '\u2A8C' }, + 'ǵ': { 'codepoints': [0x001F5], 'characters': '\u01F5' }, + 'γ': { 'codepoints': [0x003B3], 'characters': '\u03B3' }, + 'ϝ': { 'codepoints': [0x003DD], 'characters': '\u03DD' }, + '⪆': { 'codepoints': [0x02A86], 'characters': '\u2A86' }, + 'ğ': { 'codepoints': [0x0011F], 'characters': '\u011F' }, + 'ĝ': { 'codepoints': [0x0011D], 'characters': '\u011D' }, + 'г': { 'codepoints': [0x00433], 'characters': '\u0433' }, + 'ġ': { 'codepoints': [0x00121], 'characters': '\u0121' }, + '≥': { 'codepoints': [0x02265], 'characters': '\u2265' }, + '⋛': { 'codepoints': [0x022DB], 'characters': '\u22DB' }, + '≥': { 'codepoints': [0x02265], 'characters': '\u2265' }, + '≧': { 'codepoints': [0x02267], 'characters': '\u2267' }, + '⩾': { 'codepoints': [0x02A7E], 'characters': '\u2A7E' }, + '⩾': { 'codepoints': [0x02A7E], 'characters': '\u2A7E' }, + '⪩': { 'codepoints': [0x02AA9], 'characters': '\u2AA9' }, + '⪀': { 'codepoints': [0x02A80], 'characters': '\u2A80' }, + '⪂': { 'codepoints': [0x02A82], 'characters': '\u2A82' }, + '⪄': { 'codepoints': [0x02A84], 'characters': '\u2A84' }, + '⋛︀': { 'codepoints': [0x022DB, 0x0FE00], 'characters': '\u22DB\uFE00' }, + '⪔': { 'codepoints': [0x02A94], 'characters': '\u2A94' }, + '𝔤': { 'codepoints': [0x1D524], 'characters': '\uD835\uDD24' }, + '≫': { 'codepoints': [0x0226B], 'characters': '\u226B' }, + '⋙': { 'codepoints': [0x022D9], 'characters': '\u22D9' }, + 'ℷ': { 'codepoints': [0x02137], 'characters': '\u2137' }, + 'ѓ': { 'codepoints': [0x00453], 'characters': '\u0453' }, + '≷': { 'codepoints': [0x02277], 'characters': '\u2277' }, + '⪒': { 'codepoints': [0x02A92], 'characters': '\u2A92' }, + '⪥': { 'codepoints': [0x02AA5], 'characters': '\u2AA5' }, + '⪤': { 'codepoints': [0x02AA4], 'characters': '\u2AA4' }, + '≩': { 'codepoints': [0x02269], 'characters': '\u2269' }, + '⪊': { 'codepoints': [0x02A8A], 'characters': '\u2A8A' }, + '⪊': { 'codepoints': [0x02A8A], 'characters': '\u2A8A' }, + '⪈': { 'codepoints': [0x02A88], 'characters': '\u2A88' }, + '⪈': { 'codepoints': [0x02A88], 'characters': '\u2A88' }, + '≩': { 'codepoints': [0x02269], 'characters': '\u2269' }, + '⋧': { 'codepoints': [0x022E7], 'characters': '\u22E7' }, + '𝕘': { 'codepoints': [0x1D558], 'characters': '\uD835\uDD58' }, + '`': { 'codepoints': [0x00060], 'characters': '\x60' }, + 'ℊ': { 'codepoints': [0x0210A], 'characters': '\u210A' }, + '≳': { 'codepoints': [0x02273], 'characters': '\u2273' }, + '⪎': { 'codepoints': [0x02A8E], 'characters': '\u2A8E' }, + '⪐': { 'codepoints': [0x02A90], 'characters': '\u2A90' }, + '>': { 'codepoints': [0x0003E], 'characters': '\x3E' }, + '>': { 'codepoints': [0x0003E], 'characters': '\x3E' }, + '⪧': { 'codepoints': [0x02AA7], 'characters': '\u2AA7' }, + '⩺': { 'codepoints': [0x02A7A], 'characters': '\u2A7A' }, + '⋗': { 'codepoints': [0x022D7], 'characters': '\u22D7' }, + '⦕': { 'codepoints': [0x02995], 'characters': '\u2995' }, + '⩼': { 'codepoints': [0x02A7C], 'characters': '\u2A7C' }, + '⪆': { 'codepoints': [0x02A86], 'characters': '\u2A86' }, + '⥸': { 'codepoints': [0x02978], 'characters': '\u2978' }, + '⋗': { 'codepoints': [0x022D7], 'characters': '\u22D7' }, + '⋛': { 'codepoints': [0x022DB], 'characters': '\u22DB' }, + '⪌': { 'codepoints': [0x02A8C], 'characters': '\u2A8C' }, + '≷': { 'codepoints': [0x02277], 'characters': '\u2277' }, + '≳': { 'codepoints': [0x02273], 'characters': '\u2273' }, + '≩︀': { 'codepoints': [0x02269, 0x0FE00], 'characters': '\u2269\uFE00' }, + '≩︀': { 'codepoints': [0x02269, 0x0FE00], 'characters': '\u2269\uFE00' }, + '⇔': { 'codepoints': [0x021D4], 'characters': '\u21D4' }, + ' ': { 'codepoints': [0x0200A], 'characters': '\u200A' }, + '½': { 'codepoints': [0x000BD], 'characters': '\xBD' }, + 'ℋ': { 'codepoints': [0x0210B], 'characters': '\u210B' }, + 'ъ': { 'codepoints': [0x0044A], 'characters': '\u044A' }, + '↔': { 'codepoints': [0x02194], 'characters': '\u2194' }, + '⥈': { 'codepoints': [0x02948], 'characters': '\u2948' }, + '↭': { 'codepoints': [0x021AD], 'characters': '\u21AD' }, + 'ℏ': { 'codepoints': [0x0210F], 'characters': '\u210F' }, + 'ĥ': { 'codepoints': [0x00125], 'characters': '\u0125' }, + '♥': { 'codepoints': [0x02665], 'characters': '\u2665' }, + '♥': { 'codepoints': [0x02665], 'characters': '\u2665' }, + '…': { 'codepoints': [0x02026], 'characters': '\u2026' }, + '⊹': { 'codepoints': [0x022B9], 'characters': '\u22B9' }, + '𝔥': { 'codepoints': [0x1D525], 'characters': '\uD835\uDD25' }, + '⤥': { 'codepoints': [0x02925], 'characters': '\u2925' }, + '⤦': { 'codepoints': [0x02926], 'characters': '\u2926' }, + '⇿': { 'codepoints': [0x021FF], 'characters': '\u21FF' }, + '∻': { 'codepoints': [0x0223B], 'characters': '\u223B' }, + '↩': { 'codepoints': [0x021A9], 'characters': '\u21A9' }, + '↪': { 'codepoints': [0x021AA], 'characters': '\u21AA' }, + '𝕙': { 'codepoints': [0x1D559], 'characters': '\uD835\uDD59' }, + '―': { 'codepoints': [0x02015], 'characters': '\u2015' }, + '𝒽': { 'codepoints': [0x1D4BD], 'characters': '\uD835\uDCBD' }, + 'ℏ': { 'codepoints': [0x0210F], 'characters': '\u210F' }, + 'ħ': { 'codepoints': [0x00127], 'characters': '\u0127' }, + '⁃': { 'codepoints': [0x02043], 'characters': '\u2043' }, + '‐': { 'codepoints': [0x02010], 'characters': '\u2010' }, + 'í': { 'codepoints': [0x000ED], 'characters': '\xED' }, + 'í': { 'codepoints': [0x000ED], 'characters': '\xED' }, + '⁣': { 'codepoints': [0x02063], 'characters': '\u2063' }, + 'î': { 'codepoints': [0x000EE], 'characters': '\xEE' }, + 'î': { 'codepoints': [0x000EE], 'characters': '\xEE' }, + 'и': { 'codepoints': [0x00438], 'characters': '\u0438' }, + 'е': { 'codepoints': [0x00435], 'characters': '\u0435' }, + '¡': { 'codepoints': [0x000A1], 'characters': '\xA1' }, + '¡': { 'codepoints': [0x000A1], 'characters': '\xA1' }, + '⇔': { 'codepoints': [0x021D4], 'characters': '\u21D4' }, + '𝔦': { 'codepoints': [0x1D526], 'characters': '\uD835\uDD26' }, + 'ì': { 'codepoints': [0x000EC], 'characters': '\xEC' }, + 'ì': { 'codepoints': [0x000EC], 'characters': '\xEC' }, + 'ⅈ': { 'codepoints': [0x02148], 'characters': '\u2148' }, + '⨌': { 'codepoints': [0x02A0C], 'characters': '\u2A0C' }, + '∭': { 'codepoints': [0x0222D], 'characters': '\u222D' }, + '⧜': { 'codepoints': [0x029DC], 'characters': '\u29DC' }, + '℩': { 'codepoints': [0x02129], 'characters': '\u2129' }, + 'ij': { 'codepoints': [0x00133], 'characters': '\u0133' }, + 'ī': { 'codepoints': [0x0012B], 'characters': '\u012B' }, + 'ℑ': { 'codepoints': [0x02111], 'characters': '\u2111' }, + 'ℐ': { 'codepoints': [0x02110], 'characters': '\u2110' }, + 'ℑ': { 'codepoints': [0x02111], 'characters': '\u2111' }, + 'ı': { 'codepoints': [0x00131], 'characters': '\u0131' }, + '⊷': { 'codepoints': [0x022B7], 'characters': '\u22B7' }, + 'Ƶ': { 'codepoints': [0x001B5], 'characters': '\u01B5' }, + '∈': { 'codepoints': [0x02208], 'characters': '\u2208' }, + '℅': { 'codepoints': [0x02105], 'characters': '\u2105' }, + '∞': { 'codepoints': [0x0221E], 'characters': '\u221E' }, + '⧝': { 'codepoints': [0x029DD], 'characters': '\u29DD' }, + 'ı': { 'codepoints': [0x00131], 'characters': '\u0131' }, + '∫': { 'codepoints': [0x0222B], 'characters': '\u222B' }, + '⊺': { 'codepoints': [0x022BA], 'characters': '\u22BA' }, + 'ℤ': { 'codepoints': [0x02124], 'characters': '\u2124' }, + '⊺': { 'codepoints': [0x022BA], 'characters': '\u22BA' }, + '⨗': { 'codepoints': [0x02A17], 'characters': '\u2A17' }, + '⨼': { 'codepoints': [0x02A3C], 'characters': '\u2A3C' }, + 'ё': { 'codepoints': [0x00451], 'characters': '\u0451' }, + 'į': { 'codepoints': [0x0012F], 'characters': '\u012F' }, + '𝕚': { 'codepoints': [0x1D55A], 'characters': '\uD835\uDD5A' }, + 'ι': { 'codepoints': [0x003B9], 'characters': '\u03B9' }, + '⨼': { 'codepoints': [0x02A3C], 'characters': '\u2A3C' }, + '¿': { 'codepoints': [0x000BF], 'characters': '\xBF' }, + '¿': { 'codepoints': [0x000BF], 'characters': '\xBF' }, + '𝒾': { 'codepoints': [0x1D4BE], 'characters': '\uD835\uDCBE' }, + '∈': { 'codepoints': [0x02208], 'characters': '\u2208' }, + '⋹': { 'codepoints': [0x022F9], 'characters': '\u22F9' }, + '⋵': { 'codepoints': [0x022F5], 'characters': '\u22F5' }, + '⋴': { 'codepoints': [0x022F4], 'characters': '\u22F4' }, + '⋳': { 'codepoints': [0x022F3], 'characters': '\u22F3' }, + '∈': { 'codepoints': [0x02208], 'characters': '\u2208' }, + '⁢': { 'codepoints': [0x02062], 'characters': '\u2062' }, + 'ĩ': { 'codepoints': [0x00129], 'characters': '\u0129' }, + 'і': { 'codepoints': [0x00456], 'characters': '\u0456' }, + 'ï': { 'codepoints': [0x000EF], 'characters': '\xEF' }, + 'ï': { 'codepoints': [0x000EF], 'characters': '\xEF' }, + 'ĵ': { 'codepoints': [0x00135], 'characters': '\u0135' }, + 'й': { 'codepoints': [0x00439], 'characters': '\u0439' }, + '𝔧': { 'codepoints': [0x1D527], 'characters': '\uD835\uDD27' }, + 'ȷ': { 'codepoints': [0x00237], 'characters': '\u0237' }, + '𝕛': { 'codepoints': [0x1D55B], 'characters': '\uD835\uDD5B' }, + '𝒿': { 'codepoints': [0x1D4BF], 'characters': '\uD835\uDCBF' }, + 'ј': { 'codepoints': [0x00458], 'characters': '\u0458' }, + 'є': { 'codepoints': [0x00454], 'characters': '\u0454' }, + 'κ': { 'codepoints': [0x003BA], 'characters': '\u03BA' }, + 'ϰ': { 'codepoints': [0x003F0], 'characters': '\u03F0' }, + 'ķ': { 'codepoints': [0x00137], 'characters': '\u0137' }, + 'к': { 'codepoints': [0x0043A], 'characters': '\u043A' }, + '𝔨': { 'codepoints': [0x1D528], 'characters': '\uD835\uDD28' }, + 'ĸ': { 'codepoints': [0x00138], 'characters': '\u0138' }, + 'х': { 'codepoints': [0x00445], 'characters': '\u0445' }, + 'ќ': { 'codepoints': [0x0045C], 'characters': '\u045C' }, + '𝕜': { 'codepoints': [0x1D55C], 'characters': '\uD835\uDD5C' }, + '𝓀': { 'codepoints': [0x1D4C0], 'characters': '\uD835\uDCC0' }, + '⇚': { 'codepoints': [0x021DA], 'characters': '\u21DA' }, + '⇐': { 'codepoints': [0x021D0], 'characters': '\u21D0' }, + '⤛': { 'codepoints': [0x0291B], 'characters': '\u291B' }, + '⤎': { 'codepoints': [0x0290E], 'characters': '\u290E' }, + '≦': { 'codepoints': [0x02266], 'characters': '\u2266' }, + '⪋': { 'codepoints': [0x02A8B], 'characters': '\u2A8B' }, + '⥢': { 'codepoints': [0x02962], 'characters': '\u2962' }, + 'ĺ': { 'codepoints': [0x0013A], 'characters': '\u013A' }, + '⦴': { 'codepoints': [0x029B4], 'characters': '\u29B4' }, + 'ℒ': { 'codepoints': [0x02112], 'characters': '\u2112' }, + 'λ': { 'codepoints': [0x003BB], 'characters': '\u03BB' }, + '⟨': { 'codepoints': [0x027E8], 'characters': '\u27E8' }, + '⦑': { 'codepoints': [0x02991], 'characters': '\u2991' }, + '⟨': { 'codepoints': [0x027E8], 'characters': '\u27E8' }, + '⪅': { 'codepoints': [0x02A85], 'characters': '\u2A85' }, + '«': { 'codepoints': [0x000AB], 'characters': '\xAB' }, + '«': { 'codepoints': [0x000AB], 'characters': '\xAB' }, + '←': { 'codepoints': [0x02190], 'characters': '\u2190' }, + '⇤': { 'codepoints': [0x021E4], 'characters': '\u21E4' }, + '⤟': { 'codepoints': [0x0291F], 'characters': '\u291F' }, + '⤝': { 'codepoints': [0x0291D], 'characters': '\u291D' }, + '↩': { 'codepoints': [0x021A9], 'characters': '\u21A9' }, + '↫': { 'codepoints': [0x021AB], 'characters': '\u21AB' }, + '⤹': { 'codepoints': [0x02939], 'characters': '\u2939' }, + '⥳': { 'codepoints': [0x02973], 'characters': '\u2973' }, + '↢': { 'codepoints': [0x021A2], 'characters': '\u21A2' }, + '⪫': { 'codepoints': [0x02AAB], 'characters': '\u2AAB' }, + '⤙': { 'codepoints': [0x02919], 'characters': '\u2919' }, + '⪭': { 'codepoints': [0x02AAD], 'characters': '\u2AAD' }, + '⪭︀': { 'codepoints': [0x02AAD, 0x0FE00], 'characters': '\u2AAD\uFE00' }, + '⤌': { 'codepoints': [0x0290C], 'characters': '\u290C' }, + '❲': { 'codepoints': [0x02772], 'characters': '\u2772' }, + '{': { 'codepoints': [0x0007B], 'characters': '\x7B' }, + '[': { 'codepoints': [0x0005B], 'characters': '\x5B' }, + '⦋': { 'codepoints': [0x0298B], 'characters': '\u298B' }, + '⦏': { 'codepoints': [0x0298F], 'characters': '\u298F' }, + '⦍': { 'codepoints': [0x0298D], 'characters': '\u298D' }, + 'ľ': { 'codepoints': [0x0013E], 'characters': '\u013E' }, + 'ļ': { 'codepoints': [0x0013C], 'characters': '\u013C' }, + '⌈': { 'codepoints': [0x02308], 'characters': '\u2308' }, + '{': { 'codepoints': [0x0007B], 'characters': '\x7B' }, + 'л': { 'codepoints': [0x0043B], 'characters': '\u043B' }, + '⤶': { 'codepoints': [0x02936], 'characters': '\u2936' }, + '“': { 'codepoints': [0x0201C], 'characters': '\u201C' }, + '„': { 'codepoints': [0x0201E], 'characters': '\u201E' }, + '⥧': { 'codepoints': [0x02967], 'characters': '\u2967' }, + '⥋': { 'codepoints': [0x0294B], 'characters': '\u294B' }, + '↲': { 'codepoints': [0x021B2], 'characters': '\u21B2' }, + '≤': { 'codepoints': [0x02264], 'characters': '\u2264' }, + '←': { 'codepoints': [0x02190], 'characters': '\u2190' }, + '↢': { 'codepoints': [0x021A2], 'characters': '\u21A2' }, + '↽': { 'codepoints': [0x021BD], 'characters': '\u21BD' }, + '↼': { 'codepoints': [0x021BC], 'characters': '\u21BC' }, + '⇇': { 'codepoints': [0x021C7], 'characters': '\u21C7' }, + '↔': { 'codepoints': [0x02194], 'characters': '\u2194' }, + '⇆': { 'codepoints': [0x021C6], 'characters': '\u21C6' }, + '⇋': { 'codepoints': [0x021CB], 'characters': '\u21CB' }, + '↭': { 'codepoints': [0x021AD], 'characters': '\u21AD' }, + '⋋': { 'codepoints': [0x022CB], 'characters': '\u22CB' }, + '⋚': { 'codepoints': [0x022DA], 'characters': '\u22DA' }, + '≤': { 'codepoints': [0x02264], 'characters': '\u2264' }, + '≦': { 'codepoints': [0x02266], 'characters': '\u2266' }, + '⩽': { 'codepoints': [0x02A7D], 'characters': '\u2A7D' }, + '⩽': { 'codepoints': [0x02A7D], 'characters': '\u2A7D' }, + '⪨': { 'codepoints': [0x02AA8], 'characters': '\u2AA8' }, + '⩿': { 'codepoints': [0x02A7F], 'characters': '\u2A7F' }, + '⪁': { 'codepoints': [0x02A81], 'characters': '\u2A81' }, + '⪃': { 'codepoints': [0x02A83], 'characters': '\u2A83' }, + '⋚︀': { 'codepoints': [0x022DA, 0x0FE00], 'characters': '\u22DA\uFE00' }, + '⪓': { 'codepoints': [0x02A93], 'characters': '\u2A93' }, + '⪅': { 'codepoints': [0x02A85], 'characters': '\u2A85' }, + '⋖': { 'codepoints': [0x022D6], 'characters': '\u22D6' }, + '⋚': { 'codepoints': [0x022DA], 'characters': '\u22DA' }, + '⪋': { 'codepoints': [0x02A8B], 'characters': '\u2A8B' }, + '≶': { 'codepoints': [0x02276], 'characters': '\u2276' }, + '≲': { 'codepoints': [0x02272], 'characters': '\u2272' }, + '⥼': { 'codepoints': [0x0297C], 'characters': '\u297C' }, + '⌊': { 'codepoints': [0x0230A], 'characters': '\u230A' }, + '𝔩': { 'codepoints': [0x1D529], 'characters': '\uD835\uDD29' }, + '≶': { 'codepoints': [0x02276], 'characters': '\u2276' }, + '⪑': { 'codepoints': [0x02A91], 'characters': '\u2A91' }, + '↽': { 'codepoints': [0x021BD], 'characters': '\u21BD' }, + '↼': { 'codepoints': [0x021BC], 'characters': '\u21BC' }, + '⥪': { 'codepoints': [0x0296A], 'characters': '\u296A' }, + '▄': { 'codepoints': [0x02584], 'characters': '\u2584' }, + 'љ': { 'codepoints': [0x00459], 'characters': '\u0459' }, + '≪': { 'codepoints': [0x0226A], 'characters': '\u226A' }, + '⇇': { 'codepoints': [0x021C7], 'characters': '\u21C7' }, + '⌞': { 'codepoints': [0x0231E], 'characters': '\u231E' }, + '⥫': { 'codepoints': [0x0296B], 'characters': '\u296B' }, + '◺': { 'codepoints': [0x025FA], 'characters': '\u25FA' }, + 'ŀ': { 'codepoints': [0x00140], 'characters': '\u0140' }, + '⎰': { 'codepoints': [0x023B0], 'characters': '\u23B0' }, + '⎰': { 'codepoints': [0x023B0], 'characters': '\u23B0' }, + '≨': { 'codepoints': [0x02268], 'characters': '\u2268' }, + '⪉': { 'codepoints': [0x02A89], 'characters': '\u2A89' }, + '⪉': { 'codepoints': [0x02A89], 'characters': '\u2A89' }, + '⪇': { 'codepoints': [0x02A87], 'characters': '\u2A87' }, + '⪇': { 'codepoints': [0x02A87], 'characters': '\u2A87' }, + '≨': { 'codepoints': [0x02268], 'characters': '\u2268' }, + '⋦': { 'codepoints': [0x022E6], 'characters': '\u22E6' }, + '⟬': { 'codepoints': [0x027EC], 'characters': '\u27EC' }, + '⇽': { 'codepoints': [0x021FD], 'characters': '\u21FD' }, + '⟦': { 'codepoints': [0x027E6], 'characters': '\u27E6' }, + '⟵': { 'codepoints': [0x027F5], 'characters': '\u27F5' }, + '⟷': { 'codepoints': [0x027F7], 'characters': '\u27F7' }, + '⟼': { 'codepoints': [0x027FC], 'characters': '\u27FC' }, + '⟶': { 'codepoints': [0x027F6], 'characters': '\u27F6' }, + '↫': { 'codepoints': [0x021AB], 'characters': '\u21AB' }, + '↬': { 'codepoints': [0x021AC], 'characters': '\u21AC' }, + '⦅': { 'codepoints': [0x02985], 'characters': '\u2985' }, + '𝕝': { 'codepoints': [0x1D55D], 'characters': '\uD835\uDD5D' }, + '⨭': { 'codepoints': [0x02A2D], 'characters': '\u2A2D' }, + '⨴': { 'codepoints': [0x02A34], 'characters': '\u2A34' }, + '∗': { 'codepoints': [0x02217], 'characters': '\u2217' }, + '_': { 'codepoints': [0x0005F], 'characters': '\x5F' }, + '◊': { 'codepoints': [0x025CA], 'characters': '\u25CA' }, + '◊': { 'codepoints': [0x025CA], 'characters': '\u25CA' }, + '⧫': { 'codepoints': [0x029EB], 'characters': '\u29EB' }, + '(': { 'codepoints': [0x00028], 'characters': '\x28' }, + '⦓': { 'codepoints': [0x02993], 'characters': '\u2993' }, + '⇆': { 'codepoints': [0x021C6], 'characters': '\u21C6' }, + '⌟': { 'codepoints': [0x0231F], 'characters': '\u231F' }, + '⇋': { 'codepoints': [0x021CB], 'characters': '\u21CB' }, + '⥭': { 'codepoints': [0x0296D], 'characters': '\u296D' }, + '‎': { 'codepoints': [0x0200E], 'characters': '\u200E' }, + '⊿': { 'codepoints': [0x022BF], 'characters': '\u22BF' }, + '‹': { 'codepoints': [0x02039], 'characters': '\u2039' }, + '𝓁': { 'codepoints': [0x1D4C1], 'characters': '\uD835\uDCC1' }, + '↰': { 'codepoints': [0x021B0], 'characters': '\u21B0' }, + '≲': { 'codepoints': [0x02272], 'characters': '\u2272' }, + '⪍': { 'codepoints': [0x02A8D], 'characters': '\u2A8D' }, + '⪏': { 'codepoints': [0x02A8F], 'characters': '\u2A8F' }, + '[': { 'codepoints': [0x0005B], 'characters': '\x5B' }, + '‘': { 'codepoints': [0x02018], 'characters': '\u2018' }, + '‚': { 'codepoints': [0x0201A], 'characters': '\u201A' }, + 'ł': { 'codepoints': [0x00142], 'characters': '\u0142' }, + '<': { 'codepoints': [0x0003C], 'characters': '\x3C' }, + '<': { 'codepoints': [0x0003C], 'characters': '\x3C' }, + '⪦': { 'codepoints': [0x02AA6], 'characters': '\u2AA6' }, + '⩹': { 'codepoints': [0x02A79], 'characters': '\u2A79' }, + '⋖': { 'codepoints': [0x022D6], 'characters': '\u22D6' }, + '⋋': { 'codepoints': [0x022CB], 'characters': '\u22CB' }, + '⋉': { 'codepoints': [0x022C9], 'characters': '\u22C9' }, + '⥶': { 'codepoints': [0x02976], 'characters': '\u2976' }, + '⩻': { 'codepoints': [0x02A7B], 'characters': '\u2A7B' }, + '⦖': { 'codepoints': [0x02996], 'characters': '\u2996' }, + '◃': { 'codepoints': [0x025C3], 'characters': '\u25C3' }, + '⊴': { 'codepoints': [0x022B4], 'characters': '\u22B4' }, + '◂': { 'codepoints': [0x025C2], 'characters': '\u25C2' }, + '⥊': { 'codepoints': [0x0294A], 'characters': '\u294A' }, + '⥦': { 'codepoints': [0x02966], 'characters': '\u2966' }, + '≨︀': { 'codepoints': [0x02268, 0x0FE00], 'characters': '\u2268\uFE00' }, + '≨︀': { 'codepoints': [0x02268, 0x0FE00], 'characters': '\u2268\uFE00' }, + '∺': { 'codepoints': [0x0223A], 'characters': '\u223A' }, + '¯': { 'codepoints': [0x000AF], 'characters': '\xAF' }, + '¯': { 'codepoints': [0x000AF], 'characters': '\xAF' }, + '♂': { 'codepoints': [0x02642], 'characters': '\u2642' }, + '✠': { 'codepoints': [0x02720], 'characters': '\u2720' }, + '✠': { 'codepoints': [0x02720], 'characters': '\u2720' }, + '↦': { 'codepoints': [0x021A6], 'characters': '\u21A6' }, + '↦': { 'codepoints': [0x021A6], 'characters': '\u21A6' }, + '↧': { 'codepoints': [0x021A7], 'characters': '\u21A7' }, + '↤': { 'codepoints': [0x021A4], 'characters': '\u21A4' }, + '↥': { 'codepoints': [0x021A5], 'characters': '\u21A5' }, + '▮': { 'codepoints': [0x025AE], 'characters': '\u25AE' }, + '⨩': { 'codepoints': [0x02A29], 'characters': '\u2A29' }, + 'м': { 'codepoints': [0x0043C], 'characters': '\u043C' }, + '—': { 'codepoints': [0x02014], 'characters': '\u2014' }, + '∡': { 'codepoints': [0x02221], 'characters': '\u2221' }, + '𝔪': { 'codepoints': [0x1D52A], 'characters': '\uD835\uDD2A' }, + '℧': { 'codepoints': [0x02127], 'characters': '\u2127' }, + 'µ': { 'codepoints': [0x000B5], 'characters': '\xB5' }, + 'µ': { 'codepoints': [0x000B5], 'characters': '\xB5' }, + '∣': { 'codepoints': [0x02223], 'characters': '\u2223' }, + '*': { 'codepoints': [0x0002A], 'characters': '\x2A' }, + '⫰': { 'codepoints': [0x02AF0], 'characters': '\u2AF0' }, + '·': { 'codepoints': [0x000B7], 'characters': '\xB7' }, + '·': { 'codepoints': [0x000B7], 'characters': '\xB7' }, + '−': { 'codepoints': [0x02212], 'characters': '\u2212' }, + '⊟': { 'codepoints': [0x0229F], 'characters': '\u229F' }, + '∸': { 'codepoints': [0x02238], 'characters': '\u2238' }, + '⨪': { 'codepoints': [0x02A2A], 'characters': '\u2A2A' }, + '⫛': { 'codepoints': [0x02ADB], 'characters': '\u2ADB' }, + '…': { 'codepoints': [0x02026], 'characters': '\u2026' }, + '∓': { 'codepoints': [0x02213], 'characters': '\u2213' }, + '⊧': { 'codepoints': [0x022A7], 'characters': '\u22A7' }, + '𝕞': { 'codepoints': [0x1D55E], 'characters': '\uD835\uDD5E' }, + '∓': { 'codepoints': [0x02213], 'characters': '\u2213' }, + '𝓂': { 'codepoints': [0x1D4C2], 'characters': '\uD835\uDCC2' }, + '∾': { 'codepoints': [0x0223E], 'characters': '\u223E' }, + 'μ': { 'codepoints': [0x003BC], 'characters': '\u03BC' }, + '⊸': { 'codepoints': [0x022B8], 'characters': '\u22B8' }, + '⊸': { 'codepoints': [0x022B8], 'characters': '\u22B8' }, + '⋙̸': { 'codepoints': [0x022D9, 0x00338], 'characters': '\u22D9\u0338' }, + '≫⃒': { 'codepoints': [0x0226B, 0x020D2], 'characters': '\u226B\u20D2' }, + '≫̸': { 'codepoints': [0x0226B, 0x00338], 'characters': '\u226B\u0338' }, + '⇍': { 'codepoints': [0x021CD], 'characters': '\u21CD' }, + '⇎': { 'codepoints': [0x021CE], 'characters': '\u21CE' }, + '⋘̸': { 'codepoints': [0x022D8, 0x00338], 'characters': '\u22D8\u0338' }, + '≪⃒': { 'codepoints': [0x0226A, 0x020D2], 'characters': '\u226A\u20D2' }, + '≪̸': { 'codepoints': [0x0226A, 0x00338], 'characters': '\u226A\u0338' }, + '⇏': { 'codepoints': [0x021CF], 'characters': '\u21CF' }, + '⊯': { 'codepoints': [0x022AF], 'characters': '\u22AF' }, + '⊮': { 'codepoints': [0x022AE], 'characters': '\u22AE' }, + '∇': { 'codepoints': [0x02207], 'characters': '\u2207' }, + 'ń': { 'codepoints': [0x00144], 'characters': '\u0144' }, + '∠⃒': { 'codepoints': [0x02220, 0x020D2], 'characters': '\u2220\u20D2' }, + '≉': { 'codepoints': [0x02249], 'characters': '\u2249' }, + '⩰̸': { 'codepoints': [0x02A70, 0x00338], 'characters': '\u2A70\u0338' }, + '≋̸': { 'codepoints': [0x0224B, 0x00338], 'characters': '\u224B\u0338' }, + 'ʼn': { 'codepoints': [0x00149], 'characters': '\u0149' }, + '≉': { 'codepoints': [0x02249], 'characters': '\u2249' }, + '♮': { 'codepoints': [0x0266E], 'characters': '\u266E' }, + '♮': { 'codepoints': [0x0266E], 'characters': '\u266E' }, + 'ℕ': { 'codepoints': [0x02115], 'characters': '\u2115' }, + ' ': { 'codepoints': [0x000A0], 'characters': '\xA0' }, + ' ': { 'codepoints': [0x000A0], 'characters': '\xA0' }, + '≎̸': { 'codepoints': [0x0224E, 0x00338], 'characters': '\u224E\u0338' }, + '≏̸': { 'codepoints': [0x0224F, 0x00338], 'characters': '\u224F\u0338' }, + '⩃': { 'codepoints': [0x02A43], 'characters': '\u2A43' }, + 'ň': { 'codepoints': [0x00148], 'characters': '\u0148' }, + 'ņ': { 'codepoints': [0x00146], 'characters': '\u0146' }, + '≇': { 'codepoints': [0x02247], 'characters': '\u2247' }, + '⩭̸': { 'codepoints': [0x02A6D, 0x00338], 'characters': '\u2A6D\u0338' }, + '⩂': { 'codepoints': [0x02A42], 'characters': '\u2A42' }, + 'н': { 'codepoints': [0x0043D], 'characters': '\u043D' }, + '–': { 'codepoints': [0x02013], 'characters': '\u2013' }, + '≠': { 'codepoints': [0x02260], 'characters': '\u2260' }, + '⇗': { 'codepoints': [0x021D7], 'characters': '\u21D7' }, + '⤤': { 'codepoints': [0x02924], 'characters': '\u2924' }, + '↗': { 'codepoints': [0x02197], 'characters': '\u2197' }, + '↗': { 'codepoints': [0x02197], 'characters': '\u2197' }, + '≐̸': { 'codepoints': [0x02250, 0x00338], 'characters': '\u2250\u0338' }, + '≢': { 'codepoints': [0x02262], 'characters': '\u2262' }, + '⤨': { 'codepoints': [0x02928], 'characters': '\u2928' }, + '≂̸': { 'codepoints': [0x02242, 0x00338], 'characters': '\u2242\u0338' }, + '∄': { 'codepoints': [0x02204], 'characters': '\u2204' }, + '∄': { 'codepoints': [0x02204], 'characters': '\u2204' }, + '𝔫': { 'codepoints': [0x1D52B], 'characters': '\uD835\uDD2B' }, + '≧̸': { 'codepoints': [0x02267, 0x00338], 'characters': '\u2267\u0338' }, + '≱': { 'codepoints': [0x02271], 'characters': '\u2271' }, + '≱': { 'codepoints': [0x02271], 'characters': '\u2271' }, + '≧̸': { 'codepoints': [0x02267, 0x00338], 'characters': '\u2267\u0338' }, + '⩾̸': { 'codepoints': [0x02A7E, 0x00338], 'characters': '\u2A7E\u0338' }, + '⩾̸': { 'codepoints': [0x02A7E, 0x00338], 'characters': '\u2A7E\u0338' }, + '≵': { 'codepoints': [0x02275], 'characters': '\u2275' }, + '≯': { 'codepoints': [0x0226F], 'characters': '\u226F' }, + '≯': { 'codepoints': [0x0226F], 'characters': '\u226F' }, + '⇎': { 'codepoints': [0x021CE], 'characters': '\u21CE' }, + '↮': { 'codepoints': [0x021AE], 'characters': '\u21AE' }, + '⫲': { 'codepoints': [0x02AF2], 'characters': '\u2AF2' }, + '∋': { 'codepoints': [0x0220B], 'characters': '\u220B' }, + '⋼': { 'codepoints': [0x022FC], 'characters': '\u22FC' }, + '⋺': { 'codepoints': [0x022FA], 'characters': '\u22FA' }, + '∋': { 'codepoints': [0x0220B], 'characters': '\u220B' }, + 'њ': { 'codepoints': [0x0045A], 'characters': '\u045A' }, + '⇍': { 'codepoints': [0x021CD], 'characters': '\u21CD' }, + '≦̸': { 'codepoints': [0x02266, 0x00338], 'characters': '\u2266\u0338' }, + '↚': { 'codepoints': [0x0219A], 'characters': '\u219A' }, + '‥': { 'codepoints': [0x02025], 'characters': '\u2025' }, + '≰': { 'codepoints': [0x02270], 'characters': '\u2270' }, + '↚': { 'codepoints': [0x0219A], 'characters': '\u219A' }, + '↮': { 'codepoints': [0x021AE], 'characters': '\u21AE' }, + '≰': { 'codepoints': [0x02270], 'characters': '\u2270' }, + '≦̸': { 'codepoints': [0x02266, 0x00338], 'characters': '\u2266\u0338' }, + '⩽̸': { 'codepoints': [0x02A7D, 0x00338], 'characters': '\u2A7D\u0338' }, + '⩽̸': { 'codepoints': [0x02A7D, 0x00338], 'characters': '\u2A7D\u0338' }, + '≮': { 'codepoints': [0x0226E], 'characters': '\u226E' }, + '≴': { 'codepoints': [0x02274], 'characters': '\u2274' }, + '≮': { 'codepoints': [0x0226E], 'characters': '\u226E' }, + '⋪': { 'codepoints': [0x022EA], 'characters': '\u22EA' }, + '⋬': { 'codepoints': [0x022EC], 'characters': '\u22EC' }, + '∤': { 'codepoints': [0x02224], 'characters': '\u2224' }, + '𝕟': { 'codepoints': [0x1D55F], 'characters': '\uD835\uDD5F' }, + '¬': { 'codepoints': [0x000AC], 'characters': '\xAC' }, + '¬': { 'codepoints': [0x000AC], 'characters': '\xAC' }, + '∉': { 'codepoints': [0x02209], 'characters': '\u2209' }, + '⋹̸': { 'codepoints': [0x022F9, 0x00338], 'characters': '\u22F9\u0338' }, + '⋵̸': { 'codepoints': [0x022F5, 0x00338], 'characters': '\u22F5\u0338' }, + '∉': { 'codepoints': [0x02209], 'characters': '\u2209' }, + '⋷': { 'codepoints': [0x022F7], 'characters': '\u22F7' }, + '⋶': { 'codepoints': [0x022F6], 'characters': '\u22F6' }, + '∌': { 'codepoints': [0x0220C], 'characters': '\u220C' }, + '∌': { 'codepoints': [0x0220C], 'characters': '\u220C' }, + '⋾': { 'codepoints': [0x022FE], 'characters': '\u22FE' }, + '⋽': { 'codepoints': [0x022FD], 'characters': '\u22FD' }, + '∦': { 'codepoints': [0x02226], 'characters': '\u2226' }, + '∦': { 'codepoints': [0x02226], 'characters': '\u2226' }, + '⫽⃥': { 'codepoints': [0x02AFD, 0x020E5], 'characters': '\u2AFD\u20E5' }, + '∂̸': { 'codepoints': [0x02202, 0x00338], 'characters': '\u2202\u0338' }, + '⨔': { 'codepoints': [0x02A14], 'characters': '\u2A14' }, + '⊀': { 'codepoints': [0x02280], 'characters': '\u2280' }, + '⋠': { 'codepoints': [0x022E0], 'characters': '\u22E0' }, + '⪯̸': { 'codepoints': [0x02AAF, 0x00338], 'characters': '\u2AAF\u0338' }, + '⊀': { 'codepoints': [0x02280], 'characters': '\u2280' }, + '⪯̸': { 'codepoints': [0x02AAF, 0x00338], 'characters': '\u2AAF\u0338' }, + '⇏': { 'codepoints': [0x021CF], 'characters': '\u21CF' }, + '↛': { 'codepoints': [0x0219B], 'characters': '\u219B' }, + '⤳̸': { 'codepoints': [0x02933, 0x00338], 'characters': '\u2933\u0338' }, + '↝̸': { 'codepoints': [0x0219D, 0x00338], 'characters': '\u219D\u0338' }, + '↛': { 'codepoints': [0x0219B], 'characters': '\u219B' }, + '⋫': { 'codepoints': [0x022EB], 'characters': '\u22EB' }, + '⋭': { 'codepoints': [0x022ED], 'characters': '\u22ED' }, + '⊁': { 'codepoints': [0x02281], 'characters': '\u2281' }, + '⋡': { 'codepoints': [0x022E1], 'characters': '\u22E1' }, + '⪰̸': { 'codepoints': [0x02AB0, 0x00338], 'characters': '\u2AB0\u0338' }, + '𝓃': { 'codepoints': [0x1D4C3], 'characters': '\uD835\uDCC3' }, + '∤': { 'codepoints': [0x02224], 'characters': '\u2224' }, + '∦': { 'codepoints': [0x02226], 'characters': '\u2226' }, + '≁': { 'codepoints': [0x02241], 'characters': '\u2241' }, + '≄': { 'codepoints': [0x02244], 'characters': '\u2244' }, + '≄': { 'codepoints': [0x02244], 'characters': '\u2244' }, + '∤': { 'codepoints': [0x02224], 'characters': '\u2224' }, + '∦': { 'codepoints': [0x02226], 'characters': '\u2226' }, + '⋢': { 'codepoints': [0x022E2], 'characters': '\u22E2' }, + '⋣': { 'codepoints': [0x022E3], 'characters': '\u22E3' }, + '⊄': { 'codepoints': [0x02284], 'characters': '\u2284' }, + '⫅̸': { 'codepoints': [0x02AC5, 0x00338], 'characters': '\u2AC5\u0338' }, + '⊈': { 'codepoints': [0x02288], 'characters': '\u2288' }, + '⊂⃒': { 'codepoints': [0x02282, 0x020D2], 'characters': '\u2282\u20D2' }, + '⊈': { 'codepoints': [0x02288], 'characters': '\u2288' }, + '⫅̸': { 'codepoints': [0x02AC5, 0x00338], 'characters': '\u2AC5\u0338' }, + '⊁': { 'codepoints': [0x02281], 'characters': '\u2281' }, + '⪰̸': { 'codepoints': [0x02AB0, 0x00338], 'characters': '\u2AB0\u0338' }, + '⊅': { 'codepoints': [0x02285], 'characters': '\u2285' }, + '⫆̸': { 'codepoints': [0x02AC6, 0x00338], 'characters': '\u2AC6\u0338' }, + '⊉': { 'codepoints': [0x02289], 'characters': '\u2289' }, + '⊃⃒': { 'codepoints': [0x02283, 0x020D2], 'characters': '\u2283\u20D2' }, + '⊉': { 'codepoints': [0x02289], 'characters': '\u2289' }, + '⫆̸': { 'codepoints': [0x02AC6, 0x00338], 'characters': '\u2AC6\u0338' }, + '≹': { 'codepoints': [0x02279], 'characters': '\u2279' }, + 'ñ': { 'codepoints': [0x000F1], 'characters': '\xF1' }, + 'ñ': { 'codepoints': [0x000F1], 'characters': '\xF1' }, + '≸': { 'codepoints': [0x02278], 'characters': '\u2278' }, + '⋪': { 'codepoints': [0x022EA], 'characters': '\u22EA' }, + '⋬': { 'codepoints': [0x022EC], 'characters': '\u22EC' }, + '⋫': { 'codepoints': [0x022EB], 'characters': '\u22EB' }, + '⋭': { 'codepoints': [0x022ED], 'characters': '\u22ED' }, + 'ν': { 'codepoints': [0x003BD], 'characters': '\u03BD' }, + '#': { 'codepoints': [0x00023], 'characters': '\x23' }, + '№': { 'codepoints': [0x02116], 'characters': '\u2116' }, + ' ': { 'codepoints': [0x02007], 'characters': '\u2007' }, + '⊭': { 'codepoints': [0x022AD], 'characters': '\u22AD' }, + '⤄': { 'codepoints': [0x02904], 'characters': '\u2904' }, + '≍⃒': { 'codepoints': [0x0224D, 0x020D2], 'characters': '\u224D\u20D2' }, + '⊬': { 'codepoints': [0x022AC], 'characters': '\u22AC' }, + '≥⃒': { 'codepoints': [0x02265, 0x020D2], 'characters': '\u2265\u20D2' }, + '>⃒': { 'codepoints': [0x0003E, 0x020D2], 'characters': '\x3E\u20D2' }, + '⧞': { 'codepoints': [0x029DE], 'characters': '\u29DE' }, + '⤂': { 'codepoints': [0x02902], 'characters': '\u2902' }, + '≤⃒': { 'codepoints': [0x02264, 0x020D2], 'characters': '\u2264\u20D2' }, + '<⃒': { 'codepoints': [0x0003C, 0x020D2], 'characters': '\x3C\u20D2' }, + '⊴⃒': { 'codepoints': [0x022B4, 0x020D2], 'characters': '\u22B4\u20D2' }, + '⤃': { 'codepoints': [0x02903], 'characters': '\u2903' }, + '⊵⃒': { 'codepoints': [0x022B5, 0x020D2], 'characters': '\u22B5\u20D2' }, + '∼⃒': { 'codepoints': [0x0223C, 0x020D2], 'characters': '\u223C\u20D2' }, + '⇖': { 'codepoints': [0x021D6], 'characters': '\u21D6' }, + '⤣': { 'codepoints': [0x02923], 'characters': '\u2923' }, + '↖': { 'codepoints': [0x02196], 'characters': '\u2196' }, + '↖': { 'codepoints': [0x02196], 'characters': '\u2196' }, + '⤧': { 'codepoints': [0x02927], 'characters': '\u2927' }, + 'Ⓢ': { 'codepoints': [0x024C8], 'characters': '\u24C8' }, + 'ó': { 'codepoints': [0x000F3], 'characters': '\xF3' }, + 'ó': { 'codepoints': [0x000F3], 'characters': '\xF3' }, + '⊛': { 'codepoints': [0x0229B], 'characters': '\u229B' }, + '⊚': { 'codepoints': [0x0229A], 'characters': '\u229A' }, + 'ô': { 'codepoints': [0x000F4], 'characters': '\xF4' }, + 'ô': { 'codepoints': [0x000F4], 'characters': '\xF4' }, + 'о': { 'codepoints': [0x0043E], 'characters': '\u043E' }, + '⊝': { 'codepoints': [0x0229D], 'characters': '\u229D' }, + 'ő': { 'codepoints': [0x00151], 'characters': '\u0151' }, + '⨸': { 'codepoints': [0x02A38], 'characters': '\u2A38' }, + '⊙': { 'codepoints': [0x02299], 'characters': '\u2299' }, + '⦼': { 'codepoints': [0x029BC], 'characters': '\u29BC' }, + 'œ': { 'codepoints': [0x00153], 'characters': '\u0153' }, + '⦿': { 'codepoints': [0x029BF], 'characters': '\u29BF' }, + '𝔬': { 'codepoints': [0x1D52C], 'characters': '\uD835\uDD2C' }, + '˛': { 'codepoints': [0x002DB], 'characters': '\u02DB' }, + 'ò': { 'codepoints': [0x000F2], 'characters': '\xF2' }, + 'ò': { 'codepoints': [0x000F2], 'characters': '\xF2' }, + '⧁': { 'codepoints': [0x029C1], 'characters': '\u29C1' }, + '⦵': { 'codepoints': [0x029B5], 'characters': '\u29B5' }, + 'Ω': { 'codepoints': [0x003A9], 'characters': '\u03A9' }, + '∮': { 'codepoints': [0x0222E], 'characters': '\u222E' }, + '↺': { 'codepoints': [0x021BA], 'characters': '\u21BA' }, + '⦾': { 'codepoints': [0x029BE], 'characters': '\u29BE' }, + '⦻': { 'codepoints': [0x029BB], 'characters': '\u29BB' }, + '‾': { 'codepoints': [0x0203E], 'characters': '\u203E' }, + '⧀': { 'codepoints': [0x029C0], 'characters': '\u29C0' }, + 'ō': { 'codepoints': [0x0014D], 'characters': '\u014D' }, + 'ω': { 'codepoints': [0x003C9], 'characters': '\u03C9' }, + 'ο': { 'codepoints': [0x003BF], 'characters': '\u03BF' }, + '⦶': { 'codepoints': [0x029B6], 'characters': '\u29B6' }, + '⊖': { 'codepoints': [0x02296], 'characters': '\u2296' }, + '𝕠': { 'codepoints': [0x1D560], 'characters': '\uD835\uDD60' }, + '⦷': { 'codepoints': [0x029B7], 'characters': '\u29B7' }, + '⦹': { 'codepoints': [0x029B9], 'characters': '\u29B9' }, + '⊕': { 'codepoints': [0x02295], 'characters': '\u2295' }, + '∨': { 'codepoints': [0x02228], 'characters': '\u2228' }, + '↻': { 'codepoints': [0x021BB], 'characters': '\u21BB' }, + '⩝': { 'codepoints': [0x02A5D], 'characters': '\u2A5D' }, + 'ℴ': { 'codepoints': [0x02134], 'characters': '\u2134' }, + 'ℴ': { 'codepoints': [0x02134], 'characters': '\u2134' }, + 'ª': { 'codepoints': [0x000AA], 'characters': '\xAA' }, + 'ª': { 'codepoints': [0x000AA], 'characters': '\xAA' }, + 'º': { 'codepoints': [0x000BA], 'characters': '\xBA' }, + 'º': { 'codepoints': [0x000BA], 'characters': '\xBA' }, + '⊶': { 'codepoints': [0x022B6], 'characters': '\u22B6' }, + '⩖': { 'codepoints': [0x02A56], 'characters': '\u2A56' }, + '⩗': { 'codepoints': [0x02A57], 'characters': '\u2A57' }, + '⩛': { 'codepoints': [0x02A5B], 'characters': '\u2A5B' }, + 'ℴ': { 'codepoints': [0x02134], 'characters': '\u2134' }, + 'ø': { 'codepoints': [0x000F8], 'characters': '\xF8' }, + 'ø': { 'codepoints': [0x000F8], 'characters': '\xF8' }, + '⊘': { 'codepoints': [0x02298], 'characters': '\u2298' }, + 'õ': { 'codepoints': [0x000F5], 'characters': '\xF5' }, + 'õ': { 'codepoints': [0x000F5], 'characters': '\xF5' }, + '⊗': { 'codepoints': [0x02297], 'characters': '\u2297' }, + '⨶': { 'codepoints': [0x02A36], 'characters': '\u2A36' }, + 'ö': { 'codepoints': [0x000F6], 'characters': '\xF6' }, + 'ö': { 'codepoints': [0x000F6], 'characters': '\xF6' }, + '⌽': { 'codepoints': [0x0233D], 'characters': '\u233D' }, + '∥': { 'codepoints': [0x02225], 'characters': '\u2225' }, + '¶': { 'codepoints': [0x000B6], 'characters': '\xB6' }, + '¶': { 'codepoints': [0x000B6], 'characters': '\xB6' }, + '∥': { 'codepoints': [0x02225], 'characters': '\u2225' }, + '⫳': { 'codepoints': [0x02AF3], 'characters': '\u2AF3' }, + '⫽': { 'codepoints': [0x02AFD], 'characters': '\u2AFD' }, + '∂': { 'codepoints': [0x02202], 'characters': '\u2202' }, + 'п': { 'codepoints': [0x0043F], 'characters': '\u043F' }, + '%': { 'codepoints': [0x00025], 'characters': '\x25' }, + '.': { 'codepoints': [0x0002E], 'characters': '\x2E' }, + '‰': { 'codepoints': [0x02030], 'characters': '\u2030' }, + '⊥': { 'codepoints': [0x022A5], 'characters': '\u22A5' }, + '‱': { 'codepoints': [0x02031], 'characters': '\u2031' }, + '𝔭': { 'codepoints': [0x1D52D], 'characters': '\uD835\uDD2D' }, + 'φ': { 'codepoints': [0x003C6], 'characters': '\u03C6' }, + 'ϕ': { 'codepoints': [0x003D5], 'characters': '\u03D5' }, + 'ℳ': { 'codepoints': [0x02133], 'characters': '\u2133' }, + '☎': { 'codepoints': [0x0260E], 'characters': '\u260E' }, + 'π': { 'codepoints': [0x003C0], 'characters': '\u03C0' }, + '⋔': { 'codepoints': [0x022D4], 'characters': '\u22D4' }, + 'ϖ': { 'codepoints': [0x003D6], 'characters': '\u03D6' }, + 'ℏ': { 'codepoints': [0x0210F], 'characters': '\u210F' }, + 'ℎ': { 'codepoints': [0x0210E], 'characters': '\u210E' }, + 'ℏ': { 'codepoints': [0x0210F], 'characters': '\u210F' }, + '+': { 'codepoints': [0x0002B], 'characters': '\x2B' }, + '⨣': { 'codepoints': [0x02A23], 'characters': '\u2A23' }, + '⊞': { 'codepoints': [0x0229E], 'characters': '\u229E' }, + '⨢': { 'codepoints': [0x02A22], 'characters': '\u2A22' }, + '∔': { 'codepoints': [0x02214], 'characters': '\u2214' }, + '⨥': { 'codepoints': [0x02A25], 'characters': '\u2A25' }, + '⩲': { 'codepoints': [0x02A72], 'characters': '\u2A72' }, + '±': { 'codepoints': [0x000B1], 'characters': '\xB1' }, + '±': { 'codepoints': [0x000B1], 'characters': '\xB1' }, + '⨦': { 'codepoints': [0x02A26], 'characters': '\u2A26' }, + '⨧': { 'codepoints': [0x02A27], 'characters': '\u2A27' }, + '±': { 'codepoints': [0x000B1], 'characters': '\xB1' }, + '⨕': { 'codepoints': [0x02A15], 'characters': '\u2A15' }, + '𝕡': { 'codepoints': [0x1D561], 'characters': '\uD835\uDD61' }, + '£': { 'codepoints': [0x000A3], 'characters': '\xA3' }, + '£': { 'codepoints': [0x000A3], 'characters': '\xA3' }, + '≺': { 'codepoints': [0x0227A], 'characters': '\u227A' }, + '⪳': { 'codepoints': [0x02AB3], 'characters': '\u2AB3' }, + '⪷': { 'codepoints': [0x02AB7], 'characters': '\u2AB7' }, + '≼': { 'codepoints': [0x0227C], 'characters': '\u227C' }, + '⪯': { 'codepoints': [0x02AAF], 'characters': '\u2AAF' }, + '≺': { 'codepoints': [0x0227A], 'characters': '\u227A' }, + '⪷': { 'codepoints': [0x02AB7], 'characters': '\u2AB7' }, + '≼': { 'codepoints': [0x0227C], 'characters': '\u227C' }, + '⪯': { 'codepoints': [0x02AAF], 'characters': '\u2AAF' }, + '⪹': { 'codepoints': [0x02AB9], 'characters': '\u2AB9' }, + '⪵': { 'codepoints': [0x02AB5], 'characters': '\u2AB5' }, + '⋨': { 'codepoints': [0x022E8], 'characters': '\u22E8' }, + '≾': { 'codepoints': [0x0227E], 'characters': '\u227E' }, + '′': { 'codepoints': [0x02032], 'characters': '\u2032' }, + 'ℙ': { 'codepoints': [0x02119], 'characters': '\u2119' }, + '⪵': { 'codepoints': [0x02AB5], 'characters': '\u2AB5' }, + '⪹': { 'codepoints': [0x02AB9], 'characters': '\u2AB9' }, + '⋨': { 'codepoints': [0x022E8], 'characters': '\u22E8' }, + '∏': { 'codepoints': [0x0220F], 'characters': '\u220F' }, + '⌮': { 'codepoints': [0x0232E], 'characters': '\u232E' }, + '⌒': { 'codepoints': [0x02312], 'characters': '\u2312' }, + '⌓': { 'codepoints': [0x02313], 'characters': '\u2313' }, + '∝': { 'codepoints': [0x0221D], 'characters': '\u221D' }, + '∝': { 'codepoints': [0x0221D], 'characters': '\u221D' }, + '≾': { 'codepoints': [0x0227E], 'characters': '\u227E' }, + '⊰': { 'codepoints': [0x022B0], 'characters': '\u22B0' }, + '𝓅': { 'codepoints': [0x1D4C5], 'characters': '\uD835\uDCC5' }, + 'ψ': { 'codepoints': [0x003C8], 'characters': '\u03C8' }, + ' ': { 'codepoints': [0x02008], 'characters': '\u2008' }, + '𝔮': { 'codepoints': [0x1D52E], 'characters': '\uD835\uDD2E' }, + '⨌': { 'codepoints': [0x02A0C], 'characters': '\u2A0C' }, + '𝕢': { 'codepoints': [0x1D562], 'characters': '\uD835\uDD62' }, + '⁗': { 'codepoints': [0x02057], 'characters': '\u2057' }, + '𝓆': { 'codepoints': [0x1D4C6], 'characters': '\uD835\uDCC6' }, + 'ℍ': { 'codepoints': [0x0210D], 'characters': '\u210D' }, + '⨖': { 'codepoints': [0x02A16], 'characters': '\u2A16' }, + '?': { 'codepoints': [0x0003F], 'characters': '\x3F' }, + '≟': { 'codepoints': [0x0225F], 'characters': '\u225F' }, + '"': { 'codepoints': [0x00022], 'characters': '\x22' }, + '"': { 'codepoints': [0x00022], 'characters': '\x22' }, + '⇛': { 'codepoints': [0x021DB], 'characters': '\u21DB' }, + '⇒': { 'codepoints': [0x021D2], 'characters': '\u21D2' }, + '⤜': { 'codepoints': [0x0291C], 'characters': '\u291C' }, + '⤏': { 'codepoints': [0x0290F], 'characters': '\u290F' }, + '⥤': { 'codepoints': [0x02964], 'characters': '\u2964' }, + '∽̱': { 'codepoints': [0x0223D, 0x00331], 'characters': '\u223D\u0331' }, + 'ŕ': { 'codepoints': [0x00155], 'characters': '\u0155' }, + '√': { 'codepoints': [0x0221A], 'characters': '\u221A' }, + '⦳': { 'codepoints': [0x029B3], 'characters': '\u29B3' }, + '⟩': { 'codepoints': [0x027E9], 'characters': '\u27E9' }, + '⦒': { 'codepoints': [0x02992], 'characters': '\u2992' }, + '⦥': { 'codepoints': [0x029A5], 'characters': '\u29A5' }, + '⟩': { 'codepoints': [0x027E9], 'characters': '\u27E9' }, + '»': { 'codepoints': [0x000BB], 'characters': '\xBB' }, + '»': { 'codepoints': [0x000BB], 'characters': '\xBB' }, + '→': { 'codepoints': [0x02192], 'characters': '\u2192' }, + '⥵': { 'codepoints': [0x02975], 'characters': '\u2975' }, + '⇥': { 'codepoints': [0x021E5], 'characters': '\u21E5' }, + '⤠': { 'codepoints': [0x02920], 'characters': '\u2920' }, + '⤳': { 'codepoints': [0x02933], 'characters': '\u2933' }, + '⤞': { 'codepoints': [0x0291E], 'characters': '\u291E' }, + '↪': { 'codepoints': [0x021AA], 'characters': '\u21AA' }, + '↬': { 'codepoints': [0x021AC], 'characters': '\u21AC' }, + '⥅': { 'codepoints': [0x02945], 'characters': '\u2945' }, + '⥴': { 'codepoints': [0x02974], 'characters': '\u2974' }, + '↣': { 'codepoints': [0x021A3], 'characters': '\u21A3' }, + '↝': { 'codepoints': [0x0219D], 'characters': '\u219D' }, + '⤚': { 'codepoints': [0x0291A], 'characters': '\u291A' }, + '∶': { 'codepoints': [0x02236], 'characters': '\u2236' }, + 'ℚ': { 'codepoints': [0x0211A], 'characters': '\u211A' }, + '⤍': { 'codepoints': [0x0290D], 'characters': '\u290D' }, + '❳': { 'codepoints': [0x02773], 'characters': '\u2773' }, + '}': { 'codepoints': [0x0007D], 'characters': '\x7D' }, + ']': { 'codepoints': [0x0005D], 'characters': '\x5D' }, + '⦌': { 'codepoints': [0x0298C], 'characters': '\u298C' }, + '⦎': { 'codepoints': [0x0298E], 'characters': '\u298E' }, + '⦐': { 'codepoints': [0x02990], 'characters': '\u2990' }, + 'ř': { 'codepoints': [0x00159], 'characters': '\u0159' }, + 'ŗ': { 'codepoints': [0x00157], 'characters': '\u0157' }, + '⌉': { 'codepoints': [0x02309], 'characters': '\u2309' }, + '}': { 'codepoints': [0x0007D], 'characters': '\x7D' }, + 'р': { 'codepoints': [0x00440], 'characters': '\u0440' }, + '⤷': { 'codepoints': [0x02937], 'characters': '\u2937' }, + '⥩': { 'codepoints': [0x02969], 'characters': '\u2969' }, + '”': { 'codepoints': [0x0201D], 'characters': '\u201D' }, + '”': { 'codepoints': [0x0201D], 'characters': '\u201D' }, + '↳': { 'codepoints': [0x021B3], 'characters': '\u21B3' }, + 'ℜ': { 'codepoints': [0x0211C], 'characters': '\u211C' }, + 'ℛ': { 'codepoints': [0x0211B], 'characters': '\u211B' }, + 'ℜ': { 'codepoints': [0x0211C], 'characters': '\u211C' }, + 'ℝ': { 'codepoints': [0x0211D], 'characters': '\u211D' }, + '▭': { 'codepoints': [0x025AD], 'characters': '\u25AD' }, + '®': { 'codepoints': [0x000AE], 'characters': '\xAE' }, + '®': { 'codepoints': [0x000AE], 'characters': '\xAE' }, + '⥽': { 'codepoints': [0x0297D], 'characters': '\u297D' }, + '⌋': { 'codepoints': [0x0230B], 'characters': '\u230B' }, + '𝔯': { 'codepoints': [0x1D52F], 'characters': '\uD835\uDD2F' }, + '⇁': { 'codepoints': [0x021C1], 'characters': '\u21C1' }, + '⇀': { 'codepoints': [0x021C0], 'characters': '\u21C0' }, + '⥬': { 'codepoints': [0x0296C], 'characters': '\u296C' }, + 'ρ': { 'codepoints': [0x003C1], 'characters': '\u03C1' }, + 'ϱ': { 'codepoints': [0x003F1], 'characters': '\u03F1' }, + '→': { 'codepoints': [0x02192], 'characters': '\u2192' }, + '↣': { 'codepoints': [0x021A3], 'characters': '\u21A3' }, + '⇁': { 'codepoints': [0x021C1], 'characters': '\u21C1' }, + '⇀': { 'codepoints': [0x021C0], 'characters': '\u21C0' }, + '⇄': { 'codepoints': [0x021C4], 'characters': '\u21C4' }, + '⇌': { 'codepoints': [0x021CC], 'characters': '\u21CC' }, + '⇉': { 'codepoints': [0x021C9], 'characters': '\u21C9' }, + '↝': { 'codepoints': [0x0219D], 'characters': '\u219D' }, + '⋌': { 'codepoints': [0x022CC], 'characters': '\u22CC' }, + '˚': { 'codepoints': [0x002DA], 'characters': '\u02DA' }, + '≓': { 'codepoints': [0x02253], 'characters': '\u2253' }, + '⇄': { 'codepoints': [0x021C4], 'characters': '\u21C4' }, + '⇌': { 'codepoints': [0x021CC], 'characters': '\u21CC' }, + '‏': { 'codepoints': [0x0200F], 'characters': '\u200F' }, + '⎱': { 'codepoints': [0x023B1], 'characters': '\u23B1' }, + '⎱': { 'codepoints': [0x023B1], 'characters': '\u23B1' }, + '⫮': { 'codepoints': [0x02AEE], 'characters': '\u2AEE' }, + '⟭': { 'codepoints': [0x027ED], 'characters': '\u27ED' }, + '⇾': { 'codepoints': [0x021FE], 'characters': '\u21FE' }, + '⟧': { 'codepoints': [0x027E7], 'characters': '\u27E7' }, + '⦆': { 'codepoints': [0x02986], 'characters': '\u2986' }, + '𝕣': { 'codepoints': [0x1D563], 'characters': '\uD835\uDD63' }, + '⨮': { 'codepoints': [0x02A2E], 'characters': '\u2A2E' }, + '⨵': { 'codepoints': [0x02A35], 'characters': '\u2A35' }, + ')': { 'codepoints': [0x00029], 'characters': '\x29' }, + '⦔': { 'codepoints': [0x02994], 'characters': '\u2994' }, + '⨒': { 'codepoints': [0x02A12], 'characters': '\u2A12' }, + '⇉': { 'codepoints': [0x021C9], 'characters': '\u21C9' }, + '›': { 'codepoints': [0x0203A], 'characters': '\u203A' }, + '𝓇': { 'codepoints': [0x1D4C7], 'characters': '\uD835\uDCC7' }, + '↱': { 'codepoints': [0x021B1], 'characters': '\u21B1' }, + ']': { 'codepoints': [0x0005D], 'characters': '\x5D' }, + '’': { 'codepoints': [0x02019], 'characters': '\u2019' }, + '’': { 'codepoints': [0x02019], 'characters': '\u2019' }, + '⋌': { 'codepoints': [0x022CC], 'characters': '\u22CC' }, + '⋊': { 'codepoints': [0x022CA], 'characters': '\u22CA' }, + '▹': { 'codepoints': [0x025B9], 'characters': '\u25B9' }, + '⊵': { 'codepoints': [0x022B5], 'characters': '\u22B5' }, + '▸': { 'codepoints': [0x025B8], 'characters': '\u25B8' }, + '⧎': { 'codepoints': [0x029CE], 'characters': '\u29CE' }, + '⥨': { 'codepoints': [0x02968], 'characters': '\u2968' }, + '℞': { 'codepoints': [0x0211E], 'characters': '\u211E' }, + 'ś': { 'codepoints': [0x0015B], 'characters': '\u015B' }, + '‚': { 'codepoints': [0x0201A], 'characters': '\u201A' }, + '≻': { 'codepoints': [0x0227B], 'characters': '\u227B' }, + '⪴': { 'codepoints': [0x02AB4], 'characters': '\u2AB4' }, + '⪸': { 'codepoints': [0x02AB8], 'characters': '\u2AB8' }, + 'š': { 'codepoints': [0x00161], 'characters': '\u0161' }, + '≽': { 'codepoints': [0x0227D], 'characters': '\u227D' }, + '⪰': { 'codepoints': [0x02AB0], 'characters': '\u2AB0' }, + 'ş': { 'codepoints': [0x0015F], 'characters': '\u015F' }, + 'ŝ': { 'codepoints': [0x0015D], 'characters': '\u015D' }, + '⪶': { 'codepoints': [0x02AB6], 'characters': '\u2AB6' }, + '⪺': { 'codepoints': [0x02ABA], 'characters': '\u2ABA' }, + '⋩': { 'codepoints': [0x022E9], 'characters': '\u22E9' }, + '⨓': { 'codepoints': [0x02A13], 'characters': '\u2A13' }, + '≿': { 'codepoints': [0x0227F], 'characters': '\u227F' }, + 'с': { 'codepoints': [0x00441], 'characters': '\u0441' }, + '⋅': { 'codepoints': [0x022C5], 'characters': '\u22C5' }, + '⊡': { 'codepoints': [0x022A1], 'characters': '\u22A1' }, + '⩦': { 'codepoints': [0x02A66], 'characters': '\u2A66' }, + '⇘': { 'codepoints': [0x021D8], 'characters': '\u21D8' }, + '⤥': { 'codepoints': [0x02925], 'characters': '\u2925' }, + '↘': { 'codepoints': [0x02198], 'characters': '\u2198' }, + '↘': { 'codepoints': [0x02198], 'characters': '\u2198' }, + '§': { 'codepoints': [0x000A7], 'characters': '\xA7' }, + '§': { 'codepoints': [0x000A7], 'characters': '\xA7' }, + ';': { 'codepoints': [0x0003B], 'characters': '\x3B' }, + '⤩': { 'codepoints': [0x02929], 'characters': '\u2929' }, + '∖': { 'codepoints': [0x02216], 'characters': '\u2216' }, + '∖': { 'codepoints': [0x02216], 'characters': '\u2216' }, + '✶': { 'codepoints': [0x02736], 'characters': '\u2736' }, + '𝔰': { 'codepoints': [0x1D530], 'characters': '\uD835\uDD30' }, + '⌢': { 'codepoints': [0x02322], 'characters': '\u2322' }, + '♯': { 'codepoints': [0x0266F], 'characters': '\u266F' }, + 'щ': { 'codepoints': [0x00449], 'characters': '\u0449' }, + 'ш': { 'codepoints': [0x00448], 'characters': '\u0448' }, + '∣': { 'codepoints': [0x02223], 'characters': '\u2223' }, + '∥': { 'codepoints': [0x02225], 'characters': '\u2225' }, + '­': { 'codepoints': [0x000AD], 'characters': '\xAD' }, + '­': { 'codepoints': [0x000AD], 'characters': '\xAD' }, + 'σ': { 'codepoints': [0x003C3], 'characters': '\u03C3' }, + 'ς': { 'codepoints': [0x003C2], 'characters': '\u03C2' }, + 'ς': { 'codepoints': [0x003C2], 'characters': '\u03C2' }, + '∼': { 'codepoints': [0x0223C], 'characters': '\u223C' }, + '⩪': { 'codepoints': [0x02A6A], 'characters': '\u2A6A' }, + '≃': { 'codepoints': [0x02243], 'characters': '\u2243' }, + '≃': { 'codepoints': [0x02243], 'characters': '\u2243' }, + '⪞': { 'codepoints': [0x02A9E], 'characters': '\u2A9E' }, + '⪠': { 'codepoints': [0x02AA0], 'characters': '\u2AA0' }, + '⪝': { 'codepoints': [0x02A9D], 'characters': '\u2A9D' }, + '⪟': { 'codepoints': [0x02A9F], 'characters': '\u2A9F' }, + '≆': { 'codepoints': [0x02246], 'characters': '\u2246' }, + '⨤': { 'codepoints': [0x02A24], 'characters': '\u2A24' }, + '⥲': { 'codepoints': [0x02972], 'characters': '\u2972' }, + '←': { 'codepoints': [0x02190], 'characters': '\u2190' }, + '∖': { 'codepoints': [0x02216], 'characters': '\u2216' }, + '⨳': { 'codepoints': [0x02A33], 'characters': '\u2A33' }, + '⧤': { 'codepoints': [0x029E4], 'characters': '\u29E4' }, + '∣': { 'codepoints': [0x02223], 'characters': '\u2223' }, + '⌣': { 'codepoints': [0x02323], 'characters': '\u2323' }, + '⪪': { 'codepoints': [0x02AAA], 'characters': '\u2AAA' }, + '⪬': { 'codepoints': [0x02AAC], 'characters': '\u2AAC' }, + '⪬︀': { 'codepoints': [0x02AAC, 0x0FE00], 'characters': '\u2AAC\uFE00' }, + 'ь': { 'codepoints': [0x0044C], 'characters': '\u044C' }, + '/': { 'codepoints': [0x0002F], 'characters': '\x2F' }, + '⧄': { 'codepoints': [0x029C4], 'characters': '\u29C4' }, + '⌿': { 'codepoints': [0x0233F], 'characters': '\u233F' }, + '𝕤': { 'codepoints': [0x1D564], 'characters': '\uD835\uDD64' }, + '♠': { 'codepoints': [0x02660], 'characters': '\u2660' }, + '♠': { 'codepoints': [0x02660], 'characters': '\u2660' }, + '∥': { 'codepoints': [0x02225], 'characters': '\u2225' }, + '⊓': { 'codepoints': [0x02293], 'characters': '\u2293' }, + '⊓︀': { 'codepoints': [0x02293, 0x0FE00], 'characters': '\u2293\uFE00' }, + '⊔': { 'codepoints': [0x02294], 'characters': '\u2294' }, + '⊔︀': { 'codepoints': [0x02294, 0x0FE00], 'characters': '\u2294\uFE00' }, + '⊏': { 'codepoints': [0x0228F], 'characters': '\u228F' }, + '⊑': { 'codepoints': [0x02291], 'characters': '\u2291' }, + '⊏': { 'codepoints': [0x0228F], 'characters': '\u228F' }, + '⊑': { 'codepoints': [0x02291], 'characters': '\u2291' }, + '⊐': { 'codepoints': [0x02290], 'characters': '\u2290' }, + '⊒': { 'codepoints': [0x02292], 'characters': '\u2292' }, + '⊐': { 'codepoints': [0x02290], 'characters': '\u2290' }, + '⊒': { 'codepoints': [0x02292], 'characters': '\u2292' }, + '□': { 'codepoints': [0x025A1], 'characters': '\u25A1' }, + '□': { 'codepoints': [0x025A1], 'characters': '\u25A1' }, + '▪': { 'codepoints': [0x025AA], 'characters': '\u25AA' }, + '▪': { 'codepoints': [0x025AA], 'characters': '\u25AA' }, + '→': { 'codepoints': [0x02192], 'characters': '\u2192' }, + '𝓈': { 'codepoints': [0x1D4C8], 'characters': '\uD835\uDCC8' }, + '∖': { 'codepoints': [0x02216], 'characters': '\u2216' }, + '⌣': { 'codepoints': [0x02323], 'characters': '\u2323' }, + '⋆': { 'codepoints': [0x022C6], 'characters': '\u22C6' }, + '☆': { 'codepoints': [0x02606], 'characters': '\u2606' }, + '★': { 'codepoints': [0x02605], 'characters': '\u2605' }, + 'ϵ': { 'codepoints': [0x003F5], 'characters': '\u03F5' }, + 'ϕ': { 'codepoints': [0x003D5], 'characters': '\u03D5' }, + '¯': { 'codepoints': [0x000AF], 'characters': '\xAF' }, + '⊂': { 'codepoints': [0x02282], 'characters': '\u2282' }, + '⫅': { 'codepoints': [0x02AC5], 'characters': '\u2AC5' }, + '⪽': { 'codepoints': [0x02ABD], 'characters': '\u2ABD' }, + '⊆': { 'codepoints': [0x02286], 'characters': '\u2286' }, + '⫃': { 'codepoints': [0x02AC3], 'characters': '\u2AC3' }, + '⫁': { 'codepoints': [0x02AC1], 'characters': '\u2AC1' }, + '⫋': { 'codepoints': [0x02ACB], 'characters': '\u2ACB' }, + '⊊': { 'codepoints': [0x0228A], 'characters': '\u228A' }, + '⪿': { 'codepoints': [0x02ABF], 'characters': '\u2ABF' }, + '⥹': { 'codepoints': [0x02979], 'characters': '\u2979' }, + '⊂': { 'codepoints': [0x02282], 'characters': '\u2282' }, + '⊆': { 'codepoints': [0x02286], 'characters': '\u2286' }, + '⫅': { 'codepoints': [0x02AC5], 'characters': '\u2AC5' }, + '⊊': { 'codepoints': [0x0228A], 'characters': '\u228A' }, + '⫋': { 'codepoints': [0x02ACB], 'characters': '\u2ACB' }, + '⫇': { 'codepoints': [0x02AC7], 'characters': '\u2AC7' }, + '⫕': { 'codepoints': [0x02AD5], 'characters': '\u2AD5' }, + '⫓': { 'codepoints': [0x02AD3], 'characters': '\u2AD3' }, + '≻': { 'codepoints': [0x0227B], 'characters': '\u227B' }, + '⪸': { 'codepoints': [0x02AB8], 'characters': '\u2AB8' }, + '≽': { 'codepoints': [0x0227D], 'characters': '\u227D' }, + '⪰': { 'codepoints': [0x02AB0], 'characters': '\u2AB0' }, + '⪺': { 'codepoints': [0x02ABA], 'characters': '\u2ABA' }, + '⪶': { 'codepoints': [0x02AB6], 'characters': '\u2AB6' }, + '⋩': { 'codepoints': [0x022E9], 'characters': '\u22E9' }, + '≿': { 'codepoints': [0x0227F], 'characters': '\u227F' }, + '∑': { 'codepoints': [0x02211], 'characters': '\u2211' }, + '♪': { 'codepoints': [0x0266A], 'characters': '\u266A' }, + '¹': { 'codepoints': [0x000B9], 'characters': '\xB9' }, + '¹': { 'codepoints': [0x000B9], 'characters': '\xB9' }, + '²': { 'codepoints': [0x000B2], 'characters': '\xB2' }, + '²': { 'codepoints': [0x000B2], 'characters': '\xB2' }, + '³': { 'codepoints': [0x000B3], 'characters': '\xB3' }, + '³': { 'codepoints': [0x000B3], 'characters': '\xB3' }, + '⊃': { 'codepoints': [0x02283], 'characters': '\u2283' }, + '⫆': { 'codepoints': [0x02AC6], 'characters': '\u2AC6' }, + '⪾': { 'codepoints': [0x02ABE], 'characters': '\u2ABE' }, + '⫘': { 'codepoints': [0x02AD8], 'characters': '\u2AD8' }, + '⊇': { 'codepoints': [0x02287], 'characters': '\u2287' }, + '⫄': { 'codepoints': [0x02AC4], 'characters': '\u2AC4' }, + '⟉': { 'codepoints': [0x027C9], 'characters': '\u27C9' }, + '⫗': { 'codepoints': [0x02AD7], 'characters': '\u2AD7' }, + '⥻': { 'codepoints': [0x0297B], 'characters': '\u297B' }, + '⫂': { 'codepoints': [0x02AC2], 'characters': '\u2AC2' }, + '⫌': { 'codepoints': [0x02ACC], 'characters': '\u2ACC' }, + '⊋': { 'codepoints': [0x0228B], 'characters': '\u228B' }, + '⫀': { 'codepoints': [0x02AC0], 'characters': '\u2AC0' }, + '⊃': { 'codepoints': [0x02283], 'characters': '\u2283' }, + '⊇': { 'codepoints': [0x02287], 'characters': '\u2287' }, + '⫆': { 'codepoints': [0x02AC6], 'characters': '\u2AC6' }, + '⊋': { 'codepoints': [0x0228B], 'characters': '\u228B' }, + '⫌': { 'codepoints': [0x02ACC], 'characters': '\u2ACC' }, + '⫈': { 'codepoints': [0x02AC8], 'characters': '\u2AC8' }, + '⫔': { 'codepoints': [0x02AD4], 'characters': '\u2AD4' }, + '⫖': { 'codepoints': [0x02AD6], 'characters': '\u2AD6' }, + '⇙': { 'codepoints': [0x021D9], 'characters': '\u21D9' }, + '⤦': { 'codepoints': [0x02926], 'characters': '\u2926' }, + '↙': { 'codepoints': [0x02199], 'characters': '\u2199' }, + '↙': { 'codepoints': [0x02199], 'characters': '\u2199' }, + '⤪': { 'codepoints': [0x0292A], 'characters': '\u292A' }, + 'ß': { 'codepoints': [0x000DF], 'characters': '\xDF' }, + 'ß': { 'codepoints': [0x000DF], 'characters': '\xDF' }, + '⌖': { 'codepoints': [0x02316], 'characters': '\u2316' }, + 'τ': { 'codepoints': [0x003C4], 'characters': '\u03C4' }, + '⎴': { 'codepoints': [0x023B4], 'characters': '\u23B4' }, + 'ť': { 'codepoints': [0x00165], 'characters': '\u0165' }, + 'ţ': { 'codepoints': [0x00163], 'characters': '\u0163' }, + 'т': { 'codepoints': [0x00442], 'characters': '\u0442' }, + '⃛': { 'codepoints': [0x020DB], 'characters': '\u20DB' }, + '⌕': { 'codepoints': [0x02315], 'characters': '\u2315' }, + '𝔱': { 'codepoints': [0x1D531], 'characters': '\uD835\uDD31' }, + '∴': { 'codepoints': [0x02234], 'characters': '\u2234' }, + '∴': { 'codepoints': [0x02234], 'characters': '\u2234' }, + 'θ': { 'codepoints': [0x003B8], 'characters': '\u03B8' }, + 'ϑ': { 'codepoints': [0x003D1], 'characters': '\u03D1' }, + 'ϑ': { 'codepoints': [0x003D1], 'characters': '\u03D1' }, + '≈': { 'codepoints': [0x02248], 'characters': '\u2248' }, + '∼': { 'codepoints': [0x0223C], 'characters': '\u223C' }, + ' ': { 'codepoints': [0x02009], 'characters': '\u2009' }, + '≈': { 'codepoints': [0x02248], 'characters': '\u2248' }, + '∼': { 'codepoints': [0x0223C], 'characters': '\u223C' }, + 'þ': { 'codepoints': [0x000FE], 'characters': '\xFE' }, + 'þ': { 'codepoints': [0x000FE], 'characters': '\xFE' }, + '˜': { 'codepoints': [0x002DC], 'characters': '\u02DC' }, + '×': { 'codepoints': [0x000D7], 'characters': '\xD7' }, + '×': { 'codepoints': [0x000D7], 'characters': '\xD7' }, + '⊠': { 'codepoints': [0x022A0], 'characters': '\u22A0' }, + '⨱': { 'codepoints': [0x02A31], 'characters': '\u2A31' }, + '⨰': { 'codepoints': [0x02A30], 'characters': '\u2A30' }, + '∭': { 'codepoints': [0x0222D], 'characters': '\u222D' }, + '⤨': { 'codepoints': [0x02928], 'characters': '\u2928' }, + '⊤': { 'codepoints': [0x022A4], 'characters': '\u22A4' }, + '⌶': { 'codepoints': [0x02336], 'characters': '\u2336' }, + '⫱': { 'codepoints': [0x02AF1], 'characters': '\u2AF1' }, + '𝕥': { 'codepoints': [0x1D565], 'characters': '\uD835\uDD65' }, + '⫚': { 'codepoints': [0x02ADA], 'characters': '\u2ADA' }, + '⤩': { 'codepoints': [0x02929], 'characters': '\u2929' }, + '‴': { 'codepoints': [0x02034], 'characters': '\u2034' }, + '™': { 'codepoints': [0x02122], 'characters': '\u2122' }, + '▵': { 'codepoints': [0x025B5], 'characters': '\u25B5' }, + '▿': { 'codepoints': [0x025BF], 'characters': '\u25BF' }, + '◃': { 'codepoints': [0x025C3], 'characters': '\u25C3' }, + '⊴': { 'codepoints': [0x022B4], 'characters': '\u22B4' }, + '≜': { 'codepoints': [0x0225C], 'characters': '\u225C' }, + '▹': { 'codepoints': [0x025B9], 'characters': '\u25B9' }, + '⊵': { 'codepoints': [0x022B5], 'characters': '\u22B5' }, + '◬': { 'codepoints': [0x025EC], 'characters': '\u25EC' }, + '≜': { 'codepoints': [0x0225C], 'characters': '\u225C' }, + '⨺': { 'codepoints': [0x02A3A], 'characters': '\u2A3A' }, + '⨹': { 'codepoints': [0x02A39], 'characters': '\u2A39' }, + '⧍': { 'codepoints': [0x029CD], 'characters': '\u29CD' }, + '⨻': { 'codepoints': [0x02A3B], 'characters': '\u2A3B' }, + '⏢': { 'codepoints': [0x023E2], 'characters': '\u23E2' }, + '𝓉': { 'codepoints': [0x1D4C9], 'characters': '\uD835\uDCC9' }, + 'ц': { 'codepoints': [0x00446], 'characters': '\u0446' }, + 'ћ': { 'codepoints': [0x0045B], 'characters': '\u045B' }, + 'ŧ': { 'codepoints': [0x00167], 'characters': '\u0167' }, + '≬': { 'codepoints': [0x0226C], 'characters': '\u226C' }, + '↞': { 'codepoints': [0x0219E], 'characters': '\u219E' }, + '↠': { 'codepoints': [0x021A0], 'characters': '\u21A0' }, + '⇑': { 'codepoints': [0x021D1], 'characters': '\u21D1' }, + '⥣': { 'codepoints': [0x02963], 'characters': '\u2963' }, + 'ú': { 'codepoints': [0x000FA], 'characters': '\xFA' }, + 'ú': { 'codepoints': [0x000FA], 'characters': '\xFA' }, + '↑': { 'codepoints': [0x02191], 'characters': '\u2191' }, + 'ў': { 'codepoints': [0x0045E], 'characters': '\u045E' }, + 'ŭ': { 'codepoints': [0x0016D], 'characters': '\u016D' }, + 'û': { 'codepoints': [0x000FB], 'characters': '\xFB' }, + 'û': { 'codepoints': [0x000FB], 'characters': '\xFB' }, + 'у': { 'codepoints': [0x00443], 'characters': '\u0443' }, + '⇅': { 'codepoints': [0x021C5], 'characters': '\u21C5' }, + 'ű': { 'codepoints': [0x00171], 'characters': '\u0171' }, + '⥮': { 'codepoints': [0x0296E], 'characters': '\u296E' }, + '⥾': { 'codepoints': [0x0297E], 'characters': '\u297E' }, + '𝔲': { 'codepoints': [0x1D532], 'characters': '\uD835\uDD32' }, + 'ù': { 'codepoints': [0x000F9], 'characters': '\xF9' }, + 'ù': { 'codepoints': [0x000F9], 'characters': '\xF9' }, + '↿': { 'codepoints': [0x021BF], 'characters': '\u21BF' }, + '↾': { 'codepoints': [0x021BE], 'characters': '\u21BE' }, + '▀': { 'codepoints': [0x02580], 'characters': '\u2580' }, + '⌜': { 'codepoints': [0x0231C], 'characters': '\u231C' }, + '⌜': { 'codepoints': [0x0231C], 'characters': '\u231C' }, + '⌏': { 'codepoints': [0x0230F], 'characters': '\u230F' }, + '◸': { 'codepoints': [0x025F8], 'characters': '\u25F8' }, + 'ū': { 'codepoints': [0x0016B], 'characters': '\u016B' }, + '¨': { 'codepoints': [0x000A8], 'characters': '\xA8' }, + '¨': { 'codepoints': [0x000A8], 'characters': '\xA8' }, + 'ų': { 'codepoints': [0x00173], 'characters': '\u0173' }, + '𝕦': { 'codepoints': [0x1D566], 'characters': '\uD835\uDD66' }, + '↑': { 'codepoints': [0x02191], 'characters': '\u2191' }, + '↕': { 'codepoints': [0x02195], 'characters': '\u2195' }, + '↿': { 'codepoints': [0x021BF], 'characters': '\u21BF' }, + '↾': { 'codepoints': [0x021BE], 'characters': '\u21BE' }, + '⊎': { 'codepoints': [0x0228E], 'characters': '\u228E' }, + 'υ': { 'codepoints': [0x003C5], 'characters': '\u03C5' }, + 'ϒ': { 'codepoints': [0x003D2], 'characters': '\u03D2' }, + 'υ': { 'codepoints': [0x003C5], 'characters': '\u03C5' }, + '⇈': { 'codepoints': [0x021C8], 'characters': '\u21C8' }, + '⌝': { 'codepoints': [0x0231D], 'characters': '\u231D' }, + '⌝': { 'codepoints': [0x0231D], 'characters': '\u231D' }, + '⌎': { 'codepoints': [0x0230E], 'characters': '\u230E' }, + 'ů': { 'codepoints': [0x0016F], 'characters': '\u016F' }, + '◹': { 'codepoints': [0x025F9], 'characters': '\u25F9' }, + '𝓊': { 'codepoints': [0x1D4CA], 'characters': '\uD835\uDCCA' }, + '⋰': { 'codepoints': [0x022F0], 'characters': '\u22F0' }, + 'ũ': { 'codepoints': [0x00169], 'characters': '\u0169' }, + '▵': { 'codepoints': [0x025B5], 'characters': '\u25B5' }, + '▴': { 'codepoints': [0x025B4], 'characters': '\u25B4' }, + '⇈': { 'codepoints': [0x021C8], 'characters': '\u21C8' }, + 'ü': { 'codepoints': [0x000FC], 'characters': '\xFC' }, + 'ü': { 'codepoints': [0x000FC], 'characters': '\xFC' }, + '⦧': { 'codepoints': [0x029A7], 'characters': '\u29A7' }, + '⇕': { 'codepoints': [0x021D5], 'characters': '\u21D5' }, + '⫨': { 'codepoints': [0x02AE8], 'characters': '\u2AE8' }, + '⫩': { 'codepoints': [0x02AE9], 'characters': '\u2AE9' }, + '⊨': { 'codepoints': [0x022A8], 'characters': '\u22A8' }, + '⦜': { 'codepoints': [0x0299C], 'characters': '\u299C' }, + 'ϵ': { 'codepoints': [0x003F5], 'characters': '\u03F5' }, + 'ϰ': { 'codepoints': [0x003F0], 'characters': '\u03F0' }, + '∅': { 'codepoints': [0x02205], 'characters': '\u2205' }, + 'ϕ': { 'codepoints': [0x003D5], 'characters': '\u03D5' }, + 'ϖ': { 'codepoints': [0x003D6], 'characters': '\u03D6' }, + '∝': { 'codepoints': [0x0221D], 'characters': '\u221D' }, + '↕': { 'codepoints': [0x02195], 'characters': '\u2195' }, + 'ϱ': { 'codepoints': [0x003F1], 'characters': '\u03F1' }, + 'ς': { 'codepoints': [0x003C2], 'characters': '\u03C2' }, + '⊊︀': { 'codepoints': [0x0228A, 0x0FE00], 'characters': '\u228A\uFE00' }, + '⫋︀': { 'codepoints': [0x02ACB, 0x0FE00], 'characters': '\u2ACB\uFE00' }, + '⊋︀': { 'codepoints': [0x0228B, 0x0FE00], 'characters': '\u228B\uFE00' }, + '⫌︀': { 'codepoints': [0x02ACC, 0x0FE00], 'characters': '\u2ACC\uFE00' }, + 'ϑ': { 'codepoints': [0x003D1], 'characters': '\u03D1' }, + '⊲': { 'codepoints': [0x022B2], 'characters': '\u22B2' }, + '⊳': { 'codepoints': [0x022B3], 'characters': '\u22B3' }, + 'в': { 'codepoints': [0x00432], 'characters': '\u0432' }, + '⊢': { 'codepoints': [0x022A2], 'characters': '\u22A2' }, + '∨': { 'codepoints': [0x02228], 'characters': '\u2228' }, + '⊻': { 'codepoints': [0x022BB], 'characters': '\u22BB' }, + '≚': { 'codepoints': [0x0225A], 'characters': '\u225A' }, + '⋮': { 'codepoints': [0x022EE], 'characters': '\u22EE' }, + '|': { 'codepoints': [0x0007C], 'characters': '\x7C' }, + '|': { 'codepoints': [0x0007C], 'characters': '\x7C' }, + '𝔳': { 'codepoints': [0x1D533], 'characters': '\uD835\uDD33' }, + '⊲': { 'codepoints': [0x022B2], 'characters': '\u22B2' }, + '⊂⃒': { 'codepoints': [0x02282, 0x020D2], 'characters': '\u2282\u20D2' }, + '⊃⃒': { 'codepoints': [0x02283, 0x020D2], 'characters': '\u2283\u20D2' }, + '𝕧': { 'codepoints': [0x1D567], 'characters': '\uD835\uDD67' }, + '∝': { 'codepoints': [0x0221D], 'characters': '\u221D' }, + '⊳': { 'codepoints': [0x022B3], 'characters': '\u22B3' }, + '𝓋': { 'codepoints': [0x1D4CB], 'characters': '\uD835\uDCCB' }, + '⫋︀': { 'codepoints': [0x02ACB, 0x0FE00], 'characters': '\u2ACB\uFE00' }, + '⊊︀': { 'codepoints': [0x0228A, 0x0FE00], 'characters': '\u228A\uFE00' }, + '⫌︀': { 'codepoints': [0x02ACC, 0x0FE00], 'characters': '\u2ACC\uFE00' }, + '⊋︀': { 'codepoints': [0x0228B, 0x0FE00], 'characters': '\u228B\uFE00' }, + '⦚': { 'codepoints': [0x0299A], 'characters': '\u299A' }, + 'ŵ': { 'codepoints': [0x00175], 'characters': '\u0175' }, + '⩟': { 'codepoints': [0x02A5F], 'characters': '\u2A5F' }, + '∧': { 'codepoints': [0x02227], 'characters': '\u2227' }, + '≙': { 'codepoints': [0x02259], 'characters': '\u2259' }, + '℘': { 'codepoints': [0x02118], 'characters': '\u2118' }, + '𝔴': { 'codepoints': [0x1D534], 'characters': '\uD835\uDD34' }, + '𝕨': { 'codepoints': [0x1D568], 'characters': '\uD835\uDD68' }, + '℘': { 'codepoints': [0x02118], 'characters': '\u2118' }, + '≀': { 'codepoints': [0x02240], 'characters': '\u2240' }, + '≀': { 'codepoints': [0x02240], 'characters': '\u2240' }, + '𝓌': { 'codepoints': [0x1D4CC], 'characters': '\uD835\uDCCC' }, + '⋂': { 'codepoints': [0x022C2], 'characters': '\u22C2' }, + '◯': { 'codepoints': [0x025EF], 'characters': '\u25EF' }, + '⋃': { 'codepoints': [0x022C3], 'characters': '\u22C3' }, + '▽': { 'codepoints': [0x025BD], 'characters': '\u25BD' }, + '𝔵': { 'codepoints': [0x1D535], 'characters': '\uD835\uDD35' }, + '⟺': { 'codepoints': [0x027FA], 'characters': '\u27FA' }, + '⟷': { 'codepoints': [0x027F7], 'characters': '\u27F7' }, + 'ξ': { 'codepoints': [0x003BE], 'characters': '\u03BE' }, + '⟸': { 'codepoints': [0x027F8], 'characters': '\u27F8' }, + '⟵': { 'codepoints': [0x027F5], 'characters': '\u27F5' }, + '⟼': { 'codepoints': [0x027FC], 'characters': '\u27FC' }, + '⋻': { 'codepoints': [0x022FB], 'characters': '\u22FB' }, + '⨀': { 'codepoints': [0x02A00], 'characters': '\u2A00' }, + '𝕩': { 'codepoints': [0x1D569], 'characters': '\uD835\uDD69' }, + '⨁': { 'codepoints': [0x02A01], 'characters': '\u2A01' }, + '⨂': { 'codepoints': [0x02A02], 'characters': '\u2A02' }, + '⟹': { 'codepoints': [0x027F9], 'characters': '\u27F9' }, + '⟶': { 'codepoints': [0x027F6], 'characters': '\u27F6' }, + '𝓍': { 'codepoints': [0x1D4CD], 'characters': '\uD835\uDCCD' }, + '⨆': { 'codepoints': [0x02A06], 'characters': '\u2A06' }, + '⨄': { 'codepoints': [0x02A04], 'characters': '\u2A04' }, + '△': { 'codepoints': [0x025B3], 'characters': '\u25B3' }, + '⋁': { 'codepoints': [0x022C1], 'characters': '\u22C1' }, + '⋀': { 'codepoints': [0x022C0], 'characters': '\u22C0' }, + 'ý': { 'codepoints': [0x000FD], 'characters': '\xFD' }, + 'ý': { 'codepoints': [0x000FD], 'characters': '\xFD' }, + 'я': { 'codepoints': [0x0044F], 'characters': '\u044F' }, + 'ŷ': { 'codepoints': [0x00177], 'characters': '\u0177' }, + 'ы': { 'codepoints': [0x0044B], 'characters': '\u044B' }, + '¥': { 'codepoints': [0x000A5], 'characters': '\xA5' }, + '¥': { 'codepoints': [0x000A5], 'characters': '\xA5' }, + '𝔶': { 'codepoints': [0x1D536], 'characters': '\uD835\uDD36' }, + 'ї': { 'codepoints': [0x00457], 'characters': '\u0457' }, + '𝕪': { 'codepoints': [0x1D56A], 'characters': '\uD835\uDD6A' }, + '𝓎': { 'codepoints': [0x1D4CE], 'characters': '\uD835\uDCCE' }, + 'ю': { 'codepoints': [0x0044E], 'characters': '\u044E' }, + 'ÿ': { 'codepoints': [0x000FF], 'characters': '\xFF' }, + 'ÿ': { 'codepoints': [0x000FF], 'characters': '\xFF' }, + 'ź': { 'codepoints': [0x0017A], 'characters': '\u017A' }, + 'ž': { 'codepoints': [0x0017E], 'characters': '\u017E' }, + 'з': { 'codepoints': [0x00437], 'characters': '\u0437' }, + 'ż': { 'codepoints': [0x0017C], 'characters': '\u017C' }, + 'ℨ': { 'codepoints': [0x02128], 'characters': '\u2128' }, + 'ζ': { 'codepoints': [0x003B6], 'characters': '\u03B6' }, + '𝔷': { 'codepoints': [0x1D537], 'characters': '\uD835\uDD37' }, + 'ж': { 'codepoints': [0x00436], 'characters': '\u0436' }, + '⇝': { 'codepoints': [0x021DD], 'characters': '\u21DD' }, + '𝕫': { 'codepoints': [0x1D56B], 'characters': '\uD835\uDD6B' }, + '𝓏': { 'codepoints': [0x1D4CF], 'characters': '\uD835\uDCCF' }, + '‍': { 'codepoints': [0x0200D], 'characters': '\u200D' }, + '‌': { 'codepoints': [0x0200C], 'characters': '\u200C' } +}; diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/named-character-references.html b/tests/wpt/web-platform-tests/html/syntax/parsing/named-character-references.html new file mode 100644 index 00000000000..b784d5e92d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/named-character-references.html @@ -0,0 +1,36 @@ + + +Tests for known named character references + + +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template.js b/tests/wpt/web-platform-tests/html/syntax/parsing/template.js new file mode 100644 index 00000000000..b249fb64c71 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template.js @@ -0,0 +1,214 @@ + /* + * Template code + * + * A template is just a javascript structure. An element is represented as: + * + * [tag_name, {attr_name:attr_value}, child1, child2] + * + * the children can either be strings (which act like text nodes), other templates or + * functions (see below) + * + * A text node is represented as + * + * ["{text}", value] + * + * String values have a simple substitution syntax; ${foo} represents a variable foo. + * + * It is possible to embed logic in templates by using a function in a place where a + * node would usually go. The function must either return part of a template or null. + * + * In cases where a set of nodes are required as output rather than a single node + * with children it is possible to just use a list + * [node1, node2, node3] + * + * Usage: + * + * render(template, substitutions) - take a template and an object mapping + * variable names to parameters and return either a DOM node or a list of DOM nodes + * + * substitute(template, substitutions) - take a template and variable mapping object, + * make the variable substitutions and return the substituted template + * + */ + + function is_single_node(template) + { + return typeof template[0] === "string"; + } + + function substitute(template, substitutions) + { + if (typeof template === "function") { + var replacement = template(substitutions); + if (replacement) + { + var rv = substitute(replacement, substitutions); + return rv; + } + else + { + return null; + } + } + else if (is_single_node(template)) + { + return substitute_single(template, substitutions); + } + else + { + return filter(map(template, function(x) { + return substitute(x, substitutions); + }), function(x) {return x !== null;}); + } + } + expose(substitute, "template.substitute"); + + function substitute_single(template, substitutions) + { + var substitution_re = /\${([^ }]*)}/g; + + function do_substitution(input) { + var components = input.split(substitution_re); + var rv = []; + for (var i=0; i + + +HTML Templates: Template is a foster parent element + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html new file mode 100644 index 00000000000..2780edc8f89 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html @@ -0,0 +1,71 @@ + + + +HTML Templates: Template is not a foster parent element + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/generating-of-implied-end-tags.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/generating-of-implied-end-tags.html new file mode 100644 index 00000000000..6526b01bbec --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/generating-of-implied-end-tags.html @@ -0,0 +1,137 @@ + + + +HTML Templates: 'In body' insertion mode: when template end tag is met, implied end tags should be generated + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-body-token.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-body-token.html new file mode 100644 index 00000000000..7985e148d4b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-body-token.html @@ -0,0 +1,133 @@ + + + +HTML Templates: In body insertion mode: parser should ignore BODY token + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-frameset-token.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-frameset-token.html new file mode 100644 index 00000000000..297b4d7e799 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-frameset-token.html @@ -0,0 +1,126 @@ + + + +HTML Templates: In body insertion mode: parser should ignore FRAMESET token + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-head-token.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-head-token.html new file mode 100644 index 00000000000..28a499628d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-head-token.html @@ -0,0 +1,130 @@ + + + +HTML Templates: In body insertion mode: parser should ignore HEAD token + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-html-token.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-html-token.html new file mode 100644 index 00000000000..80bf61ace90 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-html-token.html @@ -0,0 +1,159 @@ + + + +HTML Templates: In body insertion mode: parser should ignore HTML token + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-body.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-body.html new file mode 100644 index 00000000000..80a4b8dcdd1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-body.html @@ -0,0 +1,98 @@ + + + +HTML Templates: In body insertion mode: Template contains a start tag whose tag name is body + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-html.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-html.html new file mode 100644 index 00000000000..7d3f47884eb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-html.html @@ -0,0 +1,39 @@ + + + +HTML Templates: In body insertion mode: A start tag whose tag name is html + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/template-end-tag-without-start-one.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/template-end-tag-without-start-one.html new file mode 100644 index 00000000000..0039783d95d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/template-end-tag-without-start-one.html @@ -0,0 +1,103 @@ + + + +HTML Templates: 'In body' insertion mode: Template end tag without start one. Element should be ignored + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/end-tag-frameset.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/end-tag-frameset.html new file mode 100644 index 00000000000..2bc5b72a831 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/end-tag-frameset.html @@ -0,0 +1,33 @@ + + + +HTML Templates: additions to 'in frameset' insertion mode + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags.html new file mode 100644 index 00000000000..7fc96301e55 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags.html @@ -0,0 +1,138 @@ + + + +HTML Templates: When template end tag is met, implied end tags should be generated + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one.html new file mode 100644 index 00000000000..b7e6009ab13 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one.html @@ -0,0 +1,102 @@ + + + +HTML Templates: Template end tag without start one. Element should be ignored + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/end-tag-table.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/end-tag-table.html new file mode 100644 index 00000000000..76ab5c444ec --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/end-tag-table.html @@ -0,0 +1,43 @@ + + + +HTML Templates: 'In table' insertion mode: ignore TABLE end tag + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/appending-to-a-template/template-child-nodes.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/appending-to-a-template/template-child-nodes.html new file mode 100644 index 00000000000..6c68cde500d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/appending-to-a-template/template-child-nodes.html @@ -0,0 +1,117 @@ + + + +HTML Templates: HTML parser appends child nodes only to the template contents node + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context.html new file mode 100644 index 00000000000..e510028db8a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context.html @@ -0,0 +1,183 @@ + + + +HTML Templates: Clearing stack back to a table body context + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context.html new file mode 100644 index 00000000000..7c6a609ed7e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context.html @@ -0,0 +1,85 @@ + + + +HTML Templates: Clearing stack back to a table context + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context.html new file mode 100644 index 00000000000..7525e0b11c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context.html @@ -0,0 +1,72 @@ + + + +HTML Templates: Clearing stack back to a table row context + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/template/creating-an-element-for-the-token/template-owner-document.html b/tests/wpt/web-platform-tests/html/syntax/parsing/template/creating-an-element-for-the-token/template-owner-document.html new file mode 100644 index 00000000000..c7a65483148 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/template/creating-an-element-for-the-token/template-owner-document.html @@ -0,0 +1,242 @@ + + + +HTML Templates: ownerDocument property of the element in template + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/syntax/parsing/test.js b/tests/wpt/web-platform-tests/html/syntax/parsing/test.js new file mode 100644 index 00000000000..876f8b6821a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/parsing/test.js @@ -0,0 +1,326 @@ +var namespaces = { + "html":"http://www.w3.org/1999/xhtml", + "mathml":"http://www.w3.org/1998/Math/MathML", + "svg":"http://www.w3.org/2000/svg", + "xlink":"http://www.w3.org/1999/xlink", + "xml":"http://www.w3.org/XML/1998/namespace", + "xmlns":"http://www.w3.org/2000/xmlns/" +}; + +var prefixes = {}; +for (var prefix in namespaces) { + if (namespaces.hasOwnProperty(prefix)) { + prefixes[namespaces[prefix]] = prefix; + } +} +prefixes[namespaces["mathml"]] = "math"; + +function format(format_string) { + var insertions = Array.prototype.slice.call(arguments, 1); + var regexp = /%s/g; + var match_count = 0; + var rv = format_string.replace(regexp, function(match) { + var rv = insertions[match_count]; + match_count++; + return rv; + }); + return rv; +} + +function test_serializer(element) { + element.normalize(); + var lines = []; + function serialize_element(element, indent) { + var indent_spaces = (new Array(indent)).join(" "); + switch(element.nodeType) { + case Node.DOCUMENT_TYPE_NODE: + if (element.name) { + if (element.publicId || element.systemId) { + var publicId = element.publicId ? element.publicId : ""; + var systemId = element.systemId ? element.systemId : ""; + lines.push(format("|%s", indent_spaces, + element.name, publicId, systemId)); + } else { + lines.push(format("|%s", indent_spaces, + element.name)); + } + } else { + lines.push(format("|%s", indent_spaces)); + } + break; + case Node.DOCUMENT_NODE: + lines.push("#document"); + break; + case Node.DOCUMENT_FRAGMENT_NODE: + lines.push("#document-fragment"); + break; + case Node.COMMENT_NODE: + lines.push(format("|%s", indent_spaces, element.nodeValue)); + break; + case Node.TEXT_NODE: + lines.push(format("|%s\"%s\"", indent_spaces, element.nodeValue)); + break; + case Node.ELEMENT_NODE: + if (element.getAttribute("data-skip") !== null) { + return; + } + if (element.namespaceURI !== null && element.namespaceURI !== namespaces.html) { + var name = format("%s %s", prefixes[element.namespaceURI], + element.localName); + } else { + var name = element.localName; + } + lines.push(format("|%s<%s>", indent_spaces, name)); + + var attributes = Array.prototype.map.call( + element.attributes, + function(attr) { + var name = (attr.namespaceURI ? prefixes[attr.namespaceURI] + " " : "") + + attr.localName; + return [name, attr.value]; + }); + attributes.sort(function (a, b) { + var x = a[0]; + var y = b[0]; + if (x === y) { + return 0; + } + return x > y ? 1 : -1; + }); + + attributes.forEach( + function(attr) { + var indent_spaces = (new Array(indent + 2)).join(" "); + lines.push(format("|%s%s=\"%s\"", indent_spaces, attr[0], attr[1])); + } + ); + break; + } + indent += 2; + Array.prototype.forEach.call(element.childNodes, + function(node) { + serialize_element(node, indent); + }); + } + serialize_element(element, 0); + return lines.join("\n"); +} + +function parse_query() { + var query = location.search.slice(1); + var vars = query.split("&"); + var fields = vars.map(function (x) { + var split = x.split("="); + return [split[0], split.slice(1).join("=")]; + }); + return fields; +} + +function get_type() { + var run_type = "uri"; + var fields = parse_query(); + fields.forEach(function(x) { + if(x[0] == "run_type") { + run_type = x[1]; + } + }); + return run_type; +}; + +var test_in_data_uri = get_test_func(function (iframe, uri_encoded_input) { + iframe.src = "data:text/html;charset=utf8," + uri_encoded_input; + }); + +var test_document_write = get_test_func(function(iframe, uri_encoded_input) { + iframe.contentDocument.open(); + var input = decodeURIComponent(uri_encoded_input); + iframe.contentDocument.write(input); + iframe.contentDocument.close(); + }); + +var test_document_write_single = get_test_func(function(iframe, uri_encoded_input) { + iframe.contentDocument.open(); + var input = decodeURIComponent(uri_encoded_input); + for (var i=0; i< input.length; i++) { + iframe.contentDocument.write(input[i]); + } + iframe.contentDocument.close(); + }); + +function get_test_func(inject_func) { + function test_func(iframe, t, test_id, uri_encoded_input, escaped_expected) { + var expected = decodeURIComponent(escaped_expected); + current_tests[iframe.id] = {test_id:test_id, + uri_encoded_input:uri_encoded_input, + expected:expected, + actual:null + }; + + iframe.onload = function() { + t.step(function() { + iframe.onload = null; + var serialized_dom = test_serializer(iframe.contentDocument); + current_tests[iframe.id].actual = serialized_dom; + assert_equals(serialized_dom, expected); + t.done(); + } + ); + }; + inject_func(iframe, uri_encoded_input); + } + return test_func; +} + +function test_fragment(iframe, t, test_id, uri_encoded_input, escaped_expected, container) { + var input_string = decodeURIComponent(uri_encoded_input); + var expected = decodeURIComponent(escaped_expected); + current_tests[iframe.id] = { + test_id:test_id, + input:uri_encoded_input, + expected:expected, + actual:null, + container:container + }; + + var components = container.split(" "); + var container_elem = null; + if (components.length > 1) { + var namespace = namespaces[components[0]]; + container_elem = document.createElementNS(namespace, + components[0] + ":" + + components[1]); + } else { + container_elem = document.createElement(container); + } + container_elem.innerHTML = input_string; + var serialized_dom = test_serializer(container_elem); + current_tests[iframe.id].actual = serialized_dom; + serialized_dom = convert_innerHTML(serialized_dom); + assert_equals(serialized_dom, expected); + t.done(); +} + +function convert_innerHTML(serialized_dom) { + var lines = serialized_dom.split("\n"); + lines[0] = "#document"; + return lines.join("\n"); +} + +function print_diffs(test_id, uri_encoded_input, expected, actual, container) { + container = container ? container : null; + if (actual) { + var diffs = mark_diffs(expected, actual); + var expected_text = diffs[0]; + var actual_text = diffs[1]; + } else { + var expected_text = expected; + var actual_text = ""; + } + + var tmpl = ["div", {"id":"${test_id}"}, + ["h2", {}, "${test_id}"], + function(vars) { + if (vars.container !== null) { + return ["div", {"class":"container"}, + ["h3", {}, "innerHTML Container"], + ["pre", {}, vars.container]]; + } else { + return null; + } + }, + ["div", {"id":"input_${test_id}"}, ["h3", {}, "Input"], ["pre", {}, + ["code", {}, decodeURIComponent(uri_encoded_input)]]], + ["div", {"id":"expected_${test_id}"}, ["h3", {}, "Expected"], + ["pre", {}, ["code", {}, expected_text]]], + ["div", {"id":"actual_${test_id}"}, ["h3", {}, "Actual"], + ["pre", {}, ["code", {}, actual_text]]] + ]; + + var diff_dom = template.render(tmpl, {test_id:test_id, container:container}); + document.body.appendChild(diff_dom); +} + +var current_tests = {}; +var iframe_map = {}; + +function init_tests(test_type) { + var test_func = null; + var test_funcs = { + "write":test_document_write, + "write_single":test_document_write_single, + "uri":test_in_data_uri, + "innerHTML":test_fragment + }; + var tests_started = 0; + var tests_complete = 0; + + setup(function() { + test_func = test_funcs[test_type]; + + var fails = []; + + add_result_callback(function(test) { + tests_complete++; + var iframe = document.getElementById(iframe_map[test.name]); + if (test.status !== test.PASS) { + fails.push(current_tests[iframe.id]); + var new_iframe = document.createElement("iframe"); + new_iframe.style.display = "none"; + new_iframe.id = iframe.id; + document.body.replaceChild(new_iframe, iframe); + iframe = new_iframe; + } + if (tests_complete === order.length) { + done(); + } else if (tests_started < order.length) { + test_next(iframe); + } + }); + + add_completion_callback(function() { + fails.forEach(function(t) { + print_diffs(t.test_id, t.uri_encoded_input, + t.expected, t.actual); + }); + }); + + //Create the iframes we will use to test + //in the innerHTML case these are not actually used + //but it is convenient to reuse the same code + for (var i=0; i + +The end + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/syntax/serializing-html-fragments/.gitkeep b/tests/wpt/web-platform-tests/html/syntax/serializing-html-fragments/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/syntax/serializing-html-fragments/outerHTML.html b/tests/wpt/web-platform-tests/html/syntax/serializing-html-fragments/outerHTML.html new file mode 100644 index 00000000000..b60347a1067 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/serializing-html-fragments/outerHTML.html @@ -0,0 +1,171 @@ + + + + HTML Test: element.outerHTML to verify HTML fragment serialization algorithm + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/writing/.gitkeep b/tests/wpt/web-platform-tests/html/syntax/writing/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/syntax/writing/cdata-sections/.gitkeep b/tests/wpt/web-platform-tests/html/syntax/writing/cdata-sections/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/syntax/writing/character-references/.gitkeep b/tests/wpt/web-platform-tests/html/syntax/writing/character-references/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/syntax/writing/comments/.gitkeep b/tests/wpt/web-platform-tests/html/syntax/writing/comments/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/syntax/writing/elements-0/.gitkeep b/tests/wpt/web-platform-tests/html/syntax/writing/elements-0/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/syntax/writing/elements-0/contains.json b/tests/wpt/web-platform-tests/html/syntax/writing/elements-0/contains.json new file mode 100644 index 00000000000..39711a0a213 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/writing/elements-0/contains.json @@ -0,0 +1,26 @@ +[ + { + "id": "start-tags", + "original_id": "start-tags" + }, + { + "id": "end-tags", + "original_id": "end-tags" + }, + { + "id": "attributes-0", + "original_id": "attributes-0" + }, + { + "id": "optional-tags", + "original_id": "optional-tags" + }, + { + "id": "element-restrictions", + "original_id": "element-restrictions" + }, + { + "id": "cdata-rcdata-restrictions", + "original_id": "cdata-rcdata-restrictions" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/writing/text/.gitkeep b/tests/wpt/web-platform-tests/html/syntax/writing/text/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/syntax/writing/text/contains.json b/tests/wpt/web-platform-tests/html/syntax/writing/text/contains.json new file mode 100644 index 00000000000..870ff58a342 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/syntax/writing/text/contains.json @@ -0,0 +1,6 @@ +[ + { + "id": "newlines", + "original_id": "newlines" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/syntax/writing/the-doctype/.gitkeep b/tests/wpt/web-platform-tests/html/syntax/writing/the-doctype/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/the-xhtml-syntax/.gitkeep b/tests/wpt/web-platform-tests/html/the-xhtml-syntax/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/.gitkeep b/tests/wpt/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-fragments/.gitkeep b/tests/wpt/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-fragments/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/the-xhtml-syntax/serializing-xhtml-fragments/.gitkeep b/tests/wpt/web-platform-tests/html/the-xhtml-syntax/serializing-xhtml-fragments/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/the-xhtml-syntax/writing-xhtml-documents/.gitkeep b/tests/wpt/web-platform-tests/html/the-xhtml-syntax/writing-xhtml-documents/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/tools/html5lib_test.xml b/tests/wpt/web-platform-tests/html/tools/html5lib_test.xml new file mode 100644 index 00000000000..8af4adce16b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/tools/html5lib_test.xml @@ -0,0 +1,29 @@ + + + + HTML 5 Parser tests ${file_name} + + + + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/tools/html5lib_test_fragment.xml b/tests/wpt/web-platform-tests/html/tools/html5lib_test_fragment.xml new file mode 100644 index 00000000000..5be259b7490 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/tools/html5lib_test_fragment.xml @@ -0,0 +1,27 @@ + + + + HTML 5 Parser tests ${file_name} + + + +

                                                                                                                                                                                                                                                                                        html5lib Parser Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/html/tools/update_html5lib_tests.py b/tests/wpt/web-platform-tests/html/tools/update_html5lib_tests.py new file mode 100644 index 00000000000..ae08e82d3e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/tools/update_html5lib_tests.py @@ -0,0 +1,152 @@ +import sys +import os +import hashlib +import urllib +import itertools +import re +import json +import glob +import shutil + +try: + import genshi + from genshi.template import MarkupTemplate + + from html5lib.tests import support +except ImportError: + print """This script requires the Genshi templating library and html5lib source + +It is recommended that these are installed in a virtualenv: + +virtualenv venv +source venv/bin/activate +pip install genshi +cd venv +git clone git@github.com:html5lib/html5lib-python.git html5lib +cd html5lib +git submodule init +git submodule update +pip install -e ./ + +Then run this script again, with the virtual environment still active. +When you are done, type "deactivate" to deactivate the virtual environment. +""" + +TESTS_PATH = "html/syntax/parsing/" + +def get_paths(): + script_path = os.path.split(os.path.abspath(__file__))[0] + repo_base = get_repo_base(script_path) + tests_path = os.path.join(repo_base, TESTS_PATH) + return script_path, tests_path + +def get_repo_base(path): + while path: + if os.path.exists(os.path.join(path, ".git")): + return path + else: + path = os.path.split(path)[0] + +def get_expected(data): + data = "#document\n" + data + return data + +def get_hash(data, container=None): + if container == None: + container = "" + return hashlib.sha1("#container%s#data%s"%(container.encode("utf8"), + data.encode("utf8"))).hexdigest() + +def make_tests(script_dir, out_dir, input_file_name, test_data): + tests = [] + innerHTML_tests = [] + ids_seen = {} + print input_file_name + for test in test_data: + if "script-off" in test: + continue + is_innerHTML = "document-fragment" in test + data = test["data"] + container = test["document-fragment"] if is_innerHTML else None + assert test["document"], test + expected = get_expected(test["document"]) + test_list = innerHTML_tests if is_innerHTML else tests + test_id = get_hash(data, container) + if test_id in ids_seen: + print "WARNING: id %s seen multiple times in file %s this time for test (%s, %s) before for test %s, skipping"%(test_id, input_file_name, container, data, ids_seen[test_id]) + continue + ids_seen[test_id] = (container, data) + test_list.append({'string_uri_encoded_input':"\"%s\""%urllib.quote(data.encode("utf8")), + 'input':data, + 'expected':expected, + 'string_escaped_expected':json.dumps(urllib.quote(expected.encode("utf8"))), + 'id':test_id, + 'container':container + }) + path_normal = None + if tests: + path_normal = write_test_file(script_dir, out_dir, + tests, "html5lib_%s"%input_file_name, + "html5lib_test.xml") + path_innerHTML = None + if innerHTML_tests: + path_innerHTML = write_test_file(script_dir, out_dir, + innerHTML_tests, "html5lib_innerHTML_%s"%input_file_name, + "html5lib_test_fragment.xml") + + return path_normal, path_innerHTML + +def write_test_file(script_dir, out_dir, tests, file_name, template_file_name): + file_name = os.path.join(out_dir, file_name + ".html") + short_name = os.path.split(file_name)[1] + + with open(os.path.join(script_dir, template_file_name)) as f: + template = MarkupTemplate(f) + + stream = template.generate(file_name=short_name, tests=tests) + + with open(file_name, "w") as f: + f.write(stream.render('html', doctype='html5', + encoding="utf8")) + return file_name + +def escape_js_string(in_data): + return in_data.encode("utf8").encode("string-escape") + +def serialize_filenames(test_filenames): + return "[" + ",\n".join("\"%s\""%item for item in test_filenames) + "]" + +def main(): + + script_dir, out_dir = get_paths() + + test_files = [] + inner_html_files = [] + + if len(sys.argv) > 2: + test_iterator = itertools.izip( + itertools.repeat(False), + sorted(os.path.abspath(item) for item in + glob.glob(os.path.join(sys.argv[2], "*.dat")))) + else: + test_iterator = itertools.chain( + itertools.izip(itertools.repeat(False), + sorted(support.get_data_files("tree-construction"))), + itertools.izip(itertools.repeat(True), + sorted(support.get_data_files( + os.path.join("tree-construction", "scripted"))))) + + for (scripted, test_file) in test_iterator: + input_file_name = os.path.splitext(os.path.split(test_file)[1])[0] + if scripted: + input_file_name = "scripted_" + input_file_name + test_data = support.TestData(test_file) + test_filename, inner_html_file_name = make_tests(script_dir, out_dir, + input_file_name, test_data) + if test_filename is not None: + test_files.append(test_filename) + if inner_html_file_name is not None: + inner_html_files.append(inner_html_file_name) + +if __name__ == "__main__": + main() diff --git a/tests/wpt/web-platform-tests/html/webappapis/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/atob/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/atob/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/atob/base64.html b/tests/wpt/web-platform-tests/html/webappapis/atob/base64.html new file mode 100644 index 00000000000..c33ab228f94 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/atob/base64.html @@ -0,0 +1,306 @@ + + +atob()/btoa() tests + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/scripting/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/enabling-and-disabling-scripting/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/scripting/enabling-and-disabling-scripting/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/contains.json b/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/contains.json new file mode 100644 index 00000000000..5d7e5e600e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/event-loops/contains.json @@ -0,0 +1,14 @@ +[ + { + "id": "definitions-1", + "original_id": "definitions-1" + }, + { + "id": "processing-model-3", + "original_id": "processing-model-3" + }, + { + "id": "generic-task-sources", + "original_id": "generic-task-sources" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/events/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/events/body-onload.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/body-onload.html new file mode 100644 index 00000000000..1e43d1ccd47 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/body-onload.html @@ -0,0 +1,20 @@ + +HTMLBodyElement.onload + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/events/contains.json b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/contains.json new file mode 100644 index 00000000000..65f3062d2cd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/contains.json @@ -0,0 +1,18 @@ +[ + { + "id": "event-handler-attributes", + "original_id": "event-handler-attributes" + }, + { + "id": "event-handlers-on-elements-document-objects-and-window-objects", + "original_id": "event-handlers-on-elements,-document-objects,-and-window-objects" + }, + { + "id": "event-firing", + "original_id": "event-firing" + }, + { + "id": "events-and-the-window-object", + "original_id": "events-and-the-window-object" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/events/event-handler-javascript.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/event-handler-javascript.html new file mode 100644 index 00000000000..657a37839d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/event-handler-javascript.html @@ -0,0 +1,20 @@ + +Event handler with labels + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/events/event-handler-spec-example.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/event-handler-spec-example.html new file mode 100644 index 00000000000..c06806e3c77 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/event-handler-spec-example.html @@ -0,0 +1,65 @@ + +Event handler invocation order + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/introduction-5/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/scripting/introduction-5/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/javascript-protocol/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/scripting/javascript-protocol/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/addEventListener.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/addEventListener.html new file mode 100644 index 00000000000..b2cb36b9729 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/addEventListener.html @@ -0,0 +1,32 @@ + + + + window.onerror - addEventListener + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-compile-error-data-url.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-compile-error-data-url.html new file mode 100644 index 00000000000..006ca13db04 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-compile-error-data-url.html @@ -0,0 +1,37 @@ + + + + <body onerror> - compile error in <script src=data:...> + + + + + +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-compile-error.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-compile-error.html new file mode 100644 index 00000000000..f80981ddcd3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-compile-error.html @@ -0,0 +1,39 @@ + + + + <body onerror> - compile error in <script> + + + + + +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-runtime-error.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-runtime-error.html new file mode 100644 index 00000000000..95ddd5d5b4e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/body-onerror-runtime-error.html @@ -0,0 +1,39 @@ + + + + <body onerror> - runtime error in <script> + + + + + +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin-setInterval.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin-setInterval.html new file mode 100644 index 00000000000..14e9a8bc215 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin-setInterval.html @@ -0,0 +1,34 @@ + + + + window.onerror - compile error in cross-origin setInterval + + + + +
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin-setTimeout.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin-setTimeout.html new file mode 100644 index 00000000000..ba3be9d0a84 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin-setTimeout.html @@ -0,0 +1,32 @@ + + + + window.onerror - compile error in cross-origin setTimeout + + + + +
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin.html new file mode 100644 index 00000000000..b7e989529fb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-cross-origin.html @@ -0,0 +1,38 @@ + + + + window.onerror - compile error in <script src=//www1...> + + + + +
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-data-url.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-data-url.html new file mode 100644 index 00000000000..ef7dd8913d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-data-url.html @@ -0,0 +1,36 @@ + + + + window.onerror - compile error in <script src=data:...> + + + + +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute.html new file mode 100644 index 00000000000..864d09fc1e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-attribute.html @@ -0,0 +1,39 @@ + + + + window.onerror - compile error in attribute + + + + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror.html new file mode 100644 index 00000000000..0b094e71c35 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror.html @@ -0,0 +1,28 @@ + + + + window.onerror - compile error in <body onerror> + + + + + +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setInterval.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setInterval.html new file mode 100644 index 00000000000..39a01335c3b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setInterval.html @@ -0,0 +1,39 @@ + + + + window.onerror - compile error in setInterval + + + + +
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setTimeout.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setTimeout.html new file mode 100644 index 00000000000..87966031388 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-setTimeout.html @@ -0,0 +1,36 @@ + + + + window.onerror - compile error in setTimeout + + + + +
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-same-origin.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-same-origin.html new file mode 100644 index 00000000000..71c28b584d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-same-origin.html @@ -0,0 +1,36 @@ + + + + window.onerror - compile error in <script src=...> + + + + +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error.html new file mode 100644 index 00000000000..a4bdfd9c471 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error.html @@ -0,0 +1,38 @@ + + + + window.onerror - compile error in <script> + + + + +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/contains.json b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/contains.json new file mode 100644 index 00000000000..b49029277f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/contains.json @@ -0,0 +1,28 @@ +[ + { + "id": "definitions-0", + "original_id": "definitions-0" + }, + { + "id": "calling-scripts", + "original_id": "calling-scripts" + }, + { + "id": "creating-scripts", + "original_id": "creating-scripts" + }, + { + "id": "killing-scripts", + "original_id": "killing-scripts" + }, + { + "id": "runtime-script-errors", + "original_id": "runtime-script-errors", + "children": [ + { + "id": "runtime-script-errors-in-documents", + "original_id": "runtime-script-errors-in-documents" + } + ] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin-setInterval.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin-setInterval.html new file mode 100644 index 00000000000..dd97566d701 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin-setInterval.html @@ -0,0 +1,34 @@ + + + + window.onerror - runtime error in cross-origin setInterval + + + + +
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin-setTimeout.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin-setTimeout.html new file mode 100644 index 00000000000..20ee21c6171 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin-setTimeout.html @@ -0,0 +1,32 @@ + + + + window.onerror - runtime error in cross-origin setTimeout + + + + +
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin.html new file mode 100644 index 00000000000..d63aaa6d3b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-cross-origin.html @@ -0,0 +1,38 @@ + + + + window.onerror - runtime error in <script src=//www1...> + + + + +
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-data-url.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-data-url.html new file mode 100644 index 00000000000..1b203601b24 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-data-url.html @@ -0,0 +1,36 @@ + + + + window.onerror - runtime error in <script src=data:...> + + + + +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-attribute.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-attribute.html new file mode 100644 index 00000000000..b4f69da7a22 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-attribute.html @@ -0,0 +1,39 @@ + + + + window.onerror - runtime error in attribute + + + + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-body-onerror.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-body-onerror.html new file mode 100644 index 00000000000..e0fd1dcbd54 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-body-onerror.html @@ -0,0 +1,25 @@ + + + + runtime error in <body onerror> + + + + + +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setInterval.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setInterval.html new file mode 100644 index 00000000000..fcfb6c59759 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setInterval.html @@ -0,0 +1,39 @@ + + + + window.onerror - runtime error in setInterval + + + + +
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setTimeout.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setTimeout.html new file mode 100644 index 00000000000..c0c69ad7c46 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-setTimeout.html @@ -0,0 +1,36 @@ + + + + window.onerror - runtime error in setTimeout + + + + +
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-window-onerror.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-window-onerror.html new file mode 100644 index 00000000000..150a793b79e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-in-window-onerror.html @@ -0,0 +1,29 @@ + + + + runtime error in window.onerror + + + + +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-same-origin.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-same-origin.html new file mode 100644 index 00000000000..8f3cfb70b2a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-same-origin.html @@ -0,0 +1,36 @@ + + + + window.onerror - runtime error in <script src=...> + + + + +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error.html new file mode 100644 index 00000000000..7907494aa66 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error.html @@ -0,0 +1,38 @@ + + + + window.onerror - runtime error in <script> + + + + +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error-in-setInterval.js b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error-in-setInterval.js new file mode 100644 index 00000000000..812c0daea13 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error-in-setInterval.js @@ -0,0 +1,9 @@ +interval = setInterval('{', 10); +setTimeout(function(){ + clearInterval(interval); + t.step(function(){ + assert_true(ran, 'ran'); + t.done(); + }); + t_col.step(col_check); +}, 20); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error-in-setTimeout.js b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error-in-setTimeout.js new file mode 100644 index 00000000000..84eb4fc4199 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error-in-setTimeout.js @@ -0,0 +1,8 @@ +setTimeout('{', 10); +setTimeout(function(){ + t.step(function(){ + assert_true(ran, 'ran'); + t.done(); + }); + t_col.step(col_check); +}, 20); diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error.js b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error.js new file mode 100644 index 00000000000..0f74a6fca63 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/syntax-error.js @@ -0,0 +1 @@ +for (;) {} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable-in-setInterval.js b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable-in-setInterval.js new file mode 100644 index 00000000000..2950fdb51d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable-in-setInterval.js @@ -0,0 +1,9 @@ +interval = setInterval('undefined_variable;', 10); +setTimeout(function(){ + clearInterval(interval); + t.step(function(){ + assert_true(ran, 'ran'); + t.done(); + }); + t_col.step(col_check); +}, 20); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable-in-setTimeout.js b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable-in-setTimeout.js new file mode 100644 index 00000000000..6350ab62ebf --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable-in-setTimeout.js @@ -0,0 +1,8 @@ +setTimeout('undefined_variable;', 10); +setTimeout(function(){ + t.step(function(){ + assert_true(ran, 'ran'); + t.done(); + }); + t_col.step(col_check); +}, 20); diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable.js b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable.js new file mode 100644 index 00000000000..e73a62ceda3 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/support/undefined-variable.js @@ -0,0 +1 @@ +undefined_variable; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-parse-error.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-parse-error.html new file mode 100644 index 00000000000..3c21df49c94 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-parse-error.html @@ -0,0 +1,40 @@ + + + + window.onerror: parse errors + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-throw.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-throw.html new file mode 100644 index 00000000000..5d2ef0d29dd --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-throw.html @@ -0,0 +1,39 @@ + + + + window.onerror: runtime scripterrors + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error.html new file mode 100644 index 00000000000..1fdab521ae6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error.html @@ -0,0 +1,43 @@ + + + + window.onerror: runtime scripterrors + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-external-interface/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-external-interface/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.html b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.html new file mode 100644 index 00000000000..1956a202cee --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.html @@ -0,0 +1,10 @@ + + +NavigatorID + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.js b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.js new file mode 100644 index 00000000000..a7e8b1dba8e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.js @@ -0,0 +1,50 @@ +function run_test() { + test(function() { + assert_equals(navigator.appCodeName, "Mozilla"); + }, "appCodeName"); + + test(function() { + assert_equals(typeof navigator.appName, "string", + "navigator.appName should be a string"); + }, "appName"); + + test(function() { + assert_equals(typeof navigator.appVersion, "string", + "navigator.appVersion should be a string"); + }, "appVersion"); + + test(function() { + assert_equals(typeof navigator.platform, "string", + "navigator.platform should be a string"); + }, "platform"); + + test(function() { + assert_equals(navigator.product, "Gecko"); + }, "product"); + + test(function() { + assert_false(navigator.taintEnabled()); + }, "taintEnabled"); + + test(function() { + assert_equals(typeof navigator.userAgent, "string", + "navigator.userAgent should be a string"); + }, "userAgent type"); + + test(function() { + assert_equals(navigator.vendorSub, ""); + }, "vendorSub"); + + async_test(function() { + var request = new XMLHttpRequest(); + request.onload = this.step_func_done(function() { + assert_equals("user-agent: " + navigator.userAgent + "\n", + request.response, + "userAgent should return the value sent in the " + + "User-Agent header"); + }); + request.open("GET", "/XMLHttpRequest/resources/inspect-headers.py?" + + "filter_name=User-Agent"); + request.send(); + }, "userAgent value"); +} diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.worker.js b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.worker.js new file mode 100644 index 00000000000..9ba7defa1fb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.worker.js @@ -0,0 +1,4 @@ +importScripts("/resources/testharness.js") +importScripts("NavigatorID.js") +run_test(); +done(); diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/contains.json b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/contains.json new file mode 100644 index 00000000000..441c24cec97 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/contains.json @@ -0,0 +1,22 @@ +[ + { + "id": "client-identification", + "original_id": "client-identification" + }, + { + "id": "custom-handlers", + "original_id": "custom-handlers" + }, + { + "id": "security-and-privacy", + "original_id": "security-and-privacy" + }, + { + "id": "sample-handler-impl", + "original_id": "sample-handler-impl" + }, + { + "id": "manually-releasing-the-storage-mutex", + "original_id": "manually-releasing-the-storage-mutex" + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content.html b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content.html new file mode 100644 index 00000000000..3d0dc9083e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content.html @@ -0,0 +1,136 @@ + + +registerContentHandler() + + + + + + +

                                                                                                                                                                                                                                                                                        Note: If your browser limits the number of handler +registration requests on a page, you might need to disable or significantly +increase that limit for the tests below to run.

                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/001.xhtml b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/001.xhtml new file mode 100644 index 00000000000..a0d2fa15b8c --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/001.xhtml @@ -0,0 +1,16 @@ + + + +isContentHandlerRegistered for new content type + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/002.xhtml b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/002.xhtml new file mode 100644 index 00000000000..d5c2ff3e05a --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/002.xhtml @@ -0,0 +1,19 @@ + + + +isContentHandlerRegistered for content type that is not yet accepted + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/003.xhtml b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/003.xhtml new file mode 100644 index 00000000000..92e7ca8f55e --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/003.xhtml @@ -0,0 +1,18 @@ + + + +Content type case insensitivity in isContentHandlerRegistered + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/004.xhtml b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/004.xhtml new file mode 100644 index 00000000000..a82f3506bce --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/004.xhtml @@ -0,0 +1,18 @@ + + + +Non-matching url in isContentHandlerRegistered + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/005.xhtml b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/005.xhtml new file mode 100644 index 00000000000..b8c8b58d17f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/005.xhtml @@ -0,0 +1,18 @@ + + + +Invalid characters in content type in isContentHandlerRegistered + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/006.xhtml b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/006.xhtml new file mode 100644 index 00000000000..86d0cff6190 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/content/006.xhtml @@ -0,0 +1,18 @@ + + + +Blacklisted content type and isContentHandlerRegistered + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-indexed.html b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-indexed.html new file mode 100644 index 00000000000..a971fe9d1c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-indexed.html @@ -0,0 +1,28 @@ + + +Test for lack of indexed getter on Navigator + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.html b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.html new file mode 100644 index 00000000000..55b4ed71f47 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol.html @@ -0,0 +1,214 @@ + + +registerProtocolHandler() + + + + + + +

                                                                                                                                                                                                                                                                                        Note: If your browser limits the number of handler +registration requests on a page, you might need to disable or significantly +increase that limit for the tests below to run.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/001.xhtml b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/001.xhtml new file mode 100644 index 00000000000..ce9ee1eb038 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/001.xhtml @@ -0,0 +1,17 @@ + + + +isProtocolHandlerRegistered for new protocol + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/002.xhtml b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/002.xhtml new file mode 100644 index 00000000000..ce2c8dc0d60 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/002.xhtml @@ -0,0 +1,19 @@ + + + +isProtocolHandlerRegistered for protocol that is not yet accepted + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/003.xhtml b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/003.xhtml new file mode 100644 index 00000000000..035d5b9a64b --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/003.xhtml @@ -0,0 +1,18 @@ + + + +Protocol case insensitivity in isProtocolHandlerRegistered + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/004.xhtml b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/004.xhtml new file mode 100644 index 00000000000..3fd14dd1294 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/004.xhtml @@ -0,0 +1,18 @@ + + + +Non-matching url in isProtocolHandlerRegistered + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/005.xhtml b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/005.xhtml new file mode 100644 index 00000000000..894ff4a6a23 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/005.xhtml @@ -0,0 +1,18 @@ + + + +Invalid characters in protocol scheme and isProtocolHandlerRegistered + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/006.xhtml b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/006.xhtml new file mode 100644 index 00000000000..7529a7eb2cb --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/006.xhtml @@ -0,0 +1,19 @@ + + + +Scheme outside white list and isProtocolHandlerRegistered + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/html/webappapis/timers/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/timers/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/timers/evil-spec-example.html b/tests/wpt/web-platform-tests/html/webappapis/timers/evil-spec-example.html new file mode 100644 index 00000000000..77a8746908d --- /dev/null +++ b/tests/wpt/web-platform-tests/html/webappapis/timers/evil-spec-example.html @@ -0,0 +1,23 @@ + +Interaction of setTimeout and WebIDL + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/html/webappapis/user-prompts/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/user-prompts/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/user-prompts/dialogs-implemented-using-separate-documents/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/user-prompts/dialogs-implemented-using-separate-documents/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/user-prompts/printing/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/user-prompts/printing/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/html/webappapis/user-prompts/simple-dialogs/.gitkeep b/tests/wpt/web-platform-tests/html/webappapis/user-prompts/simple-dialogs/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/http/content_length.html b/tests/wpt/web-platform-tests/http/content_length.html new file mode 100644 index 00000000000..af8ea44eeef --- /dev/null +++ b/tests/wpt/web-platform-tests/http/content_length.html @@ -0,0 +1,13 @@ + + +Content-Length Test + + + +PASS +but FAIL if this is in the body. \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/http/content_length.html.headers b/tests/wpt/web-platform-tests/http/content_length.html.headers new file mode 100644 index 00000000000..385ea556d7a --- /dev/null +++ b/tests/wpt/web-platform-tests/http/content_length.html.headers @@ -0,0 +1 @@ +Content-Length: 373 diff --git a/tests/wpt/web-platform-tests/images/anim-gr.gif b/tests/wpt/web-platform-tests/images/anim-gr.gif new file mode 100644 index 00000000000..45263e0afba Binary files /dev/null and b/tests/wpt/web-platform-tests/images/anim-gr.gif differ diff --git a/tests/wpt/web-platform-tests/images/anim-gr.png b/tests/wpt/web-platform-tests/images/anim-gr.png new file mode 100644 index 00000000000..925e2efc9a9 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/anim-gr.png differ diff --git a/tests/wpt/web-platform-tests/images/anim-poster-gr.png b/tests/wpt/web-platform-tests/images/anim-poster-gr.png new file mode 100644 index 00000000000..6941207373e Binary files /dev/null and b/tests/wpt/web-platform-tests/images/anim-poster-gr.png differ diff --git a/tests/wpt/web-platform-tests/images/background.png b/tests/wpt/web-platform-tests/images/background.png new file mode 100644 index 00000000000..6db6c6b1b9d Binary files /dev/null and b/tests/wpt/web-platform-tests/images/background.png differ diff --git a/tests/wpt/web-platform-tests/images/black-rectangle.png b/tests/wpt/web-platform-tests/images/black-rectangle.png new file mode 100644 index 00000000000..a0bf1fec6e0 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/black-rectangle.png differ diff --git a/tests/wpt/web-platform-tests/images/blue-area.png b/tests/wpt/web-platform-tests/images/blue-area.png new file mode 100644 index 00000000000..570ae0f2bf7 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/blue-area.png differ diff --git a/tests/wpt/web-platform-tests/images/blue-border.png b/tests/wpt/web-platform-tests/images/blue-border.png new file mode 100644 index 00000000000..8f8e41c3d00 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/blue-border.png differ diff --git a/tests/wpt/web-platform-tests/images/blue.png b/tests/wpt/web-platform-tests/images/blue.png new file mode 100644 index 00000000000..4498dd258a2 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/blue.png differ diff --git a/tests/wpt/web-platform-tests/images/blue96x96.png b/tests/wpt/web-platform-tests/images/blue96x96.png new file mode 100644 index 00000000000..820f8cace21 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/blue96x96.png differ diff --git a/tests/wpt/web-platform-tests/images/broken.png b/tests/wpt/web-platform-tests/images/broken.png new file mode 100644 index 00000000000..f2581017b43 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/broken.png differ diff --git a/tests/wpt/web-platform-tests/images/canvas-line.png b/tests/wpt/web-platform-tests/images/canvas-line.png new file mode 100644 index 00000000000..30f8f454056 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/canvas-line.png differ diff --git a/tests/wpt/web-platform-tests/images/fail.gif b/tests/wpt/web-platform-tests/images/fail.gif new file mode 100644 index 00000000000..c4addcf0090 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/fail.gif differ diff --git a/tests/wpt/web-platform-tests/images/ggrr-256x256.png b/tests/wpt/web-platform-tests/images/ggrr-256x256.png new file mode 100644 index 00000000000..0342e4a3842 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/ggrr-256x256.png differ diff --git a/tests/wpt/web-platform-tests/images/green-100x50.png b/tests/wpt/web-platform-tests/images/green-100x50.png new file mode 100644 index 00000000000..2b7577d2689 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/green-100x50.png differ diff --git a/tests/wpt/web-platform-tests/images/green-16x16.png b/tests/wpt/web-platform-tests/images/green-16x16.png new file mode 100644 index 00000000000..e19a3ffddd2 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/green-16x16.png differ diff --git a/tests/wpt/web-platform-tests/images/green-1x1.png b/tests/wpt/web-platform-tests/images/green-1x1.png new file mode 100644 index 00000000000..862d1dd10cc Binary files /dev/null and b/tests/wpt/web-platform-tests/images/green-1x1.png differ diff --git a/tests/wpt/web-platform-tests/images/green-256x256.png b/tests/wpt/web-platform-tests/images/green-256x256.png new file mode 100644 index 00000000000..b06945c3101 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/green-256x256.png differ diff --git a/tests/wpt/web-platform-tests/images/green-2x2.png b/tests/wpt/web-platform-tests/images/green-2x2.png new file mode 100644 index 00000000000..adc059449c3 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/green-2x2.png differ diff --git a/tests/wpt/web-platform-tests/images/green.png b/tests/wpt/web-platform-tests/images/green.png new file mode 100644 index 00000000000..28a1faab377 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/green.png differ diff --git a/tests/wpt/web-platform-tests/images/green.svg b/tests/wpt/web-platform-tests/images/green.svg new file mode 100644 index 00000000000..d91971f784b --- /dev/null +++ b/tests/wpt/web-platform-tests/images/green.svg @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/images/grgr-256x256.png b/tests/wpt/web-platform-tests/images/grgr-256x256.png new file mode 100644 index 00000000000..b8c7189d628 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/grgr-256x256.png differ diff --git a/tests/wpt/web-platform-tests/images/movie_300_frame_0.png b/tests/wpt/web-platform-tests/images/movie_300_frame_0.png new file mode 100644 index 00000000000..b7128250938 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/movie_300_frame_0.png differ diff --git a/tests/wpt/web-platform-tests/images/red-16x16.png b/tests/wpt/web-platform-tests/images/red-16x16.png new file mode 100644 index 00000000000..9038fef784d Binary files /dev/null and b/tests/wpt/web-platform-tests/images/red-16x16.png differ diff --git a/tests/wpt/web-platform-tests/images/red-zeroheight.svg b/tests/wpt/web-platform-tests/images/red-zeroheight.svg new file mode 100644 index 00000000000..de378d44691 --- /dev/null +++ b/tests/wpt/web-platform-tests/images/red-zeroheight.svg @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/images/red-zerosize.svg b/tests/wpt/web-platform-tests/images/red-zerosize.svg new file mode 100644 index 00000000000..dcd33172fca --- /dev/null +++ b/tests/wpt/web-platform-tests/images/red-zerosize.svg @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/images/red-zerowidth.svg b/tests/wpt/web-platform-tests/images/red-zerowidth.svg new file mode 100644 index 00000000000..66cff813f2a --- /dev/null +++ b/tests/wpt/web-platform-tests/images/red-zerowidth.svg @@ -0,0 +1,3 @@ + + + diff --git a/tests/wpt/web-platform-tests/images/red.png b/tests/wpt/web-platform-tests/images/red.png new file mode 100644 index 00000000000..a6e195d59cc Binary files /dev/null and b/tests/wpt/web-platform-tests/images/red.png differ diff --git a/tests/wpt/web-platform-tests/images/redtransparent.png b/tests/wpt/web-platform-tests/images/redtransparent.png new file mode 100644 index 00000000000..75da08c3d66 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/redtransparent.png differ diff --git a/tests/wpt/web-platform-tests/images/rgrg-256x256.png b/tests/wpt/web-platform-tests/images/rgrg-256x256.png new file mode 100644 index 00000000000..e6fba3daa5d Binary files /dev/null and b/tests/wpt/web-platform-tests/images/rgrg-256x256.png differ diff --git a/tests/wpt/web-platform-tests/images/rrgg-256x256.png b/tests/wpt/web-platform-tests/images/rrgg-256x256.png new file mode 100644 index 00000000000..7f635156547 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/rrgg-256x256.png differ diff --git a/tests/wpt/web-platform-tests/images/smiley.png b/tests/wpt/web-platform-tests/images/smiley.png new file mode 100644 index 00000000000..640a2238c76 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/smiley.png differ diff --git a/tests/wpt/web-platform-tests/images/threecolors.png b/tests/wpt/web-platform-tests/images/threecolors.png new file mode 100644 index 00000000000..0643e6e70bd Binary files /dev/null and b/tests/wpt/web-platform-tests/images/threecolors.png differ diff --git a/tests/wpt/web-platform-tests/images/transparent.png b/tests/wpt/web-platform-tests/images/transparent.png new file mode 100644 index 00000000000..2b498699a80 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/transparent.png differ diff --git a/tests/wpt/web-platform-tests/images/transparent50.png b/tests/wpt/web-platform-tests/images/transparent50.png new file mode 100644 index 00000000000..55f8e69325b Binary files /dev/null and b/tests/wpt/web-platform-tests/images/transparent50.png differ diff --git a/tests/wpt/web-platform-tests/images/yellow.png b/tests/wpt/web-platform-tests/images/yellow.png new file mode 100644 index 00000000000..51e8aaf38c1 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/yellow.png differ diff --git a/tests/wpt/web-platform-tests/images/yellow75.png b/tests/wpt/web-platform-tests/images/yellow75.png new file mode 100644 index 00000000000..2bb82c98347 Binary files /dev/null and b/tests/wpt/web-platform-tests/images/yellow75.png differ diff --git a/tests/wpt/web-platform-tests/infrastructure/failing-test.html b/tests/wpt/web-platform-tests/infrastructure/failing-test.html new file mode 100644 index 00000000000..249099c06f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/infrastructure/failing-test.html @@ -0,0 +1,10 @@ + + +Failing test + + + diff --git a/tests/wpt/web-platform-tests/js/builtins/Array.DefineOwnProperty.html b/tests/wpt/web-platform-tests/js/builtins/Array.DefineOwnProperty.html new file mode 100644 index 00000000000..40ed00a4c71 --- /dev/null +++ b/tests/wpt/web-platform-tests/js/builtins/Array.DefineOwnProperty.html @@ -0,0 +1,24 @@ + +Array.[[DefineOwnProperty]] + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/js/builtins/Array.prototype.join-order.html b/tests/wpt/web-platform-tests/js/builtins/Array.prototype.join-order.html new file mode 100644 index 00000000000..e5589803a68 --- /dev/null +++ b/tests/wpt/web-platform-tests/js/builtins/Array.prototype.join-order.html @@ -0,0 +1,86 @@ + +Array.prototype.join + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/js/builtins/Math.max.html b/tests/wpt/web-platform-tests/js/builtins/Math.max.html new file mode 100644 index 00000000000..a4a6ae27c80 --- /dev/null +++ b/tests/wpt/web-platform-tests/js/builtins/Math.max.html @@ -0,0 +1,13 @@ + +Math.max + + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/js/builtins/Math.maxmin.js b/tests/wpt/web-platform-tests/js/builtins/Math.maxmin.js new file mode 100644 index 00000000000..a414465fb42 --- /dev/null +++ b/tests/wpt/web-platform-tests/js/builtins/Math.maxmin.js @@ -0,0 +1,57 @@ +function testMathMaxMin(aFun) { + var test_error = { name: "test" }; + test(function() { + assert_throws(test_error, function() { + Math[aFun](NaN, { + valueOf: function() { + throw test_error; + } + }); + }); + }, "ToNumber should be called on all arguments: NaN."); + test(function() { + assert_throws(test_error, function() { + Math[aFun](-Infinity, { + valueOf: function() { + throw test_error; + } + }); + }); + }, "ToNumber should be called on all arguments: -Infinity."); + test(function() { + assert_throws(test_error, function() { + Math[aFun](Infinity, { + valueOf: function() { + throw test_error; + } + }); + }); + }, "ToNumber should be called on all arguments: Infinity."); + test(function() { + assert_throws(test_error, function() { + Math[aFun]({ + valueOf: function() { + throw test_error; + } + }, + { + valueOf: function() { + throw 7; + } + }); + }); + }, "ToNumber should be called left to right."); + test(function() { + assert_equals(Math[aFun]("1"), 1); + }, "Should return a number."); + test(function() { + var expected = { + "max": 0, + "min": -0 + } + assert_equals(Math[aFun](0, -0), expected[aFun]); + assert_equals(Math[aFun](-0, 0), expected[aFun]); + assert_equals(Math[aFun](0, 0), 0); + assert_equals(Math[aFun](-0, -0), -0); + }, "Should handle negative zero correctly."); +} diff --git a/tests/wpt/web-platform-tests/js/builtins/Math.min.html b/tests/wpt/web-platform-tests/js/builtins/Math.min.html new file mode 100644 index 00000000000..4ae71b9d76c --- /dev/null +++ b/tests/wpt/web-platform-tests/js/builtins/Math.min.html @@ -0,0 +1,13 @@ + +Math.min + + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/js/builtins/Object.prototype.freeze.html b/tests/wpt/web-platform-tests/js/builtins/Object.prototype.freeze.html new file mode 100644 index 00000000000..47a50b33d77 --- /dev/null +++ b/tests/wpt/web-platform-tests/js/builtins/Object.prototype.freeze.html @@ -0,0 +1,52 @@ + + + + + +Object.freeze + + + + + + + + diff --git a/tests/wpt/web-platform-tests/js/builtins/Object.prototype.hasOwnProperty-order.html b/tests/wpt/web-platform-tests/js/builtins/Object.prototype.hasOwnProperty-order.html new file mode 100644 index 00000000000..e67cff61297 --- /dev/null +++ b/tests/wpt/web-platform-tests/js/builtins/Object.prototype.hasOwnProperty-order.html @@ -0,0 +1,21 @@ + +Object.prototype.hasOwnProperty + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/js/builtins/Object.prototype.hasOwnProperty-prototype-chain.html b/tests/wpt/web-platform-tests/js/builtins/Object.prototype.hasOwnProperty-prototype-chain.html new file mode 100644 index 00000000000..402f1ae6fd5 --- /dev/null +++ b/tests/wpt/web-platform-tests/js/builtins/Object.prototype.hasOwnProperty-prototype-chain.html @@ -0,0 +1,44 @@ + + + + + +Object.prototype.hasOwnProperty: Check prototype chain + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/js/builtins/Object.prototype.preventExtensions.html b/tests/wpt/web-platform-tests/js/builtins/Object.prototype.preventExtensions.html new file mode 100644 index 00000000000..36ac328d2e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/js/builtins/Object.prototype.preventExtensions.html @@ -0,0 +1,51 @@ + + + + + +Object.preventExtensions + + + + + + + + diff --git a/tests/wpt/web-platform-tests/js/builtins/Object.prototype.seal.html b/tests/wpt/web-platform-tests/js/builtins/Object.prototype.seal.html new file mode 100644 index 00000000000..446d627865c --- /dev/null +++ b/tests/wpt/web-platform-tests/js/builtins/Object.prototype.seal.html @@ -0,0 +1,51 @@ + + + + + +Object.seal + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/js/builtins/WeakMap.prototype-properties.html b/tests/wpt/web-platform-tests/js/builtins/WeakMap.prototype-properties.html new file mode 100644 index 00000000000..c312a83054c --- /dev/null +++ b/tests/wpt/web-platform-tests/js/builtins/WeakMap.prototype-properties.html @@ -0,0 +1,122 @@ + +WeakMap.prototype + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/lint b/tests/wpt/web-platform-tests/lint new file mode 100755 index 00000000000..97baabcc6e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/lint @@ -0,0 +1,6 @@ +#!/usr/bin/env python +import sys + +from tools.lint import lint + +sys.exit(0 if lint.main() == 0 else 1) diff --git a/tests/wpt/web-platform-tests/manifest b/tests/wpt/web-platform-tests/manifest new file mode 100755 index 00000000000..f5b0c9bade7 --- /dev/null +++ b/tests/wpt/web-platform-tests/manifest @@ -0,0 +1,6 @@ +#!/usr/bin/env python +import sys + +from tools.manifest import update + +update.main() diff --git a/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-readyState.html b/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-readyState.html new file mode 100644 index 00000000000..515031687ae --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-readyState.html @@ -0,0 +1,71 @@ + + + + + SourceBuffer#abort() when readyState attribute is not in the "open" + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-removed.html b/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-removed.html new file mode 100644 index 00000000000..00d65c133b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-removed.html @@ -0,0 +1,52 @@ + + + + + SourceBuffer#abort() for already removed buffer from parent media source + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-updating.html b/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-updating.html new file mode 100644 index 00000000000..1132d14663e --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort-updating.html @@ -0,0 +1,92 @@ + + + + + Check SourceBuffer#abort() when the updating attribute is true + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort.html b/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort.html new file mode 100644 index 00000000000..7d7c9ff1de0 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/SourceBuffer-abort.html @@ -0,0 +1,34 @@ + + + + + Check the values of appendWindowStart and appendWindowEnd after abort() + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/media-source/URL-createObjectURL-null.html b/tests/wpt/web-platform-tests/media-source/URL-createObjectURL-null.html new file mode 100644 index 00000000000..a4177dd846b --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/URL-createObjectURL-null.html @@ -0,0 +1,19 @@ + + + + + URL.createObjectURL(null) + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/URL-createObjectURL-revoke.html b/tests/wpt/web-platform-tests/media-source/URL-createObjectURL-revoke.html new file mode 100644 index 00000000000..a194d24636e --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/URL-createObjectURL-revoke.html @@ -0,0 +1,22 @@ + + + + + Revoking a created URL with URL.revokeObjectURL(url) + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/URL-createObjectURL.html b/tests/wpt/web-platform-tests/media-source/URL-createObjectURL.html new file mode 100644 index 00000000000..da82806349a --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/URL-createObjectURL.html @@ -0,0 +1,20 @@ + + + + + URL.createObjectURL(mediaSource) + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/import_tests.sh b/tests/wpt/web-platform-tests/media-source/import_tests.sh new file mode 100755 index 00000000000..a87619c0248 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/import_tests.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +if [ $# -lt 1 ] +then + echo "Usage: $0 " + exit -1 +fi + +BLINK_ROOT=$1 +LAYOUT_TEST_DIR=$BLINK_ROOT/LayoutTests +HTTP_MEDIA_TEST_DIR=$LAYOUT_TEST_DIR/http/tests/media + +if [ ! -d "$BLINK_ROOT" ] +then + echo "$BLINK_ROOT is not a directory or doesn't exist" + exit -1 +fi + +if [ ! -d "$LAYOUT_TEST_DIR" ] +then + echo "$LAYOUT_TEST_DIR is not a directory or doesn't exist" + exit -1 +fi + +#rm -rf *.html *.js webm mp4 manifest.txt + +cp $HTTP_MEDIA_TEST_DIR/media-source/mediasource-*.html $HTTP_MEDIA_TEST_DIR/media-source/mediasource-*.js . +cp -r $HTTP_MEDIA_TEST_DIR/resources/media-source/webm . +cp -r $HTTP_MEDIA_TEST_DIR/resources/media-source/mp4 . + +# Remove Blink-specific files +rm mediasource-gc-after-decode-error-crash.html + +sed -i 's/\/w3c\/resources\//\/resources\//g' *.html +sed -i 's/\/media\/resources\/media-source\///g' *.html +sed -i 's/\/media\/resources\/media-source\///g' *.js +sed -i 's/\/media\/resources\/media-source\///g' webm/* + + +for TEST_FILE in `ls *.html` +do + if [ "$TEST_FILE" = "index.html" ] + then + continue + fi + echo -e "$TEST_FILE" >> manifest.txt +done + +cp import_tests-template.txt index.html + +chmod -R a+r *.html *.js webm mp4 manifest.txt +chmod a+rx webm mp4 diff --git a/tests/wpt/web-platform-tests/media-source/index.html b/tests/wpt/web-platform-tests/media-source/index.html new file mode 100644 index 00000000000..903afffdd56 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/index.html @@ -0,0 +1,93 @@ + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/media-source/interfaces.html b/tests/wpt/web-platform-tests/media-source/interfaces.html new file mode 100644 index 00000000000..9d6985eee7d --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/interfaces.html @@ -0,0 +1,145 @@ + + +Media Source Extensions IDL tests +
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/media-source/manifest.txt b/tests/wpt/web-platform-tests/media-source/manifest.txt new file mode 100644 index 00000000000..d8714cae22a --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/manifest.txt @@ -0,0 +1,32 @@ +mediasource-addsourcebuffer.html +mediasource-append-buffer.html +mediasource-appendwindow.html +mediasource-buffered.html +mediasource-closed.html +mediasource-config-change-mp4-a-bitrate.html +mediasource-config-change-mp4-av-audio-bitrate.html +mediasource-config-change-mp4-av-framesize.html +mediasource-config-change-mp4-av-video-bitrate.html +mediasource-config-change-mp4-v-bitrate.html +mediasource-config-change-mp4-v-framerate.html +mediasource-config-change-mp4-v-framesize.html +mediasource-config-change-webm-a-bitrate.html +mediasource-config-change-webm-av-audio-bitrate.html +mediasource-config-change-webm-av-framesize.html +mediasource-config-change-webm-av-video-bitrate.html +mediasource-config-change-webm-v-bitrate.html +mediasource-config-change-webm-v-framerate.html +mediasource-config-change-webm-v-framesize.html +mediasource-duration.html +mediasource-endofstream-invaliderror.html +mediasource-getvideoplaybackquality.html +mediasource-is-type-supported.html +mediasource-multiple-attach.html +mediasource-play.html +mediasource-play-then-seek-back.html +mediasource-redundant-seek.html +mediasource-remove.html +mediasource-seek-beyond-duration.html +mediasource-seek-during-pending-seek.html +mediasource-sourcebufferlist.html +mediasource-sourcebuffer-mode.html diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-addsourcebuffer.html b/tests/wpt/web-platform-tests/media-source/mediasource-addsourcebuffer.html new file mode 100644 index 00000000000..61f67f4b27e --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-addsourcebuffer.html @@ -0,0 +1,153 @@ + + + + MediaSource.addSourceBuffer() test cases + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-append-buffer.html b/tests/wpt/web-platform-tests/media-source/mediasource-append-buffer.html new file mode 100644 index 00000000000..3bff4d9fa53 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-append-buffer.html @@ -0,0 +1,538 @@ + + + + SourceBuffer.appendBuffer() test cases + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-appendwindow.html b/tests/wpt/web-platform-tests/media-source/mediasource-appendwindow.html new file mode 100644 index 00000000000..e1b7c112063 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-appendwindow.html @@ -0,0 +1,175 @@ + + + + SourceBuffer.appendWindowStart and SourceBuffer.appendWindowEnd test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-buffered.html b/tests/wpt/web-platform-tests/media-source/mediasource-buffered.html new file mode 100644 index 00000000000..e39acd5b28a --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-buffered.html @@ -0,0 +1,219 @@ + + + + SourceBuffer.buffered test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-closed.html b/tests/wpt/web-platform-tests/media-source/mediasource-closed.html new file mode 100644 index 00000000000..4f0dcca228c --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-closed.html @@ -0,0 +1,139 @@ + + + + MediaSource.readyState equals "closed" test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-a-bitrate.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-a-bitrate.html new file mode 100644 index 00000000000..865fadd6d3f --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-a-bitrate.html @@ -0,0 +1,16 @@ + + + + MP4 audio-only bitrate change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate.html new file mode 100644 index 00000000000..75d6e4101a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate.html @@ -0,0 +1,16 @@ + + + + MP4 muxed audio & video with an audio bitrate change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize.html new file mode 100644 index 00000000000..33dd51a2e58 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize.html @@ -0,0 +1,16 @@ + + + + MP4 muxed audio & video with a video frame size change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate.html new file mode 100644 index 00000000000..fce35552491 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate.html @@ -0,0 +1,16 @@ + + + + MP4 muxed audio & video with a video bitrate change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate.html new file mode 100644 index 00000000000..ce1977ad186 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate.html @@ -0,0 +1,16 @@ + + + + MP4 video-only bitrate change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate.html new file mode 100644 index 00000000000..65266c4d878 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate.html @@ -0,0 +1,16 @@ + + + + MP4 video-only frame rate change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize.html new file mode 100644 index 00000000000..5005903589d --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize.html @@ -0,0 +1,16 @@ + + + + MP4 video-only frame size change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-a-bitrate.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-a-bitrate.html new file mode 100644 index 00000000000..99f661e0372 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-a-bitrate.html @@ -0,0 +1,16 @@ + + + + WebM audio-only bitrate change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-av-audio-bitrate.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-av-audio-bitrate.html new file mode 100644 index 00000000000..e3acc9850be --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-av-audio-bitrate.html @@ -0,0 +1,16 @@ + + + + WebM muxed audio & video with an audio bitrate change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-av-framesize.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-av-framesize.html new file mode 100644 index 00000000000..875bda40d3c --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-av-framesize.html @@ -0,0 +1,16 @@ + + + + WebM muxed audio & video with a video frame size change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-av-video-bitrate.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-av-video-bitrate.html new file mode 100644 index 00000000000..ca2e620a90c --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-av-video-bitrate.html @@ -0,0 +1,16 @@ + + + + WebM muxed audio & video with a video bitrate change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-v-bitrate.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-v-bitrate.html new file mode 100644 index 00000000000..c17f5ae9aa3 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-v-bitrate.html @@ -0,0 +1,16 @@ + + + + WebM video-only bitrate change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-v-framerate.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-v-framerate.html new file mode 100644 index 00000000000..d66de06b769 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-v-framerate.html @@ -0,0 +1,16 @@ + + + + WebM video-only frame rate change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-v-framesize.html b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-v-framesize.html new file mode 100644 index 00000000000..cd17671c846 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-change-webm-v-framesize.html @@ -0,0 +1,16 @@ + + + + WebM video-only frame size change. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-config-changes.js b/tests/wpt/web-platform-tests/media-source/mediasource-config-changes.js new file mode 100644 index 00000000000..586e25f2b30 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-config-changes.js @@ -0,0 +1,101 @@ +// Extract & return the resolution string from a filename, if any. +function resolutionFromFilename(filename) +{ + resolution = filename.replace(/^.*[^0-9]([0-9]+x[0-9]+)[^0-9].*$/, "$1"); + if (resolution != filename) { + return resolution; + } + return ""; +} + +function appendBuffer(test, sourceBuffer, data) +{ + test.expectEvent(sourceBuffer, "update"); + test.expectEvent(sourceBuffer, "updateend"); + sourceBuffer.appendBuffer(data); +} + +function mediaSourceConfigChangeTest(directory, idA, idB, description) +{ + var manifestFilenameA = directory + "/test-" + idA + "-manifest.json"; + var manifestFilenameB = directory + "/test-" + idB + "-manifest.json"; + mediasource_test(function(test, mediaElement, mediaSource) + { + mediaElement.pause(); + test.failOnEvent(mediaElement, 'error'); + var expectResizeEvents = resolutionFromFilename(manifestFilenameA) != resolutionFromFilename(manifestFilenameB); + var expectedResizeEventCount = 0; + + MediaSourceUtil.fetchManifestAndData(test, manifestFilenameA, function(typeA, dataA) + { + MediaSourceUtil.fetchManifestAndData(test, manifestFilenameB, function(typeB, dataB) + { + assert_equals(typeA, typeB, "Media format types match"); + + var sourceBuffer = mediaSource.addSourceBuffer(typeA); + + appendBuffer(test, sourceBuffer, dataA); + ++expectedResizeEventCount; + + test.waitForExpectedEvents(function() + { + // Add the second buffer starting at 0.5 second. + sourceBuffer.timestampOffset = 0.5; + appendBuffer(test, sourceBuffer, dataB); + ++expectedResizeEventCount; + }); + + test.waitForExpectedEvents(function() + { + // Add the first buffer starting at 1 second. + sourceBuffer.timestampOffset = 1; + appendBuffer(test, sourceBuffer, dataA); + ++expectedResizeEventCount; + }); + + test.waitForExpectedEvents(function() + { + // Add the second buffer starting at 1.5 second. + sourceBuffer.timestampOffset = 1.5; + appendBuffer(test, sourceBuffer, dataB); + ++expectedResizeEventCount; + }); + + test.waitForExpectedEvents(function() + { + assert_false(sourceBuffer.updating, "updating"); + assert_greater_than(mediaSource.duration, 2, "duration"); + + // Truncate the presentation to a duration of 2 seconds. + mediaSource.duration = 2; + + assert_true(sourceBuffer.updating, "updating"); + test.expectEvent(sourceBuffer, 'updatestart', 'sourceBuffer'); + test.expectEvent(sourceBuffer, 'update', 'sourceBuffer'); + test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer'); + }); + + test.waitForExpectedEvents(function() + { + assert_false(sourceBuffer.updating, "updating"); + + mediaSource.endOfStream(); + + assert_false(sourceBuffer.updating, "updating"); + + if (expectResizeEvents) { + for (var i = 0; i < expectedResizeEventCount; ++i) { + test.expectEvent(mediaElement, "resize"); + } + } + test.expectEvent(mediaElement, "ended"); + mediaElement.play(); + }); + + test.waitForExpectedEvents(function() { + test.done(); + }); + }); + }); + }, description, { timeout: 10000 } ); +}; diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-duration-boundaryconditions.html b/tests/wpt/web-platform-tests/media-source/mediasource-duration-boundaryconditions.html new file mode 100644 index 00000000000..4521fd08fd3 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-duration-boundaryconditions.html @@ -0,0 +1,62 @@ + + + + MediaSource.duration boundary condition test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-duration.html b/tests/wpt/web-platform-tests/media-source/mediasource-duration.html new file mode 100644 index 00000000000..ca6b25de73f --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-duration.html @@ -0,0 +1,217 @@ + + + + MediaSource.duration & HTMLMediaElement.duration test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-endofstream-invaliderror.html b/tests/wpt/web-platform-tests/media-source/mediasource-endofstream-invaliderror.html new file mode 100644 index 00000000000..e0096decc06 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-endofstream-invaliderror.html @@ -0,0 +1,52 @@ + + + + Invalid MediaSource.endOfStream() parameter test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-getvideoplaybackquality.html b/tests/wpt/web-platform-tests/media-source/mediasource-getvideoplaybackquality.html new file mode 100644 index 00000000000..d813d631f95 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-getvideoplaybackquality.html @@ -0,0 +1,71 @@ + + + + HTMLVideoElement.getVideoPlaybackQuality() test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-is-type-supported.html b/tests/wpt/web-platform-tests/media-source/mediasource-is-type-supported.html new file mode 100644 index 00000000000..289cce272d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-is-type-supported.html @@ -0,0 +1,80 @@ + + + + MediaSource.isTypeSupported() test cases. + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-multiple-attach.html b/tests/wpt/web-platform-tests/media-source/mediasource-multiple-attach.html new file mode 100644 index 00000000000..d8152ff3044 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-multiple-attach.html @@ -0,0 +1,113 @@ + + + + Test Attaching a MediaSource to multiple HTMLMediaElements. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-play-then-seek-back.html b/tests/wpt/web-platform-tests/media-source/mediasource-play-then-seek-back.html new file mode 100644 index 00000000000..bb2b747baf1 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-play-then-seek-back.html @@ -0,0 +1,57 @@ + + + + Simple MediaSource playback & seek test case. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-play.html b/tests/wpt/web-platform-tests/media-source/mediasource-play.html new file mode 100644 index 00000000000..73153462d77 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-play.html @@ -0,0 +1,44 @@ + + + + Simple MediaSource playback test case. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-redundant-seek.html b/tests/wpt/web-platform-tests/media-source/mediasource-redundant-seek.html new file mode 100644 index 00000000000..c1cc84c3096 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-redundant-seek.html @@ -0,0 +1,72 @@ + + + + Test MediaSource behavior when receiving multiple seek requests during a pending seek. + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-remove.html b/tests/wpt/web-platform-tests/media-source/mediasource-remove.html new file mode 100644 index 00000000000..0b9db531cec --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-remove.html @@ -0,0 +1,293 @@ + + + + SourceBuffer.remove() test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-removesourcebuffer.html b/tests/wpt/web-platform-tests/media-source/mediasource-removesourcebuffer.html new file mode 100644 index 00000000000..cbf3a1b37e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-removesourcebuffer.html @@ -0,0 +1,92 @@ + + + + MediaSource.removeSourceBuffer() test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-seek-beyond-duration.html b/tests/wpt/web-platform-tests/media-source/mediasource-seek-beyond-duration.html new file mode 100644 index 00000000000..3caf5f8dda7 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-seek-beyond-duration.html @@ -0,0 +1,95 @@ + + + + Test MediaSource behavior when seeking beyond the duration of the clip. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-seek-during-pending-seek.html b/tests/wpt/web-platform-tests/media-source/mediasource-seek-during-pending-seek.html new file mode 100644 index 00000000000..b12903289dc --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-seek-during-pending-seek.html @@ -0,0 +1,142 @@ + + + + Test MediaSource behavior when a seek is requested while another seek is pending. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-sequencemode-append-buffer.html b/tests/wpt/web-platform-tests/media-source/mediasource-sequencemode-append-buffer.html new file mode 100644 index 00000000000..15263eebf7f --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-sequencemode-append-buffer.html @@ -0,0 +1,129 @@ + + + + SourceBuffer.mode == "sequence" test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode.html b/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode.html new file mode 100644 index 00000000000..94843e26166 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-sourcebuffer-mode.html @@ -0,0 +1,140 @@ + + + + SourceBuffer.mode test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-sourcebufferlist.html b/tests/wpt/web-platform-tests/media-source/mediasource-sourcebufferlist.html new file mode 100644 index 00000000000..31757acf7d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-sourcebufferlist.html @@ -0,0 +1,83 @@ + + + + SourceBufferList test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-timestamp-offset.html b/tests/wpt/web-platform-tests/media-source/mediasource-timestamp-offset.html new file mode 100644 index 00000000000..728dc2c5f5d --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-timestamp-offset.html @@ -0,0 +1,121 @@ + + + + SourceBuffer.timestampOffset test cases. + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-util.js b/tests/wpt/web-platform-tests/media-source/mediasource-util.js new file mode 100644 index 00000000000..de1560e17ba --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mediasource-util.js @@ -0,0 +1,431 @@ +(function(window) { + setup({ timeout: 12000 }); + + var SEGMENT_INFO_LIST = [ + { + url: 'mp4/test.mp4', + type: 'video/mp4; codecs="mp4a.40.2,avc1.4d400d"', + duration: 6.0756, + init: { offset: 0, size: 1197 }, + media: [ + { offset: 1241, size: 17845, timecode: 0.000000 }, + { offset: 19130, size: 5551, timecode: 0.464800 }, + { offset: 24725, size: 10944, timecode: 0.763600 }, + { offset: 35713, size: 7131, timecode: 0.863200 }, + { offset: 42888, size: 2513, timecode: 1.128800 }, + { offset: 45457, size: 3022, timecode: 1.261600 }, + { offset: 48479, size: 815, timecode: 1.427600 }, + { offset: 49338, size: 2818, timecode: 1.460800 }, + { offset: 52200, size: 11581, timecode: 1.593600 }, + { offset: 63825, size: 3003, timecode: 1.726400 }, + { offset: 66872, size: 6390, timecode: 1.892400 }, + { offset: 73306, size: 3740, timecode: 2.124800 }, + { offset: 77102, size: 11779, timecode: 2.324000 }, + { offset: 88881, size: 851, timecode: 2.490000 }, + { offset: 89776, size: 4236, timecode: 2.523200 }, + { offset: 94056, size: 9538, timecode: 2.755600 }, + { offset: 103638, size: 13295, timecode: 3.154000 }, + { offset: 116977, size: 309, timecode: 3.386400 }, + { offset: 117330, size: 5806, timecode: 3.419600 }, + { offset: 123180, size: 4392, timecode: 3.751600 }, + { offset: 127616, size: 15408, timecode: 3.984000 }, + { offset: 143068, size: 9899, timecode: 4.216400 }, + { offset: 153011, size: 11562, timecode: 4.780800 }, + { offset: 164617, size: 7398, timecode: 4.946800 }, + { offset: 172059, size: 5698, timecode: 5.212400 }, + { offset: 177801, size: 11682, timecode: 5.511200 }, + { offset: 189527, size: 3023, timecode: 5.677200 }, + { offset: 192594, size: 5726, timecode: 5.843200 }, + ] + }, + { + url: 'webm/test.webm', + type: 'video/webm; codecs="vp8, vorbis"', + duration: 6.042, + init: { offset: 0, size: 4357 }, + media: [ + { offset: 4357, size: 11830, timecode: 0 }, + { offset: 16187, size: 12588, timecode: 0.385 }, + { offset: 28775, size: 14588, timecode: 0.779 }, + { offset: 43363, size: 13023, timecode: 1.174 }, + { offset: 56386, size: 13127, timecode: 1.592 }, + { offset: 69513, size: 14456, timecode: 1.987 }, + { offset: 83969, size: 13458, timecode: 2.381 }, + { offset: 97427, size: 14566, timecode: 2.776 }, + { offset: 111993, size: 13201, timecode: 3.171 }, + { offset: 125194, size: 14061, timecode: 3.566 }, + { offset: 139255, size: 15353, timecode: 3.96 }, + { offset: 154608, size: 13618, timecode: 4.378 }, + { offset: 168226, size: 15094, timecode: 4.773 }, + { offset: 183320, size: 13069, timecode: 5.168 }, + { offset: 196389, size: 13788, timecode: 5.563 }, + { offset: 210177, size: 9009, timecode: 5.957 }, + ], + } + ]; + EventExpectationsManager = function(test) + { + this.test_ = test; + this.eventTargetList_ = []; + this.waitCallbacks_ = []; + }; + + EventExpectationsManager.prototype.expectEvent = function(object, eventName, description) + { + var eventInfo = { 'target': object, 'type': eventName, 'description': description}; + var expectations = this.getExpectations_(object); + expectations.push(eventInfo); + + var t = this; + var waitHandler = this.test_.step_func(this.handleWaitCallback_.bind(this)); + var eventHandler = this.test_.step_func(function(event) + { + object.removeEventListener(eventName, eventHandler); + var expected = expectations[0]; + assert_equals(event.target, expected.target, "Event target match."); + assert_equals(event.type, expected.type, "Event types match."); + assert_equals(eventInfo.description, expected.description, "Descriptions match for '" + event.type + "'."); + + expectations.shift(1); + if (t.waitCallbacks_.length > 0) + setTimeout(waitHandler, 0); + }); + object.addEventListener(eventName, eventHandler); + }; + + EventExpectationsManager.prototype.waitForExpectedEvents = function(callback) + { + this.waitCallbacks_.push(callback); + setTimeout(this.test_.step_func(this.handleWaitCallback_.bind(this)), 0); + }; + + EventExpectationsManager.prototype.expectingEvents = function() + { + for (var i = 0; i < this.eventTargetList_.length; ++i) { + if (this.eventTargetList_[i].expectations.length > 0) { + return true; + } + } + return false; + } + + EventExpectationsManager.prototype.handleWaitCallback_ = function() + { + if (this.waitCallbacks_.length == 0 || this.expectingEvents()) + return; + var callback = this.waitCallbacks_.shift(1); + callback(); + }; + + EventExpectationsManager.prototype.getExpectations_ = function(target) + { + for (var i = 0; i < this.eventTargetList_.length; ++i) { + var info = this.eventTargetList_[i]; + if (info.target == target) { + return info.expectations; + } + } + var expectations = []; + this.eventTargetList_.push({ 'target': target, 'expectations': expectations }); + return expectations; + }; + + function loadData_(test, url, callback, isBinary) + { + var request = new XMLHttpRequest(); + request.open("GET", url, true); + if (isBinary) { + request.responseType = 'arraybuffer'; + } + request.onload = test.step_func(function(event) + { + if (request.status != 200) { + assert_unreached("Unexpected status code : " + request.status); + return; + } + var response = request.response; + if (isBinary) { + response = new Uint8Array(response); + } + callback(response); + }); + request.onerror = test.step_func(function(event) + { + assert_unreached("Unexpected error"); + }); + request.send(); + } + + function openMediaSource_(test, mediaTag, callback) + { + var mediaSource = new MediaSource(); + var mediaSourceURL = URL.createObjectURL(mediaSource); + + var eventHandler = test.step_func(onSourceOpen); + function onSourceOpen(event) + { + mediaSource.removeEventListener('sourceopen', eventHandler); + URL.revokeObjectURL(mediaSourceURL); + callback(mediaSource); + } + + mediaSource.addEventListener('sourceopen', eventHandler); + mediaTag.src = mediaSourceURL; + } + + var MediaSourceUtil = {}; + + MediaSourceUtil.loadTextData = function(test, url, callback) + { + loadData_(test, url, callback, false); + }; + + MediaSourceUtil.loadBinaryData = function(test, url, callback) + { + loadData_(test, url, callback, true); + }; + + MediaSourceUtil.fetchManifestAndData = function(test, manifestFilename, callback) + { + var baseURL = ''; + var manifestURL = baseURL + manifestFilename; + MediaSourceUtil.loadTextData(test, manifestURL, function(manifestText) + { + var manifest = JSON.parse(manifestText); + + assert_true(MediaSource.isTypeSupported(manifest.type), manifest.type + " is supported."); + + var mediaURL = baseURL + manifest.url; + MediaSourceUtil.loadBinaryData(test, mediaURL, function(mediaData) + { + callback(manifest.type, mediaData); + }); + }); + }; + + MediaSourceUtil.extractSegmentData = function(mediaData, info) + { + var start = info.offset; + var end = start + info.size; + return mediaData.subarray(start, end); + } + + MediaSourceUtil.getMediaDataForPlaybackTime = function(mediaData, segmentInfo, playbackTimeToAdd) + { + assert_less_than_equal(playbackTimeToAdd, segmentInfo.duration); + var mediaInfo = segmentInfo.media; + var start = mediaInfo[0].offset; + var numBytes = 0; + var segmentIndex = 0; + while (segmentIndex < mediaInfo.length && mediaInfo[segmentIndex].timecode <= playbackTimeToAdd) + { + numBytes += mediaInfo[segmentIndex].size; + ++segmentIndex; + } + return mediaData.subarray(start, numBytes + start); + } + + function getFirstSupportedType(typeList) + { + for (var i = 0; i < typeList.length; ++i) { + if (window.MediaSource && MediaSource.isTypeSupported(typeList[i])) + return typeList[i]; + } + return ""; + } + + function getSegmentInfo() + { + for (var i = 0; i < SEGMENT_INFO_LIST.length; ++i) { + var segmentInfo = SEGMENT_INFO_LIST[i]; + if (window.MediaSource && MediaSource.isTypeSupported(segmentInfo.type)) { + return segmentInfo; + } + } + return null; + } + + var audioOnlyTypes = ['audio/mp4;codecs="mp4a.40.2"', 'audio/webm;codecs="vorbis"']; + var videoOnlyTypes = ['video/mp4;codecs="avc1.4D4001"', 'video/webm;codecs="vp8"']; + var audioVideoTypes = ['video/mp4;codecs="avc1.4D4001,mp4a.40.2"', 'video/webm;codecs="vp8,vorbis"']; + MediaSourceUtil.AUDIO_ONLY_TYPE = getFirstSupportedType(audioOnlyTypes); + MediaSourceUtil.VIDEO_ONLY_TYPE = getFirstSupportedType(videoOnlyTypes); + MediaSourceUtil.AUDIO_VIDEO_TYPE = getFirstSupportedType(audioVideoTypes); + MediaSourceUtil.SEGMENT_INFO = getSegmentInfo(); + + MediaSourceUtil.getSubType = function(mimetype) { + var slashIndex = mimetype.indexOf("/"); + var semicolonIndex = mimetype.indexOf(";"); + if (slashIndex <= 0) { + assert_unreached("Invalid mimetype '" + mimetype + "'"); + return; + } + + var start = slashIndex + 1; + if (semicolonIndex >= 0) { + if (semicolonIndex <= start) { + assert_unreached("Invalid mimetype '" + mimetype + "'"); + return; + } + + return mimetype.substr(start, semicolonIndex - start) + } + + return mimetype.substr(start); + }; + + MediaSourceUtil.append = function(test, sourceBuffer, data, callback) + { + function onUpdate() { + sourceBuffer.removeEventListener("update", onUpdate); + callback(); + } + sourceBuffer.addEventListener("update", onUpdate); + + test.failOnEvent(sourceBuffer, "error"); + + sourceBuffer.appendBuffer(data); + }; + + MediaSourceUtil.appendUntilEventFires = function(test, mediaElement, eventName, sourceBuffer, mediaData, segmentInfo, startingIndex) + { + var eventFired = false; + function onEvent() { + mediaElement.removeEventListener(eventName, onEvent); + eventFired = true; + } + mediaElement.addEventListener(eventName, onEvent); + + var i = startingIndex; + var onAppendDone = function() { + if (eventFired) + return; + + i++; + MediaSourceUtil.append(test, sourceBuffer, MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.media[i]), onAppendDone); + }; + MediaSourceUtil.append(test, sourceBuffer, MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.media[i]), onAppendDone); + + }; + + function addExtraTestMethods(test) + { + test.failOnEvent = function(object, eventName) + { + object.addEventListener(eventName, test.step_func(function(event) + { + assert_unreached("Unexpected event '" + eventName + "'"); + })); + }; + + test.endOnEvent = function(object, eventName) + { + object.addEventListener(eventName, test.step_func(function(event) { test.done(); })); + }; + + test.eventExpectations_ = new EventExpectationsManager(test); + test.expectEvent = function(object, eventName, description) + { + test.eventExpectations_.expectEvent(object, eventName, description); + }; + + test.waitForExpectedEvents = function(callback) + { + test.eventExpectations_.waitForExpectedEvents(callback); + }; + + test.waitForCurrentTimeChange = function(mediaElement, callback) + { + var initialTime = mediaElement.currentTime; + + var onTimeUpdate = test.step_func(function() + { + if (mediaElement.currentTime != initialTime) { + mediaElement.removeEventListener('timeupdate', onTimeUpdate); + callback(); + } + }); + + mediaElement.addEventListener('timeupdate', onTimeUpdate); + } + + var oldTestDone = test.done.bind(test); + test.done = function() + { + if (test.status == test.PASS) { + assert_false(test.eventExpectations_.expectingEvents(), "No pending event expectations."); + } + oldTestDone(); + }; + }; + + window['MediaSourceUtil'] = MediaSourceUtil; + window['media_test'] = function(testFunction, description, options) + { + options = options || {}; + return async_test(function(test) + { + addExtraTestMethods(test); + testFunction(test); + }, description, options); + }; + window['mediasource_test'] = function(testFunction, description, options) + { + return media_test(function(test) + { + var mediaTag = document.createElement("video"); + document.body.appendChild(mediaTag); + + test.removeMediaElement_ = true; + test.add_cleanup(function() + { + if (test.removeMediaElement_) { + document.body.removeChild(mediaTag); + test.removeMediaElement_ = false; + } + }); + + openMediaSource_(test, mediaTag, function(mediaSource) + { + testFunction(test, mediaTag, mediaSource); + }); + }, description, options); + }; + + window['mediasource_testafterdataloaded'] = function(testFunction, description, options) + { + mediasource_test(function(test, mediaElement, mediaSource) + { + var segmentInfo = MediaSourceUtil.SEGMENT_INFO; + + if (!segmentInfo) { + assert_unreached("No segment info compatible with this MediaSource implementation."); + return; + } + + test.failOnEvent(mediaElement, 'error'); + + var sourceBuffer = mediaSource.addSourceBuffer(segmentInfo.type); + MediaSourceUtil.loadBinaryData(test, segmentInfo.url, function(mediaData) + { + testFunction(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData); + }); + }, description, options); + } + + function timeRangesToString(ranges) + { + var s = "{"; + for (var i = 0; i < ranges.length; ++i) { + s += " [" + ranges.start(i).toFixed(3) + ", " + ranges.end(i).toFixed(3) + ")"; + } + return s + " }"; + } + + window['assertBufferedEquals'] = function(obj, expected, description) + { + var actual = timeRangesToString(obj.buffered); + assert_equals(actual, expected, description); + }; + +})(window); diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-a-128k-44100Hz-1ch-manifest.json b/tests/wpt/web-platform-tests/media-source/mp4/test-a-128k-44100Hz-1ch-manifest.json new file mode 100644 index 00000000000..f3caa460e9f --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mp4/test-a-128k-44100Hz-1ch-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "mp4/test-a-128k-44100Hz-1ch.mp4", + "type": "audio/mp4;codecs=\"mp4a.40.2\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-a-128k-44100Hz-1ch.mp4 b/tests/wpt/web-platform-tests/media-source/mp4/test-a-128k-44100Hz-1ch.mp4 new file mode 100644 index 00000000000..fc7832a5b38 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/mp4/test-a-128k-44100Hz-1ch.mp4 differ diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-a-192k-44100Hz-1ch-manifest.json b/tests/wpt/web-platform-tests/media-source/mp4/test-a-192k-44100Hz-1ch-manifest.json new file mode 100644 index 00000000000..41a6f339b79 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mp4/test-a-192k-44100Hz-1ch-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "mp4/test-a-192k-44100Hz-1ch.mp4", + "type": "audio/mp4;codecs=\"mp4a.40.2\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-a-192k-44100Hz-1ch.mp4 b/tests/wpt/web-platform-tests/media-source/mp4/test-a-192k-44100Hz-1ch.mp4 new file mode 100644 index 00000000000..864a87d25ba Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/mp4/test-a-192k-44100Hz-1ch.mp4 differ diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..7731e3170e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4", + "type": "video/mp4;codecs=\"avc1.4D4001,mp4a.40.2\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4 b/tests/wpt/web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4 new file mode 100644 index 00000000000..e623e8ee4c6 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4 differ diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..78ded611f68 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4", + "type": "video/mp4;codecs=\"avc1.4D4001,mp4a.40.2\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4 b/tests/wpt/web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4 new file mode 100644 index 00000000000..946167b56ea Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4 differ diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..ba46349f93e --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4", + "type": "video/mp4;codecs=\"avc1.4D4001,mp4a.40.2\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4 b/tests/wpt/web-platform-tests/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4 new file mode 100644 index 00000000000..ace4bee53a6 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4 differ diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..24da9b4ce3f --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4", + "type": "video/mp4;codecs=\"avc1.4D4001,mp4a.40.2\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4 b/tests/wpt/web-platform-tests/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4 new file mode 100644 index 00000000000..f224a5426a1 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4 differ diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-320x240-24fps-8kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-320x240-24fps-8kfr-manifest.json new file mode 100644 index 00000000000..a31b6d0245b --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-320x240-24fps-8kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "mp4/test-v-128k-320x240-24fps-8kfr.mp4", + "type": "video/mp4;codecs=\"avc1.4D4001\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-320x240-24fps-8kfr.mp4 b/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-320x240-24fps-8kfr.mp4 new file mode 100644 index 00000000000..cc55f40fa2e Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-320x240-24fps-8kfr.mp4 differ diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-320x240-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-320x240-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..3e02844105b --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-320x240-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "mp4/test-v-128k-320x240-30fps-10kfr.mp4", + "type": "video/mp4;codecs=\"avc1.4D4001\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-320x240-30fps-10kfr.mp4 b/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-320x240-30fps-10kfr.mp4 new file mode 100644 index 00000000000..68d02cdfeca Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-320x240-30fps-10kfr.mp4 differ diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-640x480-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-640x480-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..10c4f4bcbdf --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-640x480-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "mp4/test-v-128k-640x480-30fps-10kfr.mp4", + "type": "video/mp4;codecs=\"avc1.4D4001\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-640x480-30fps-10kfr.mp4 b/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-640x480-30fps-10kfr.mp4 new file mode 100644 index 00000000000..c4f47f03582 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/mp4/test-v-128k-640x480-30fps-10kfr.mp4 differ diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-v-256k-320x240-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/mp4/test-v-256k-320x240-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..42d3e1e524e --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/mp4/test-v-256k-320x240-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "mp4/test-v-256k-320x240-30fps-10kfr.mp4", + "type": "video/mp4;codecs=\"avc1.4D4001\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test-v-256k-320x240-30fps-10kfr.mp4 b/tests/wpt/web-platform-tests/media-source/mp4/test-v-256k-320x240-30fps-10kfr.mp4 new file mode 100644 index 00000000000..6dc4972fd73 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/mp4/test-v-256k-320x240-30fps-10kfr.mp4 differ diff --git a/tests/wpt/web-platform-tests/media-source/mp4/test.mp4 b/tests/wpt/web-platform-tests/media-source/mp4/test.mp4 new file mode 100644 index 00000000000..eca97aad4bb Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/mp4/test.mp4 differ diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-a-128k-44100Hz-1ch-manifest.json b/tests/wpt/web-platform-tests/media-source/webm/test-a-128k-44100Hz-1ch-manifest.json new file mode 100644 index 00000000000..524da8149fe --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/webm/test-a-128k-44100Hz-1ch-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "webm/test-a-128k-44100Hz-1ch.webm", + "type": "audio/webm;codecs=\"vorbis\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-a-128k-44100Hz-1ch.webm b/tests/wpt/web-platform-tests/media-source/webm/test-a-128k-44100Hz-1ch.webm new file mode 100644 index 00000000000..c5b064deb9f Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/webm/test-a-128k-44100Hz-1ch.webm differ diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-a-192k-44100Hz-1ch-manifest.json b/tests/wpt/web-platform-tests/media-source/webm/test-a-192k-44100Hz-1ch-manifest.json new file mode 100644 index 00000000000..7f2fa1e8c33 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/webm/test-a-192k-44100Hz-1ch-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "webm/test-a-192k-44100Hz-1ch.webm", + "type": "audio/webm;codecs=\"vorbis\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-a-192k-44100Hz-1ch.webm b/tests/wpt/web-platform-tests/media-source/webm/test-a-192k-44100Hz-1ch.webm new file mode 100644 index 00000000000..53814d3bd69 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/webm/test-a-192k-44100Hz-1ch.webm differ diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..af9f07af15d --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm", + "type": "video/webm;codecs=\"vp8,vorbis\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm b/tests/wpt/web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm new file mode 100644 index 00000000000..8b705dbc898 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm differ diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..f7ec86b3db9 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm", + "type": "video/webm;codecs=\"vp8,vorbis\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm b/tests/wpt/web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm new file mode 100644 index 00000000000..c5e010e3c7e Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm differ diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..96a59db586e --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm", + "type": "video/webm;codecs=\"vp8,vorbis\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm b/tests/wpt/web-platform-tests/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm new file mode 100644 index 00000000000..62c43288e68 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm differ diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..86723b34a81 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm", + "type": "video/webm;codecs=\"vp8,vorbis\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm b/tests/wpt/web-platform-tests/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm new file mode 100644 index 00000000000..93c31b6a979 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm differ diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-320x240-24fps-8kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-320x240-24fps-8kfr-manifest.json new file mode 100644 index 00000000000..00e103aca9b --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-320x240-24fps-8kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "webm/test-v-128k-320x240-24fps-8kfr.webm", + "type": "video/webm;codecs=\"vp8\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-320x240-24fps-8kfr.webm b/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-320x240-24fps-8kfr.webm new file mode 100644 index 00000000000..189c472f996 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-320x240-24fps-8kfr.webm differ diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-320x240-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-320x240-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..fdeeb401d96 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-320x240-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "webm/test-v-128k-320x240-30fps-10kfr.webm", + "type": "video/webm;codecs=\"vp8\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-320x240-30fps-10kfr.webm b/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-320x240-30fps-10kfr.webm new file mode 100644 index 00000000000..18b2bafc3a6 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-320x240-30fps-10kfr.webm differ diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-640x480-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-640x480-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..4e304606678 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-640x480-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "webm/test-v-128k-640x480-30fps-10kfr.webm", + "type": "video/webm;codecs=\"vp8\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-640x480-30fps-10kfr.webm b/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-640x480-30fps-10kfr.webm new file mode 100644 index 00000000000..75e38b0bfab Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/webm/test-v-128k-640x480-30fps-10kfr.webm differ diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-v-256k-320x240-30fps-10kfr-manifest.json b/tests/wpt/web-platform-tests/media-source/webm/test-v-256k-320x240-30fps-10kfr-manifest.json new file mode 100644 index 00000000000..3470674bff5 --- /dev/null +++ b/tests/wpt/web-platform-tests/media-source/webm/test-v-256k-320x240-30fps-10kfr-manifest.json @@ -0,0 +1,4 @@ +{ + "url": "webm/test-v-256k-320x240-30fps-10kfr.webm", + "type": "video/webm;codecs=\"vp8\"" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-v-256k-320x240-30fps-10kfr.webm b/tests/wpt/web-platform-tests/media-source/webm/test-v-256k-320x240-30fps-10kfr.webm new file mode 100644 index 00000000000..0250d26fafe Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/webm/test-v-256k-320x240-30fps-10kfr.webm differ diff --git a/tests/wpt/web-platform-tests/media-source/webm/test-vp8-vorbis-webvtt.webm b/tests/wpt/web-platform-tests/media-source/webm/test-vp8-vorbis-webvtt.webm new file mode 100644 index 00000000000..c626f86e336 Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/webm/test-vp8-vorbis-webvtt.webm differ diff --git a/tests/wpt/web-platform-tests/media-source/webm/test.webm b/tests/wpt/web-platform-tests/media-source/webm/test.webm new file mode 100644 index 00000000000..6c2138d4eca Binary files /dev/null and b/tests/wpt/web-platform-tests/media-source/webm/test.webm differ diff --git a/tests/wpt/web-platform-tests/media/A4.mp4 b/tests/wpt/web-platform-tests/media/A4.mp4 new file mode 100644 index 00000000000..ef66d43b9ea Binary files /dev/null and b/tests/wpt/web-platform-tests/media/A4.mp4 differ diff --git a/tests/wpt/web-platform-tests/media/A4.ogv b/tests/wpt/web-platform-tests/media/A4.ogv new file mode 100644 index 00000000000..de99616eceb Binary files /dev/null and b/tests/wpt/web-platform-tests/media/A4.ogv differ diff --git a/tests/wpt/web-platform-tests/media/foo.vtt b/tests/wpt/web-platform-tests/media/foo.vtt new file mode 100644 index 00000000000..b533895c604 --- /dev/null +++ b/tests/wpt/web-platform-tests/media/foo.vtt @@ -0,0 +1,4 @@ +WEBVTT + +00:00:00.000 --> 00:00:05.000 +Foo diff --git a/tests/wpt/web-platform-tests/media/foo.vtt.headers b/tests/wpt/web-platform-tests/media/foo.vtt.headers new file mode 100644 index 00000000000..23de552c1a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/media/foo.vtt.headers @@ -0,0 +1 @@ +Access-Control-Allow-Origin: * \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/media/green-at-15.mp4 b/tests/wpt/web-platform-tests/media/green-at-15.mp4 new file mode 100644 index 00000000000..a9d2b979d41 Binary files /dev/null and b/tests/wpt/web-platform-tests/media/green-at-15.mp4 differ diff --git a/tests/wpt/web-platform-tests/media/green-at-15.ogv b/tests/wpt/web-platform-tests/media/green-at-15.ogv new file mode 100644 index 00000000000..50d59dfb38b Binary files /dev/null and b/tests/wpt/web-platform-tests/media/green-at-15.ogv differ diff --git a/tests/wpt/web-platform-tests/media/movie_300.mp4 b/tests/wpt/web-platform-tests/media/movie_300.mp4 new file mode 100644 index 00000000000..cf59777fb98 Binary files /dev/null and b/tests/wpt/web-platform-tests/media/movie_300.mp4 differ diff --git a/tests/wpt/web-platform-tests/media/movie_300.ogv b/tests/wpt/web-platform-tests/media/movie_300.ogv new file mode 100644 index 00000000000..0f83996e5dc Binary files /dev/null and b/tests/wpt/web-platform-tests/media/movie_300.ogv differ diff --git a/tests/wpt/web-platform-tests/media/movie_5.mp4 b/tests/wpt/web-platform-tests/media/movie_5.mp4 new file mode 100644 index 00000000000..fb5dbca2380 Binary files /dev/null and b/tests/wpt/web-platform-tests/media/movie_5.mp4 differ diff --git a/tests/wpt/web-platform-tests/media/movie_5.ogv b/tests/wpt/web-platform-tests/media/movie_5.ogv new file mode 100644 index 00000000000..e8990d1120a Binary files /dev/null and b/tests/wpt/web-platform-tests/media/movie_5.ogv differ diff --git a/tests/wpt/web-platform-tests/media/poster.png b/tests/wpt/web-platform-tests/media/poster.png new file mode 100644 index 00000000000..bf6e253b3df Binary files /dev/null and b/tests/wpt/web-platform-tests/media/poster.png differ diff --git a/tests/wpt/web-platform-tests/media/sound_5.mp3 b/tests/wpt/web-platform-tests/media/sound_5.mp3 new file mode 100644 index 00000000000..bd202919899 Binary files /dev/null and b/tests/wpt/web-platform-tests/media/sound_5.mp3 differ diff --git a/tests/wpt/web-platform-tests/media/sound_5.oga b/tests/wpt/web-platform-tests/media/sound_5.oga new file mode 100644 index 00000000000..239ad2bd08c Binary files /dev/null and b/tests/wpt/web-platform-tests/media/sound_5.oga differ diff --git a/tests/wpt/web-platform-tests/media/white.mp4 b/tests/wpt/web-platform-tests/media/white.mp4 new file mode 100644 index 00000000000..ef609e42813 Binary files /dev/null and b/tests/wpt/web-platform-tests/media/white.mp4 differ diff --git a/tests/wpt/web-platform-tests/media/white.webm b/tests/wpt/web-platform-tests/media/white.webm new file mode 100644 index 00000000000..bbacad7ffd8 Binary files /dev/null and b/tests/wpt/web-platform-tests/media/white.webm differ diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/mediastreams-as-media-elements/video-assignment-manual.html b/tests/wpt/web-platform-tests/mediacapture-streams/mediastreams-as-media-elements/video-assignment-manual.html new file mode 100644 index 00000000000..8d8ee34bcf7 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/mediastreams-as-media-elements/video-assignment-manual.html @@ -0,0 +1,56 @@ + + + +Assigning mediastream to a video element + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that the MediaStream object returned by +the success callback in getUserMedia can be properly assigned to a video element +via the srcObject attribute.

                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/api-present.html b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/api-present.html new file mode 100644 index 00000000000..84fece9fc21 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/api-present.html @@ -0,0 +1,25 @@ + + + +getUserMedia: test that getUserMedia is present (with or without vendor prefix) + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks for the presence of the +navigator.getUserMedia method, taking vendor prefixes into account.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/deny.html b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/deny.html new file mode 100644 index 00000000000..0cc3f93cf93 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/deny.html @@ -0,0 +1,36 @@ + + + + getUserMedia() triggers error callback when auth is denied + + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, please deny access to +the video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that the error callback is triggered +when user denies access to the video stream.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/empty-option-param.html b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/empty-option-param.html new file mode 100644 index 00000000000..4536cb03425 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/empty-option-param.html @@ -0,0 +1,36 @@ + + + +getUserMedia({}) aborts with NOT_SUPPORTED_ERR + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that getUserMedia with no value in the +options parameter raises a NOT_SUPPORTED_ERR exception.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-impossible-constraint.html b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-impossible-constraint.html new file mode 100644 index 00000000000..fcbef13e539 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-impossible-constraint.html @@ -0,0 +1,34 @@ + + + +Trivial mandatory constraint in getUserMedia + + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that setting a trivial mandatory +constraint (width >=0) in getUserMedia works

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-optional-constraint.html b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-optional-constraint.html new file mode 100644 index 00000000000..9364911fa5f --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-optional-constraint.html @@ -0,0 +1,33 @@ + + + +Optional constraint recognized as optional in getUserMedia + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that setting an optional constraint in +getUserMedia is handled as optional

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-trivial-constraint.html b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-trivial-constraint.html new file mode 100644 index 00000000000..739fdaf814c --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/getusermedia-trivial-constraint.html @@ -0,0 +1,32 @@ + + + +Trivial mandatory constraint in getUserMedia + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that setting a trivial mandatory +constraint (width >=0) in getUserMedia works

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/unknownkey-option-param.html b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/unknownkey-option-param.html new file mode 100644 index 00000000000..9f99c667f5d --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/obtaining-local-multimedia-content/navigatorusermedia/unknownkey-option-param.html @@ -0,0 +1,38 @@ + + + +getUserMedia({doesnotexist:true}) aborts with NOT_SUPPORTED_ERR + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that getUserMedia with an unknown value +in the options parameter raises a NOT_SUPPORTED_ERR exception.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/introduction/disabled-audio-silence.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/introduction/disabled-audio-silence.html new file mode 100644 index 00000000000..dfd5abf501e --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/introduction/disabled-audio-silence.html @@ -0,0 +1,56 @@ + + + +A disabled audio track is rendered as silence + + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your audio stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that a disabled audio track in a +MediaStream is rendered as silence. It relies on the + +Web Audio API.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/introduction/disabled-video-black.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/introduction/disabled-video-black.html new file mode 100644 index 00000000000..93e2828a97c --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/introduction/disabled-video-black.html @@ -0,0 +1,57 @@ + + + +A disabled video track is rendered as blackness + + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that a disabled video track in a +MediaStream is rendered as blackness.

                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/audio.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/audio.html new file mode 100644 index 00000000000..2b4cc5719f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/audio.html @@ -0,0 +1,36 @@ + + + +getUserMedia({audio:true}) creates a stream with at least an audio track + + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your audio stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that the MediaStream object returned by +the success callback in getUserMedia has exactly one audio track.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-addtrack.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-addtrack.html new file mode 100644 index 00000000000..9dcfc380e71 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-addtrack.html @@ -0,0 +1,55 @@ + + + +Adding a track to a MediaStream + + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your audio stream, then your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that adding a track to a MediaStream works as expected.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-finished-add.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-finished-add.html new file mode 100644 index 00000000000..21d61194fff --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-finished-add.html @@ -0,0 +1,49 @@ + + + +Adding a track to a finished MediaStream + + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your audio stream, then +your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that adding a track to a finished +MediaStream raises an INVALID_STATE_ERR exception.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-gettrackid.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-gettrackid.html new file mode 100644 index 00000000000..40bbbdbb6b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-gettrackid.html @@ -0,0 +1,36 @@ + + + +Retrieving a track from a MediaStream + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that MediaStream.getTrackById behaves as expected

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-id-manual.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-id-manual.html new file mode 100644 index 00000000000..4d4f5683cd9 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-id-manual.html @@ -0,0 +1,33 @@ + + + +getUserMedia() creates a stream with a proper id + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that the MediaStream object returned by +the success callback in getUserMedia has a correct id.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-idl.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-idl.html new file mode 100644 index 00000000000..57ef7daa292 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-idl.html @@ -0,0 +1,53 @@ + + + +MediaStream constructor algorithm + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your video and audio stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that the MediaStream constructor +follows the algorithm set in the spec.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-removetrack.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-removetrack.html new file mode 100644 index 00000000000..7d684cde2c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/mediastream-removetrack.html @@ -0,0 +1,49 @@ + + + +Removing a track from a MediaStream + + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your audio stream, then your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that removinging a track from a MediaStream works as expected.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/stream-ended.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/stream-ended.html new file mode 100644 index 00000000000..4d537ca25a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/stream-ended.html @@ -0,0 +1,37 @@ + + + +getUserMedia({video:true}) creates a stream with ended set to false + + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that the MediaStream object returned by +the success callback in getUserMedia has a ended set to false at start, and +triggers "onended" when it is set to true.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/video.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/video.html new file mode 100644 index 00000000000..90d967b8a8e --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastream/video.html @@ -0,0 +1,34 @@ + + + +getUserMedia({video:true}) creates a stream with one video track + + + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that the MediaStream object returned by +the success callback in getUserMedia has exactly one video track and no audio.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-end.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-end.html new file mode 100644 index 00000000000..988f1ee3551 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-end.html @@ -0,0 +1,40 @@ + + + +Test that mediastreamtrack are properly ended + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your video and audio +stream, and then revoke that permission.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that the video and audio tracks of +MediaStream object returned by the success callback in getUserMedia are +correctly set into ended state when permission is revoked.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-id.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-id.html new file mode 100644 index 00000000000..8e0eb101fc1 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-id.html @@ -0,0 +1,29 @@ + + + +Distinct id for distinct mediastream tracks + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your audio and video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that distinct mediastream tracks have distinct ids.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-init.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-init.html new file mode 100644 index 00000000000..42d1ff9dd62 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/mediastreamtrack/mediastreamtrack-init.html @@ -0,0 +1,77 @@ + + + +getUserMedia({video:true}) creates a stream with a properly initialized video track + + + + + + + + + +

                                                                                                                                                                                                                                                                                        When prompted, accept to share your video stream.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test checks that the video track of MediaStream +object returned by the success callback in getUserMedia is correctly initialized.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/video-and-audio-tracks/audiostreamtrack.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/video-and-audio-tracks/audiostreamtrack.html new file mode 100644 index 00000000000..611fc2803ef --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/video-and-audio-tracks/audiostreamtrack.html @@ -0,0 +1,27 @@ + + + +AudioStreamTrack is defined + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test verifies the availability of the AudioStreamTrack interface.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/video-and-audio-tracks/videostreamtrack.html b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/video-and-audio-tracks/videostreamtrack.html new file mode 100644 index 00000000000..1213bb47617 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-streams/stream-api/video-and-audio-tracks/videostreamtrack.html @@ -0,0 +1,27 @@ + + + +VideoStreamTrack is defined + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test verifies the availability of the VideoStreamTrack interface.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/microdata/conformance-requirements/.gitkeep b/tests/wpt/web-platform-tests/microdata/conformance-requirements/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/converting-html-to-other-formats/.gitkeep b/tests/wpt/web-platform-tests/microdata/converting-html-to-other-formats/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/converting-html-to-other-formats/json/.gitkeep b/tests/wpt/web-platform-tests/microdata/converting-html-to-other-formats/json/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/dependencies/.gitkeep b/tests/wpt/web-platform-tests/microdata/dependencies/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/encoding-microdata/.gitkeep b/tests/wpt/web-platform-tests/microdata/encoding-microdata/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/encoding-microdata/associating-names-with-items/.gitkeep b/tests/wpt/web-platform-tests/microdata/encoding-microdata/associating-names-with-items/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/encoding-microdata/items/.gitkeep b/tests/wpt/web-platform-tests/microdata/encoding-microdata/items/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/encoding-microdata/microdata-and-other-namespaces/.gitkeep b/tests/wpt/web-platform-tests/microdata/encoding-microdata/microdata-and-other-namespaces/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/encoding-microdata/names-the-itemprop-attribute/.gitkeep b/tests/wpt/web-platform-tests/microdata/encoding-microdata/names-the-itemprop-attribute/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/encoding-microdata/names-the-itemprop-attribute/original-id.json b/tests/wpt/web-platform-tests/microdata/encoding-microdata/names-the-itemprop-attribute/original-id.json new file mode 100644 index 00000000000..144cacfda8b --- /dev/null +++ b/tests/wpt/web-platform-tests/microdata/encoding-microdata/names-the-itemprop-attribute/original-id.json @@ -0,0 +1 @@ +{"original_id":"names:-the-itemprop-attribute"} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/microdata/encoding-microdata/the-microdata-model/.gitkeep b/tests/wpt/web-platform-tests/microdata/encoding-microdata/the-microdata-model/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/encoding-microdata/values/.gitkeep b/tests/wpt/web-platform-tests/microdata/encoding-microdata/values/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/iana/.gitkeep b/tests/wpt/web-platform-tests/microdata/iana/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/introduction/.gitkeep b/tests/wpt/web-platform-tests/microdata/introduction/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/introduction/global-identifiers-for-items/.gitkeep b/tests/wpt/web-platform-tests/microdata/introduction/global-identifiers-for-items/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/introduction/overview/.gitkeep b/tests/wpt/web-platform-tests/microdata/introduction/overview/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/introduction/selecting-names-when-defining-vocabularies/.gitkeep b/tests/wpt/web-platform-tests/microdata/introduction/selecting-names-when-defining-vocabularies/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/introduction/the-basic-syntax/.gitkeep b/tests/wpt/web-platform-tests/microdata/introduction/the-basic-syntax/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/introduction/typed-items/.gitkeep b/tests/wpt/web-platform-tests/microdata/introduction/typed-items/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/introduction/using-the-microdata-dom-api/.gitkeep b/tests/wpt/web-platform-tests/microdata/introduction/using-the-microdata-dom-api/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/microdata-dom-api/.gitkeep b/tests/wpt/web-platform-tests/microdata/microdata-dom-api/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/microdata-dom-api/001.html b/tests/wpt/web-platform-tests/microdata/microdata-dom-api/001.html new file mode 100644 index 00000000000..822b0441444 --- /dev/null +++ b/tests/wpt/web-platform-tests/microdata/microdata-dom-api/001.html @@ -0,0 +1,3665 @@ + + + + + Microdata tests + + + + + + + +
                                                                                                                                                                                                                                                                                        Running test...
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/microdata/microdata-dom-api/htmlpropertiescollection/.gitkeep b/tests/wpt/web-platform-tests/microdata/microdata-dom-api/htmlpropertiescollection/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/microdata/terminology/.gitkeep b/tests/wpt/web-platform-tests/microdata/terminology/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/navigation-timing/idlharness.html b/tests/wpt/web-platform-tests/navigation-timing/idlharness.html new file mode 100644 index 00000000000..edf1a669ea1 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/idlharness.html @@ -0,0 +1,119 @@ + + + + +Navigation Timing IDL tests + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Navigation Timing IDL tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +interface PerformanceTiming {
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long navigationStart;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long unloadEventStart;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long unloadEventEnd;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long redirectStart;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long redirectEnd;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long fetchStart;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long domainLookupStart;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long domainLookupEnd;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long connectStart;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long connectEnd;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long secureConnectionStart;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long requestStart;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long responseStart;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long responseEnd;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long domLoading;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long domInteractive;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long domContentLoadedEventStart;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long domContentLoadedEventEnd;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long domComplete;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long loadEventStart;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned long long loadEventEnd;
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +interface PerformanceNavigation {
                                                                                                                                                                                                                                                                                        +  const unsigned short TYPE_NAVIGATE = 0;
                                                                                                                                                                                                                                                                                        +  const unsigned short TYPE_RELOAD = 1;
                                                                                                                                                                                                                                                                                        +  const unsigned short TYPE_BACK_FORWARD = 2;
                                                                                                                                                                                                                                                                                        +  const unsigned short TYPE_RESERVED = 255;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned short type;
                                                                                                                                                                                                                                                                                        +  readonly attribute unsigned short redirectCount;
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +interface Performance : EventTarget {
                                                                                                                                                                                                                                                                                        +  readonly attribute PerformanceTiming timing;
                                                                                                                                                                                                                                                                                        +  readonly attribute PerformanceNavigation navigation;
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +partial interface Window {
                                                                                                                                                                                                                                                                                        +  [Replaceable] readonly attribute Performance performance;
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_green.html b/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_green.html new file mode 100644 index 00000000000..b8a1947b77e --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_green.html @@ -0,0 +1,10 @@ + + + + + Green Test Page + + +

                                                                                                                                                                                                                                                                                        Placeholder

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_green_with_onunload.html b/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_green_with_onunload.html new file mode 100644 index 00000000000..2f401747b01 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_green_with_onunload.html @@ -0,0 +1,11 @@ + + + + + Green Test Page + + + +

                                                                                                                                                                                                                                                                                        Placeholder

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_meta_redirect.html b/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_meta_redirect.html new file mode 100644 index 00000000000..50d6e705717 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_meta_redirect.html @@ -0,0 +1,11 @@ + + + + + + Redirect Placeholder + + +

                                                                                                                                                                                                                                                                                        Placeholder

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_unload.html b/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_unload.html new file mode 100644 index 00000000000..bb2a27f168e --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_unload.html @@ -0,0 +1,25 @@ + + + + + + Yellow Test Page + + + + +

                                                                                                                                                                                                                                                                                        Unload

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_yellow.html b/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_yellow.html new file mode 100644 index 00000000000..4e5e1a000c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_yellow.html @@ -0,0 +1,10 @@ + + + + + Yellow Test Page + + +

                                                                                                                                                                                                                                                                                        Placeholder

                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_yellow_with_onunload.html b/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_yellow_with_onunload.html new file mode 100644 index 00000000000..771e0701d9c --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/resources/blank_page_yellow_with_onunload.html @@ -0,0 +1,11 @@ + + + + + Yellow Test Page + + + +

                                                                                                                                                                                                                                                                                        Placeholder

                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/navigation-timing/resources/webperftestharness.js b/tests/wpt/web-platform-tests/navigation-timing/resources/webperftestharness.js new file mode 100644 index 00000000000..750946dde20 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/resources/webperftestharness.js @@ -0,0 +1,155 @@ +/* +Distributed under both the W3C Test Suite License [1] and the W3C +3-clause BSD License [2]. To contribute to a W3C Test Suite, see the +policies and contribution forms [3]. + +[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license +[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license +[3] http://www.w3.org/2004/10/27-testcases + */ + +// +// Helper Functions for NavigationTiming W3C tests +// + +var performanceNamespace = window.performance; +var timingAttributes = [ + 'connectEnd', + 'connectStart', + 'domComplete', + 'domContentLoadedEventEnd', + 'domContentLoadedEventStart', + 'domInteractive', + 'domLoading', + 'domainLookupEnd', + 'domainLookupStart', + 'fetchStart', + 'loadEventEnd', + 'loadEventStart', + 'navigationStart', + 'redirectEnd', + 'redirectStart', + 'requestStart', + 'responseEnd', + 'responseStart', + 'unloadEventEnd', + 'unloadEventStart' +]; + +var namespace_check = false; + +// +// All test() functions in the WebPerf test suite should use wp_test() instead. +// +// wp_test() validates the window.performance namespace exists prior to running tests and +// immediately shows a single failure if it does not. +// + +function wp_test(func, msg, properties) +{ + // only run the namespace check once + if (!namespace_check) + { + namespace_check = true; + + if (performanceNamespace === undefined || performanceNamespace == null) + { + // show a single error that window.performance is undefined + test(function() { assert_true(performanceNamespace !== undefined && performanceNamespace != null, "window.performance is defined and not null"); }, "window.performance is defined and not null.", {author:"W3C http://www.w3.org/",help:"http://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute",assert:"The window.performance attribute provides a hosting area for performance related attributes. "}); + } + } + + test(func, msg, properties); +} + +function test_namespace(child_name, skip_root) +{ + if (skip_root === undefined) { + var msg = 'window.performance is defined'; + wp_test(function () { assert_true(performanceNamespace !== undefined, msg); }, msg,{author:"W3C http://www.w3.org/",help:"http://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute",assert:"The window.performance attribute provides a hosting area for performance related attributes. "}); + } + + if (child_name !== undefined) { + var msg2 = 'window.performance.' + child_name + ' is defined'; + wp_test(function() { assert_true(performanceNamespace[child_name] !== undefined, msg2); }, msg2,{author:"W3C http://www.w3.org/",help:"http://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute",assert:"The window.performance attribute provides a hosting area for performance related attributes. "}); + } +} + +function test_attribute_exists(parent_name, attribute_name, properties) +{ + var msg = 'window.performance.' + parent_name + '.' + attribute_name + ' is defined.'; + wp_test(function() { assert_true(performanceNamespace[parent_name][attribute_name] !== undefined, msg); }, msg, properties); +} + +function test_enum(parent_name, enum_name, value, properties) +{ + var msg = 'window.performance.' + parent_name + '.' + enum_name + ' is defined.'; + wp_test(function() { assert_true(performanceNamespace[parent_name][enum_name] !== undefined, msg); }, msg, properties); + + msg = 'window.performance.' + parent_name + '.' + enum_name + ' = ' + value; + wp_test(function() { assert_equals(performanceNamespace[parent_name][enum_name], value, msg); }, msg, properties); +} + +function test_timing_order(attribute_name, greater_than_attribute, properties) +{ + // ensure it's not 0 first + var msg = "window.performance.timing." + attribute_name + " > 0"; + wp_test(function() { assert_true(performanceNamespace.timing[attribute_name] > 0, msg); }, msg, properties); + + // ensure it's in the right order + msg = "window.performance.timing." + attribute_name + " >= window.performance.timing." + greater_than_attribute; + wp_test(function() { assert_true(performanceNamespace.timing[attribute_name] >= performanceNamespace.timing[greater_than_attribute], msg); }, msg, properties); +} + +function test_timing_greater_than(attribute_name, greater_than, properties) +{ + var msg = "window.performance.timing." + attribute_name + " > " + greater_than; + test_greater_than(performanceNamespace.timing[attribute_name], greater_than, msg, properties); +} + +function test_timing_equals(attribute_name, equals, msg, properties) +{ + var test_msg = msg || "window.performance.timing." + attribute_name + " == " + equals; + test_equals(performanceNamespace.timing[attribute_name], equals, test_msg, properties); +} + +// +// Non-test related helper functions +// + +function sleep_milliseconds(n) +{ + var start = new Date().getTime(); + while (true) { + if ((new Date().getTime() - start) >= n) break; + } +} + +// +// Common helper functions +// + +function test_true(value, msg, properties) +{ + wp_test(function () { assert_true(value, msg); }, msg, properties); +} + +function test_equals(value, equals, msg, properties) +{ + wp_test(function () { assert_equals(value, equals, msg); }, msg, properties); +} + +function test_greater_than(value, greater_than, msg, properties) +{ + wp_test(function () { assert_true(value > greater_than, msg); }, msg, properties); +} + +function test_greater_or_equals(value, greater_than, msg, properties) +{ + wp_test(function () { assert_true(value >= greater_than, msg); }, msg, properties); +} + +function test_not_equals(value, notequals, msg, properties) +{ + wp_test(function() { assert_true(value !== notequals, msg); }, msg, properties); +} diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_document_open.html b/tests/wpt/web-platform-tests/navigation-timing/test_document_open.html new file mode 100644 index 00000000000..ca88bf0ef5c --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_document_open.html @@ -0,0 +1,83 @@ + + + + +window.performance.timing for dynamically created documents + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates window.performance.timing remains constant when a +document is replaced using document.open.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This page should be loaded with a yellow frame below. It then replaces the +document in that frame with a green document.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The test passes if all of the checks to performance.timing are correct and +the frame below ends with a green background.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_document_readiness_exist.html b/tests/wpt/web-platform-tests/navigation-timing/test_document_readiness_exist.html new file mode 100644 index 00000000000..a55ca75ff59 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_document_readiness_exist.html @@ -0,0 +1,50 @@ + + + + + document.readyState values exist during a navigation + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that the "loading", "interactive" and "complete" + document.readyState states are available during a navigation.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh this page to guarantee all readyState phases.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_navigate_within_document.html b/tests/wpt/web-platform-tests/navigation-timing/test_navigate_within_document.html new file mode 100644 index 00000000000..e35d67df8e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_navigate_within_document.html @@ -0,0 +1,66 @@ + + + + + window.performance.timing in document navigation + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that all of the window.performance.timing attributes remain unchanged after an in document navigation (URL fragment change).

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_navigation_attributes_exist.html b/tests/wpt/web-platform-tests/navigation-timing/test_navigation_attributes_exist.html new file mode 100644 index 00000000000..465409ea413 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_navigation_attributes_exist.html @@ -0,0 +1,25 @@ + + + + + window.performance.navigation attributes + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that all of the window.performance.navigation attributes exist (but does not validate that their values are correct).

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_navigation_redirectCount_none.html b/tests/wpt/web-platform-tests/navigation-timing/test_navigation_redirectCount_none.html new file mode 100644 index 00000000000..2046b32cd64 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_navigation_redirectCount_none.html @@ -0,0 +1,29 @@ + + + + + window.performance.navigation.redirectCount on a non-redirected navigation + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that the value of the window.performance.navigation.redirectCount attribute, as well as the window.performance.timing.redirectStart and redirectEnd attributes on a non-redirected navigation.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_navigation_type_backforward.html b/tests/wpt/web-platform-tests/navigation-timing/test_navigation_type_backforward.html new file mode 100644 index 00000000000..3583347093d --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_navigation_type_backforward.html @@ -0,0 +1,96 @@ + + + + + window.navigation.type for back and forward navigations + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        + Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + This test validates the value of window.performance.navigation.type with a forward + and back navigation.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This page should be loaded with a yellow background frame below. It should turn green for a starting + navigation, back to yellow for a back navigation and then back to green again for a forward navigation.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Along the navigation timeline the frame.window.performance.type is checked for TYPE_BACK_FORWARD.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This test passes if all of the checks to the navigation.type are correct throughout the navigation + scenario and the frame below ends with a green background. Otherwise, this test fails.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_navigation_type_enums.html b/tests/wpt/web-platform-tests/navigation-timing/test_navigation_type_enums.html new file mode 100644 index 00000000000..8bf8e4f3d7a --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_navigation_type_enums.html @@ -0,0 +1,27 @@ + + + + + window.performance.navigation enums + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that the TYPE_* enumerations of window.performance.navigation exist and their values are correct.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_navigation_type_reload.html b/tests/wpt/web-platform-tests/navigation-timing/test_navigation_type_reload.html new file mode 100644 index 00000000000..087100e32cd --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_navigation_type_reload.html @@ -0,0 +1,109 @@ + + + + + window.performance.navigation.type with a reloaded navigation + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the value of window.performance.navigation.type and the values of + window.performance.timing.* with a reloaded navigation.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This page should be loaded with a green background frame below. The frame will be automatically reloaded + and then verified that +

                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • The window.performance.navigation.type = TYPE_RELOAD
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • All of the widow.performance.timing.* values after reload are > all of the window.performance.timing.* values + prior to reload.
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_no_previous_document.html b/tests/wpt/web-platform-tests/navigation-timing/test_no_previous_document.html new file mode 100644 index 00000000000..476a6e7a7be --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_no_previous_document.html @@ -0,0 +1,41 @@ + + + + + window.performance.timing attributes on an initial navigation + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the unload event times are 0 when there is no previous document.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_performance_attributes_exist.html b/tests/wpt/web-platform-tests/navigation-timing/test_performance_attributes_exist.html new file mode 100644 index 00000000000..28dd846da4c --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_performance_attributes_exist.html @@ -0,0 +1,23 @@ + + + + + window.performance attributes + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that the navigation and timing attributes exist for window.performance + (but does not validate that their values are correct).

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_performance_attributes_exist_in_object.html b/tests/wpt/web-platform-tests/navigation-timing/test_performance_attributes_exist_in_object.html new file mode 100644 index 00000000000..60fcdb521ab --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_performance_attributes_exist_in_object.html @@ -0,0 +1,29 @@ + + + + + window.performance attribute exists in an object + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that the window.performance object exists in an + object element (but does not validate that their values are correct).

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_readwrite.html b/tests/wpt/web-platform-tests/navigation-timing/test_readwrite.html new file mode 100644 index 00000000000..6a216fae4d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_readwrite.html @@ -0,0 +1,28 @@ + + + + + window.performance is read/write + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that the window.performance object is read/write.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_timing_attributes_exist.html b/tests/wpt/web-platform-tests/navigation-timing/test_timing_attributes_exist.html new file mode 100644 index 00000000000..f3dea6838c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_timing_attributes_exist.html @@ -0,0 +1,27 @@ + + + + + window.performance.timing attributes + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that all of the window.performance.timing attributes exist (but does not validate that their values are correct).

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_timing_attributes_order.html b/tests/wpt/web-platform-tests/navigation-timing/test_timing_attributes_order.html new file mode 100644 index 00000000000..5739eb92580 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_timing_attributes_order.html @@ -0,0 +1,110 @@ + + + + + window.performance.timing attribute ordering on a simple navigation + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the ordering of the window.performance.timing attributes.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This page should be loaded with a yellow background frame below which contains an unload event + handler.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        After the page loads, the frame is navigated to a new blank page with a green background. At this point, the navigation timeline is verified

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This test passes if all of the checks to the frame.window.performance.timing attributes are + correct throughout the navigation scenario and the frame below ends with a green background. + Otherwise, this test fails.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Setup

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_timing_client_redirect.html b/tests/wpt/web-platform-tests/navigation-timing/test_timing_client_redirect.html new file mode 100644 index 00000000000..14caea654b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_timing_client_redirect.html @@ -0,0 +1,55 @@ + + + + + window.performance.timing.redirect attributes on a client redirect navigation + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the values of the window.navigation.redirectCount and the + window.performance.timing.redirectStart/End times on a client side redirect.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_timing_reload.html b/tests/wpt/web-platform-tests/navigation-timing/test_timing_reload.html new file mode 100644 index 00000000000..4b8b791fb01 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_timing_reload.html @@ -0,0 +1,91 @@ + + + + + window.performance.timing attributes after a reloaded navigation + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that the window.performance.timing attributes change when a page is reloaded.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This page should be loaded with a green background frame below. The frame will be automatically reloaded + and then verified that the window.performance.timing attributes have been updated to the new reloaded navigation timings.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_timing_server_redirect.html b/tests/wpt/web-platform-tests/navigation-timing/test_timing_server_redirect.html new file mode 100644 index 00000000000..22137be74aa --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_timing_server_redirect.html @@ -0,0 +1,47 @@ + + + + + window.performance.timing.redirect attributes on a same-origin server redirected navigation + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the values of the window.performance.redirectCount and the + window.performance.timing.redirectStart/End times for a same-origin server side redirect navigation.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_timing_xserver_redirect.html b/tests/wpt/web-platform-tests/navigation-timing/test_timing_xserver_redirect.html new file mode 100644 index 00000000000..ef00526b0d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_timing_xserver_redirect.html @@ -0,0 +1,70 @@ + + + + + window.performance.timing.redirect attributes on a cross-origin server redirected navigation + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates the values of the window.performance.redirectCount and the + window.performance.timing.redirectStart/End times for a cross-origin server side redirect navigation.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/navigation-timing/test_unique_performance_objects.html b/tests/wpt/web-platform-tests/navigation-timing/test_unique_performance_objects.html new file mode 100644 index 00000000000..7d3bb3fe07a --- /dev/null +++ b/tests/wpt/web-platform-tests/navigation-timing/test_unique_performance_objects.html @@ -0,0 +1,30 @@ + + + + + Each window object has a unique performance object + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that each window has a unique window.performance object.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/Notification-permission.html b/tests/wpt/web-platform-tests/notifications/Notification-permission.html new file mode 100644 index 00000000000..d6501b5b5c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/Notification-permission.html @@ -0,0 +1,17 @@ + + +Web Notifications Test: Notification - permission (basic) + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/Notification-requestPermission-denied-manual.html b/tests/wpt/web-platform-tests/notifications/Notification-requestPermission-denied-manual.html new file mode 100644 index 00000000000..583e80e6920 --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/Notification-requestPermission-denied-manual.html @@ -0,0 +1,22 @@ + + +Web Notifications Test: Notification - requestPermission (deny) + + + + + + + +

                                                                                                                                                                                                                                                                                        Test Step:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        1. When ask the user whether showing notifications, make sure choose deny.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/Notification-requestPermission-granted-manual.html b/tests/wpt/web-platform-tests/notifications/Notification-requestPermission-granted-manual.html new file mode 100644 index 00000000000..4cf29d2731f --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/Notification-requestPermission-granted-manual.html @@ -0,0 +1,22 @@ + + +Web Notifications Test: Notification - requestPermission (allow) + + + + + + + +

                                                                                                                                                                                                                                                                                        Test Step:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        1. When ask the user whether showing notifications, make sure choose allow.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/README.md b/tests/wpt/web-platform-tests/notifications/README.md new file mode 100644 index 00000000000..821255358f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/README.md @@ -0,0 +1,5 @@ +Web Notifications test suite. + +Latest Editor's Draft: http://dvcs.w3.org/hg/notifications/raw-file/tip/Overview.html + +Latest Technical Report: http://www.w3.org/TR/notifications/ diff --git a/tests/wpt/web-platform-tests/notifications/event-onshow.html b/tests/wpt/web-platform-tests/notifications/event-onshow.html new file mode 100644 index 00000000000..9372c959d4c --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/event-onshow.html @@ -0,0 +1,23 @@ + + +Web Notifications Test: notification - onshow (basic) + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/instance.html b/tests/wpt/web-platform-tests/notifications/instance.html new file mode 100644 index 00000000000..2451b10c6a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/instance.html @@ -0,0 +1,52 @@ + + +Basic Notification instance tests + + + diff --git a/tests/wpt/web-platform-tests/notifications/interfaces.html b/tests/wpt/web-platform-tests/notifications/interfaces.html new file mode 100644 index 00000000000..71232e71249 --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/interfaces.html @@ -0,0 +1,80 @@ + + +Web Notifications IDL tests +
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/notifications/notification-body-basic-manual.html b/tests/wpt/web-platform-tests/notifications/notification-body-basic-manual.html new file mode 100644 index 00000000000..378ad4e3f1f --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/notification-body-basic-manual.html @@ -0,0 +1,17 @@ + + +Web Notifications Test: notification - body (basic) + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if a notification popups and the notification's body content is "Room 101".

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/notification-body-empty-manual.html b/tests/wpt/web-platform-tests/notifications/notification-body-empty-manual.html new file mode 100644 index 00000000000..76be5eba6c5 --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/notification-body-empty-manual.html @@ -0,0 +1,17 @@ + + +Web Notifications Test: notification - body (empty string) + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if a notification popups and the notification have no body content.

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/notification-close-manual.html b/tests/wpt/web-platform-tests/notifications/notification-close-manual.html new file mode 100644 index 00000000000..7b58e26090c --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/notification-close-manual.html @@ -0,0 +1,21 @@ + + +Web Notifications Test: notification - close (basic) + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if a notification popups and it disappears after a while(about 3 seconds).

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/notification-constructor-basic.html b/tests/wpt/web-platform-tests/notifications/notification-constructor-basic.html new file mode 100644 index 00000000000..7ed12b31d05 --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/notification-constructor-basic.html @@ -0,0 +1,20 @@ + + +Web Notifications Test: notification - constructor (basic) + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/notification-constructor-invalid.html b/tests/wpt/web-platform-tests/notifications/notification-constructor-invalid.html new file mode 100644 index 00000000000..96d9d2f20b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/notification-constructor-invalid.html @@ -0,0 +1,19 @@ + + +Web Notifications Test: notification - constructor (invalid) + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/notification-dir-auto-manual.html b/tests/wpt/web-platform-tests/notifications/notification-dir-auto-manual.html new file mode 100644 index 00000000000..358aa619e7a --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/notification-dir-auto-manual.html @@ -0,0 +1,18 @@ + + +Web Notifications Test: notification - dir (dir attribute set to "auto") + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if a notification popups and the notification's direction is the left edge.

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/notification-dir-ltr-manual.html b/tests/wpt/web-platform-tests/notifications/notification-dir-ltr-manual.html new file mode 100644 index 00000000000..d8b74511f20 --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/notification-dir-ltr-manual.html @@ -0,0 +1,18 @@ + + +Web Notifications Test: notification - dir (dir attribute set to "ltr") + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if a notification popups and the notification's direction is the left edge.

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/notification-dir-rtl-manual.html b/tests/wpt/web-platform-tests/notifications/notification-dir-rtl-manual.html new file mode 100644 index 00000000000..544773c9991 --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/notification-dir-rtl-manual.html @@ -0,0 +1,18 @@ + + +Web Notifications Test: notification - dir (dir attribute set to "rtl") + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if a notification popups and the notification's direction is the right edge.

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/notification-icon-basic-manual.html b/tests/wpt/web-platform-tests/notifications/notification-icon-basic-manual.html new file mode 100644 index 00000000000..1d3a95147b1 --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/notification-icon-basic-manual.html @@ -0,0 +1,19 @@ + + +Web Notifications Test: notification - icon (basic) + + + + + + +

                                                                                                                                                                                                                                                                                        Make sure connect to network.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if a notificaiton popups with a cat pictrue.

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/notification-icon-empty-manual.html b/tests/wpt/web-platform-tests/notifications/notification-icon-empty-manual.html new file mode 100644 index 00000000000..b153ed7f35c --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/notification-icon-empty-manual.html @@ -0,0 +1,18 @@ + + +Web Notifications Test: notification - icon (invalid) + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if a notificaiton popups and notification's icon content show nothing.

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/notification-tag-different-manual.html b/tests/wpt/web-platform-tests/notifications/notification-tag-different-manual.html new file mode 100644 index 00000000000..ee94e8b3ede --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/notification-tag-different-manual.html @@ -0,0 +1,23 @@ + + +Web Notifications Test: notification - tag (with different tag) + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if two notifications popups and the notification's body are different.

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/notifications/notification-tag-same-manual.html b/tests/wpt/web-platform-tests/notifications/notification-tag-same-manual.html new file mode 100644 index 00000000000..5099e68c2a0 --- /dev/null +++ b/tests/wpt/web-platform-tests/notifications/notification-tag-same-manual.html @@ -0,0 +1,23 @@ + + +Web Notifications Test: notification - tag (with same tag) + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if only one notification popups and the notification's body is "Room 202".

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_autocomplete.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_autocomplete.html new file mode 100644 index 00000000000..7cff30f333b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_autocomplete.html @@ -0,0 +1,47 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_autocomplete

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                      • input text in textbox and press enter key.
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                      • When you input same text, you can see hint text.
                                                                                                                                                                                                                                                                                      • + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_list.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_list.html new file mode 100644 index 00000000000..b76d5f90735 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_list.html @@ -0,0 +1,47 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_list

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                      • List is showed list when click the input control.
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasdate.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasdate.html new file mode 100644 index 00000000000..5a09ee08bf8 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasdate.html @@ -0,0 +1,52 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_valueAsDate

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                      • Date is showed in input when window is loaded.
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasnumber.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasnumber.html new file mode 100644 index 00000000000..9e4286b3400 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/input_valueasnumber.html @@ -0,0 +1,44 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_valueAsNumber

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                      • Number 5 is showed in input when window is loaded.
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_length.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_length.html new file mode 100644 index 00000000000..8e7e6ed7755 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_length.html @@ -0,0 +1,56 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        select_length

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                      • In select control there is only 3 items.
                                                                                                                                                                                                                                                                                      • + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_selectedindex.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_selectedindex.html new file mode 100644 index 00000000000..e6d69017987 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/Not_Use/select_selectedindex.html @@ -0,0 +1,50 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        select_selectedIndex

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                      • In select control second item is selected.
                                                                                                                                                                                                                                                                                      • + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_checkvalidity.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_checkvalidity.html new file mode 100644 index 00000000000..7e906875674 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_checkvalidity.html @@ -0,0 +1,44 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        button_checkValidity

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_labels.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_labels.html new file mode 100644 index 00000000000..81076d78048 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_labels.html @@ -0,0 +1,48 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        button_labels

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_setcustomvalidity.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_setcustomvalidity.html new file mode 100644 index 00000000000..f617e5bf2b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_setcustomvalidity.html @@ -0,0 +1,43 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        button_setCustomValidity

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_validationmessage.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_validationmessage.html new file mode 100644 index 00000000000..00dc287e41b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_validationmessage.html @@ -0,0 +1,40 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        button_validationMessage

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_validity.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_validity.html new file mode 100644 index 00000000000..184f187462a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_validity.html @@ -0,0 +1,40 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        button_validity

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_willvalidate.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_willvalidate.html new file mode 100644 index 00000000000..36166611f47 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/button_willvalidate.html @@ -0,0 +1,40 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        button_willValidate

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_checkvalidity.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_checkvalidity.html new file mode 100644 index 00000000000..4989b2ad82d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_checkvalidity.html @@ -0,0 +1,45 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        FieldSet_checkValidity

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_setcustomvalidity.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_setcustomvalidity.html new file mode 100644 index 00000000000..48e3839e6e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_setcustomvalidity.html @@ -0,0 +1,44 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        FieldSet_setCustomValidity

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_validationmessage.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_validationmessage.html new file mode 100644 index 00000000000..2b8d00f978a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_validationmessage.html @@ -0,0 +1,41 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        FieldSet_validationMessage

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_validity.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_validity.html new file mode 100644 index 00000000000..3474275640e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_validity.html @@ -0,0 +1,41 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        FieldSet_validity

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_willvalidate.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_willvalidate.html new file mode 100644 index 00000000000..c7e5853f4fd --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/fieldset_willvalidate.html @@ -0,0 +1,41 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        FieldSet_willValidate

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/form_action.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/form_action.html new file mode 100644 index 00000000000..d8e2703f8a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/form_action.html @@ -0,0 +1,43 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Form_action

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/form_checkvalidity.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/form_checkvalidity.html new file mode 100644 index 00000000000..931843d0d57 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/form_checkvalidity.html @@ -0,0 +1,47 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Form_checkValidity

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/form_length.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/form_length.html new file mode 100644 index 00000000000..cf7da08a75f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/form_length.html @@ -0,0 +1,38 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Form_length

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/form_submit.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/form_submit.html new file mode 100644 index 00000000000..a6acd08335f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/form_submit.html @@ -0,0 +1,51 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Form_submit

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_checkvalidity.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_checkvalidity.html new file mode 100644 index 00000000000..1e239b3f294 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_checkvalidity.html @@ -0,0 +1,44 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_checkValidity

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_height.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_height.html new file mode 100644 index 00000000000..72455038894 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_height.html @@ -0,0 +1,42 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_height

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_labels.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_labels.html new file mode 100644 index 00000000000..ef8f3de1df4 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_labels.html @@ -0,0 +1,49 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_labels

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_setcustomvalidity.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_setcustomvalidity.html new file mode 100644 index 00000000000..d0f6315fe2c --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_setcustomvalidity.html @@ -0,0 +1,43 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_setCustomValidity

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_stepdown.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_stepdown.html new file mode 100644 index 00000000000..cddd9dc687e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_stepdown.html @@ -0,0 +1,44 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_stepDown

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_stepup.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_stepup.html new file mode 100644 index 00000000000..789eb005efa --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_stepup.html @@ -0,0 +1,45 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_stepUp

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_validationmessage.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_validationmessage.html new file mode 100644 index 00000000000..c19d3e74a67 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_validationmessage.html @@ -0,0 +1,40 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_validationMessage

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_validity.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_validity.html new file mode 100644 index 00000000000..32ff63c0839 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_validity.html @@ -0,0 +1,40 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_validity

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_value_invalidstateerr.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_value_invalidstateerr.html new file mode 100644 index 00000000000..ed7ae334ced --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_value_invalidstateerr.html @@ -0,0 +1,41 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_value_INVALID_STATE_ERR

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_valueasdate_invalidstateerr.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_valueasdate_invalidstateerr.html new file mode 100644 index 00000000000..1e1533a9b38 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_valueasdate_invalidstateerr.html @@ -0,0 +1,41 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_valueAsDate_INVALID_STATE_ERR

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_valueasnumber_invalidstateerr.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_valueasnumber_invalidstateerr.html new file mode 100644 index 00000000000..2450db2c831 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_valueasnumber_invalidstateerr.html @@ -0,0 +1,39 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_valueAsNumber_INVALID_STATE_ERR

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_width.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_width.html new file mode 100644 index 00000000000..db168147bc7 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_width.html @@ -0,0 +1,42 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_width

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_willvalidate.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_willvalidate.html new file mode 100644 index 00000000000..04d360e12f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/input_willvalidate.html @@ -0,0 +1,40 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        input_willValidate

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/keygen_checkvalidity.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/keygen_checkvalidity.html new file mode 100644 index 00000000000..7ea35881273 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/keygen_checkvalidity.html @@ -0,0 +1,44 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        keygen_checkValidity

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/keygen_labels.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/keygen_labels.html new file mode 100644 index 00000000000..381f221e431 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Forms/contents/Forms/keygen_labels.html @@ -0,0 +1,48 @@ + + + + Forms + + + + +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        keygen_labels

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Session_History/contents/Session_History/css/result.css b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Session_History/contents/Session_History/css/result.css new file mode 100644 index 00000000000..7bbc5173053 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Session_History/contents/Session_History/css/result.css @@ -0,0 +1,12 @@ +.pass { + color: green; +} +.fail { + color: red; +} +.manualpass { + color: green; +} +.manualfail { + color: red; +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Session_History/contents/Session_History/index.html b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Session_History/contents/Session_History/index.html new file mode 100644 index 00000000000..7c556410220 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Infraware/Session_History/contents/Session_History/index.html @@ -0,0 +1,63 @@ + + + + + + Session History + + + + + +

                                                                                                                                                                                                                                                                                        + Session History 
                                                                                                                                                                                                                                                                                        +


                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          + + +
                                                                                                                                                                                                                                                                                        1. history_state
                                                                                                                                                                                                                                                                                        2. + +
                                                                                                                                                                                                                                                                                        3. history_pushState
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. history_pushState_NoOptionalParam
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        7. history_pushState SECURITY_ERR
                                                                                                                                                                                                                                                                                        8. +
                                                                                                                                                                                                                                                                                        9. history_replaceState
                                                                                                                                                                                                                                                                                        10. +
                                                                                                                                                                                                                                                                                        11. history_replaceStateNoOptionalParam
                                                                                                                                                                                                                                                                                        12. +
                                                                                                                                                                                                                                                                                        13. history_replaceState SECURITY_ERR
                                                                                                                                                                                                                                                                                        14. + +
                                                                                                                                                                                                                                                                                        15. history_back
                                                                                                                                                                                                                                                                                        16. +
                                                                                                                                                                                                                                                                                        17. history_forward
                                                                                                                                                                                                                                                                                        18. + +
                                                                                                                                                                                                                                                                                        19. history_go_minus
                                                                                                                                                                                                                                                                                        20. +
                                                                                                                                                                                                                                                                                        21. history_go_plus
                                                                                                                                                                                                                                                                                        22. + + + + + +
                                                                                                                                                                                                                                                                                        23. location_href
                                                                                                                                                                                                                                                                                        24. +
                                                                                                                                                                                                                                                                                        25. location_assign
                                                                                                                                                                                                                                                                                        26. +
                                                                                                                                                                                                                                                                                        27. location_replace
                                                                                                                                                                                                                                                                                        28. + +
                                                                                                                                                                                                                                                                                        29. location_protocol
                                                                                                                                                                                                                                                                                        30. +
                                                                                                                                                                                                                                                                                        31. location_host
                                                                                                                                                                                                                                                                                        32. +
                                                                                                                                                                                                                                                                                        33. location_hostname
                                                                                                                                                                                                                                                                                        34. +
                                                                                                                                                                                                                                                                                        35. location_port
                                                                                                                                                                                                                                                                                        36. +
                                                                                                                                                                                                                                                                                        37. location_pathname
                                                                                                                                                                                                                                                                                        38. +
                                                                                                                                                                                                                                                                                        39. location_search
                                                                                                                                                                                                                                                                                        40. +
                                                                                                                                                                                                                                                                                        41. location_hash
                                                                                                                                                                                                                                                                                        42. + +
                                                                                                                                                                                                                                                                                        43. combination_history_001
                                                                                                                                                                                                                                                                                        44. +
                                                                                                                                                                                                                                                                                        45. combination_history_002
                                                                                                                                                                                                                                                                                        46. +
                                                                                                                                                                                                                                                                                        47. combination_history_003
                                                                                                                                                                                                                                                                                        48. +
                                                                                                                                                                                                                                                                                        49. combination_history_004
                                                                                                                                                                                                                                                                                        50. +
                                                                                                                                                                                                                                                                                        51. combination_history_005
                                                                                                                                                                                                                                                                                        52. +
                                                                                                                                                                                                                                                                                        53. combination_history_006
                                                                                                                                                                                                                                                                                        54. +
                                                                                                                                                                                                                                                                                        55. combination_history_007
                                                                                                                                                                                                                                                                                        56. + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_000.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_000.htm new file mode 100644 index 00000000000..278157644b1 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_000.htm @@ -0,0 +1,62 @@ + + + + HTML5 Drag and Drop: Fire drag event during the drag and drop processing + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description: Fire drag event during the drag and drop processing
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if if the word "PASS" appears to the left after following the steps below. +
                                                                                                                                                                                                                                                                                        + Steps: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Click and drag the blue image +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + http://dev.w3.org/html5/spec/dnd.html#drag-and-drop-processing-model +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + If the user agent is still performing the previous iteration of the sequence (if any) when the next iteration becomes due, abort these steps for this iteration (effectively "skipping missed frames" of the drag-and-drop operation). + Fire a DND event named drag event at the source node. If this event is canceled, the user agent must set the current drag operation to "none" (no drag operation). +

                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_001.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_001.htm new file mode 100644 index 00000000000..3514f2193c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_001.htm @@ -0,0 +1,62 @@ + + + + HTML5 Drag and Drop: Fire drag event when dragging a div element + + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Fire drag event when dragging a div element
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if if the word "PASS" appears to the left after following the steps below. +
                                                                                                                                                                                                                                                                                        + Steps: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Click and drag the red box +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + http://dev.w3.org/html5/spec/dnd.html#drag-and-drop-processing-model +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + If the user agent is still performing the previous iteration of the sequence (if any) when the next iteration becomes due, abort these steps for this iteration (effectively "skipping missed frames" of the drag-and-drop operation). + Fire a DND event named drag event at the source node. If this event is canceled, the user agent must set the current drag operation to "none" (no drag operation). +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_002.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_002.htm new file mode 100644 index 00000000000..fdd40b57769 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_002.htm @@ -0,0 +1,64 @@ + + + + HTML5 Drag and Drop: Fire dragend event during the drag and drop processing + + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Fire dragend event during the drag and drop processing
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if if the word "PASS" appears to the left after following the steps below. +
                                                                                                                                                                                                                                                                                        + Steps: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Drag the blue image +
                                                                                                                                                                                                                                                                                        2. Drop it on the green box +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + http://dev.w3.org/html5/spec/dnd.html#drag-and-drop-processing-model +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + If the drag operation failed or succeeded, fire a DND event named dragend at the source node. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_003.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_003.htm new file mode 100644 index 00000000000..bde48b9cc09 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_003.htm @@ -0,0 +1,67 @@ + + + + HTML5 Drag and Drop: Fire dragenter event during the drag and drop processing + + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Fire dragenter event during the drag and drop processing
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if if the word "PASS" appears to the left after following the steps below. +
                                                                                                                                                                                                                                                                                        + Steps: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Select the text inside the red box +
                                                                                                                                                                                                                                                                                        2. Drag it and enter the green box +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + http://dev.w3.org/html5/spec/dnd.html#drag-and-drop-processing-model +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + If the user is indicating a different immediate user selection than during the last iteration (or if this is the first iteration), and if this immediate user selection is not the same as the current target element, then update the current target element as follows: + - If the new immediate user selection is null, Set the current target element to null also. + - If the new immediate user selection is in a non-DOM document or application, Set the current target element to the immediate user selection. + - Otherwise, Fire a DND event named dragenter at the immediate user selection. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        SampleText
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_004.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_004.htm new file mode 100644 index 00000000000..c97cc7dbf11 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_004.htm @@ -0,0 +1,19 @@ + + + + HTML5 Drag and Drop: Auto state of draggable attribute for 'a' element + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_005.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_005.htm new file mode 100644 index 00000000000..28305cd2646 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_005.htm @@ -0,0 +1,19 @@ + + + + HTML5 Drag and Drop: Auto state of draggable attribute for div element + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_006.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_006.htm new file mode 100644 index 00000000000..4d8432b0731 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_006.htm @@ -0,0 +1,19 @@ + + + + HTML5 Drag and Drop: Auto state of draggable attribute for img element + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_007.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_007.htm new file mode 100644 index 00000000000..f14c70b3944 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_007.htm @@ -0,0 +1,19 @@ + + + + HTML5 Drag and Drop: False state of draggable attribute + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_008.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_008.htm new file mode 100644 index 00000000000..4716e518868 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_008.htm @@ -0,0 +1,19 @@ + + + + HTML5 Drag and Drop: True state of draggable attribute + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_009.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_009.htm new file mode 100644 index 00000000000..781a584763f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_009.htm @@ -0,0 +1,66 @@ + + + + HTML5 Drag and Drop: Fire dragleave event during the drag and drop processing + + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Fire dragleave event during the drag and drop processing
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if if the word "PASS" appears to the left after following the steps below. +
                                                                                                                                                                                                                                                                                        + Steps: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Select the text inside the red box +
                                                                                                                                                                                                                                                                                        2. Drag it over the blue box and drop it on the green box +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + http://dev.w3.org/html5/spec/dnd.html#drag-and-drop-processing-model +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + If there is a change in the current target element, and if the previous target element was not null or a part of a non-DOM document, then fire a DND event named dragleave at the previous target element. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        SampleText
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_010.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_010.htm new file mode 100644 index 00000000000..08e0a071e72 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_010.htm @@ -0,0 +1,64 @@ + + + + HTML5 Drag and Drop: Fire dragover event during the drag and drop processing + + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Fire dragover event during the drag and drop processing
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if if the word "PASS" appears to the left after following the steps below. +
                                                                                                                                                                                                                                                                                        + Steps: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Select the text inside the red box. +
                                                                                                                                                                                                                                                                                        2. Drag it, hover over the green box and then release the mouse +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + http://dev.w3.org/html5/spec/dnd.html#drag-and-drop-processing-model +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + If the current target element is a DOM element, then fire a DND event named dragover at this current target element +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        SampleText
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_011.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_011.htm new file mode 100644 index 00000000000..dcd7c9c9d6a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_011.htm @@ -0,0 +1,62 @@ + + + + HTML5 Drag and Drop: Fire dragstart event during the drag and drop processing + + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Fire dragstart event during the drag and drop processing
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if if the word "PASS" appears to the left after following the steps below. +
                                                                                                                                                                                                                                                                                        + Steps: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Click and drag the red box +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + http://dev.w3.org/html5/spec/dnd.html#drag-and-drop-processing-model +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + If it is an element that is being dragged, then set the drag data store elements list to contain just the source node. + Fire a DND event named dragstart at the source node. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_012.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_012.htm new file mode 100644 index 00000000000..b1df40a7022 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_012.htm @@ -0,0 +1,64 @@ + + + + HTML5 Drag and Drop: Fire drop event during the drag and drop processing + + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Fire drop event during the drag and drop processing
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if if the word "PASS" appears to the left after following the steps below. +
                                                                                                                                                                                                                                                                                        + Steps: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Select the text inside the red box +
                                                                                                                                                                                                                                                                                        2. Drag it and drop it on the green box +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + http://dev.w3.org/html5/spec/dnd.html#drag-and-drop-processing-model +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + If the drag operation was a success, if the current target element is a DOM element, fire a DND event named drop at it. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        SampleText
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_013.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_013.htm new file mode 100644 index 00000000000..6c2c88afcee --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_013.htm @@ -0,0 +1,76 @@ + + + + HTML5 Drag and Drop: Set a value to effectAllowed attribute + + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Set a value to effectAllowed attribute
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if if the word "PASS" appears to the left after following the steps below. +
                                                                                                                                                                                                                                                                                        + Steps: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Drag the blue image and enter the green box +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + http://dev.w3.org/html5/spec/dnd.html#datatransfer +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + On setting, if the new value is one of "none", "copy", "copyLink", "copyMove", "link", "linkMove", "move", "all", or "uninitialized", then the attribute's current value must be set to the new value. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_014.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_014.htm new file mode 100644 index 00000000000..3959cd2ee82 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_014.htm @@ -0,0 +1,81 @@ + + + + HTML5 Drag and Drop: files attribute returns a FileList + + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: files attribute returns a FileList
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if if the word "PASS" appears to the left after following the steps below. +
                                                                                                                                                                                                                                                                                        + Steps: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Drag a file and drop it in the green box +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + http://dev.w3.org/html5/spec/dnd.html#datatransfer +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + The files attribute must return a live FileList sequence consisting of File objects representing the files. +

                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_015.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_015.htm new file mode 100644 index 00000000000..1cd64d9453e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_015.htm @@ -0,0 +1,78 @@ + + + + HTML5 Drag and Drop: Add an item to the drag data store item list whose data is the string given by setData method's second argument + + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Add an item to the drag data store item list whose data is the string given by setData method's second argument
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if if the word "PASS" appears to the left after following the steps below. +
                                                                                                                                                                                                                                                                                        + Steps: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Drag the blue image and drop it in the green box +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + http://dev.w3.org/html5/spec/dnd.html#datatransfer +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + If format equals "text", change it to "text/plain". + Remove the item in the drag data store item list whose kind is Plain Unicode string and whose type string is equal to format, if there is one. + Add an item to the drag data store item list whose kind is Plain Unicode string, whose type string is equal to format, and whose data is the string given by the method's second argument. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_016.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_016.htm new file mode 100644 index 00000000000..26b3317c318 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_016.htm @@ -0,0 +1,72 @@ + + + + HTML5 Drag and Drop: types attribute returns a DOMStringList + + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: types attribute returns a DOMStringList
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if if the word "PASS" appears to the left after following the steps below. +
                                                                                                                                                                                                                                                                                        + Steps: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Select the text inside the red box +
                                                                                                                                                                                                                                                                                        2. Drag and drop it in the green box +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + http://dev.w3.org/html5/spec/dnd.html#datatransfer +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + The types attribute must return a live DOMStringList. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        SampleText
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_support.js b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_support.js new file mode 100644 index 00000000000..f5a1d6417f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/dragdrop/dragdrop_support.js @@ -0,0 +1,9 @@ +function AddEventListenersForElement(evt, callback, capture, element) +{ + element.addEventListener(evt, callback, capture); +} + +function LogTestResult(result) +{ + document.getElementById("test_result").firstChild.data = result; +} diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_002.html b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_002.html new file mode 100644 index 00000000000..47acacfe7f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_002.html @@ -0,0 +1,47 @@ + + + + HTML 5 Foreign Content SVG in HTML + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if 'FillerText' is rendered as italic.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_007.html b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_007.html new file mode 100644 index 00000000000..f1ba496bb09 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_007.html @@ -0,0 +1,8 @@ + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if a green rectangle is visible on the page above this line.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_012.html b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_012.html new file mode 100644 index 00000000000..09e99e41ab2 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_012.html @@ -0,0 +1,33 @@ + + + + HTML 5 Foreign Content SVG in HTML + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if a green square appears above a black square.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_014.html b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_014.html new file mode 100644 index 00000000000..d92c14dfa9a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_014.html @@ -0,0 +1,98 @@ + + + + HTML 5 Foreign Content SVG in HTML + + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Result :

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        RUNNING

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_015.html b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_015.html new file mode 100644 index 00000000000..a4d27873a33 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/foreigncontent/foreign_content_015.html @@ -0,0 +1,53 @@ + + + + HTML 5 Foreign Content SVG in HTML + + + + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Result :

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        RUNNING
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/404.html b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/404.html new file mode 100644 index 00000000000..e28f5c575b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/404.html @@ -0,0 +1 @@ +Page Not Found \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/history_000.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/history_000.htm new file mode 100644 index 00000000000..03a36bd5f41 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/history/history_000.htm @@ -0,0 +1,329 @@ + + + + + + + HTML5 History Test Cases + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/blue-area.png b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/blue-area.png new file mode 100644 index 00000000000..570ae0f2bf7 Binary files /dev/null and b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/blue-area.png differ diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/blue-border.png b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/blue-border.png new file mode 100644 index 00000000000..8f8e41c3d00 Binary files /dev/null and b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/blue-border.png differ diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/blue.png b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/blue.png new file mode 100644 index 00000000000..4498dd258a2 Binary files /dev/null and b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/blue.png differ diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/fail.gif b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/fail.gif new file mode 100644 index 00000000000..c4addcf0090 Binary files /dev/null and b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/fail.gif differ diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/movie_300_frame_0.png b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/movie_300_frame_0.png new file mode 100644 index 00000000000..b7128250938 Binary files /dev/null and b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/movie_300_frame_0.png differ diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/poster.png b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/poster.png new file mode 100644 index 00000000000..8873ed67873 Binary files /dev/null and b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/poster.png differ diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/poster_blue.png b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/poster_blue.png new file mode 100644 index 00000000000..69d5a39dc48 Binary files /dev/null and b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/poster_blue.png differ diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/poster_green.png b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/poster_green.png new file mode 100644 index 00000000000..cac16ede7c0 Binary files /dev/null and b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/poster_green.png differ diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/poster_red.png b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/poster_red.png new file mode 100644 index 00000000000..0fb1f252c22 Binary files /dev/null and b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/poster_red.png differ diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/rect.svg b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/rect.svg new file mode 100644 index 00000000000..bb0cf97d90e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/images/rect.svg @@ -0,0 +1,4 @@ + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_001.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_001.htm new file mode 100644 index 00000000000..24d16cfccea --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_001.htm @@ -0,0 +1,11 @@ + + + + Page with script + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_002.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_002.htm new file mode 100644 index 00000000000..59b3d16123d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_002.htm @@ -0,0 +1,23 @@ + + + + HTML5 video with autoplay attribute. + + + + + Your browser does not support HTML5 video. + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_003.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_003.htm new file mode 100644 index 00000000000..621ece79af6 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_003.htm @@ -0,0 +1,12 @@ + + + + autofocus on form control + + +
                                                                                                                                                                                                                                                                                        Below form control has autofocus attribute set.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Textbox: +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_004.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_004.htm new file mode 100644 index 00000000000..02960d0786e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_004.htm @@ -0,0 +1,10 @@ + + + + object tag + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_006.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_006.htm new file mode 100644 index 00000000000..42542ae1472 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_006.htm @@ -0,0 +1,12 @@ + + + +Form submission + + +
                                                                                                                                                                                                                                                                                        + Name:
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_007.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_007.htm new file mode 100644 index 00000000000..fc01557c75c --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_007.htm @@ -0,0 +1,12 @@ + + + +Form submission + + +
                                                                                                                                                                                                                                                                                        + Name:
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_008.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_008.htm new file mode 100644 index 00000000000..115b9729383 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_008.htm @@ -0,0 +1,9 @@ + + + + Page with hyperlink and target set to self + + + Click here to perform self navigation + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_009.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_009.htm new file mode 100644 index 00000000000..f232dcb7c9a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_009.htm @@ -0,0 +1,9 @@ + + + + Page with showModalDialog() API + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_010.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_010.htm new file mode 100644 index 00000000000..d4e81bb966d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_010.htm @@ -0,0 +1,9 @@ + + + + Page with window.open() + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_012.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_012.htm new file mode 100644 index 00000000000..b1e8f92fb4e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_012.htm @@ -0,0 +1,13 @@ + + + + Page with access to document.cookie + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_020.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_020.htm new file mode 100644 index 00000000000..3304ea84bb5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_020.htm @@ -0,0 +1,28 @@ + + + + Page with iframes + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + child iframe with sandbox="allow-scripts" attribute
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + child iframe with sandbox="" attribute
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + child iframe without sandbox attribute
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_020a.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_020a.htm new file mode 100644 index 00000000000..a419c9413f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_020a.htm @@ -0,0 +1,13 @@ + + + + Page with script + + +
                                                                                                                                                                                                                                                                                        Script Execution: Blocked
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_021.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_021.htm new file mode 100644 index 00000000000..e3041ccef0a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_021.htm @@ -0,0 +1,28 @@ + + + + Page with iframes + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + child iframe with sandbox="allow-scripts" attribute
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + child iframe with sandbox="" attribute
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + child iframe without sandbox attribute
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_021a.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_021a.htm new file mode 100644 index 00000000000..4e22a363cab --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_021a.htm @@ -0,0 +1,13 @@ + + + + Page with script + + +
                                                                                                                                                                                                                                                                                        Script Execution: Blocked
                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_022.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_022.htm new file mode 100644 index 00000000000..11382d1d7c6 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_022.htm @@ -0,0 +1,11 @@ + + + + target=_top + + +
                                                                                                                                                                                                                                                                                        hyperlink with target=_top
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Open the link in top window + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_023.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_023.htm new file mode 100644 index 00000000000..a65db539bb4 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_023.htm @@ -0,0 +1,15 @@ + + +Access parent dom + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_024.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_024.htm new file mode 100644 index 00000000000..1b0996e5899 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_024.htm @@ -0,0 +1,13 @@ + + +Page with access to document.cookie + + +
                                                                                                                                                                                                                                                                                        Cookie Read:
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_026.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_026.htm new file mode 100644 index 00000000000..5f1a973e1f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_026.htm @@ -0,0 +1,12 @@ + + +Page with access to localStorage and sessionStorage + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_027.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_027.htm new file mode 100644 index 00000000000..366bff6f940 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_027.htm @@ -0,0 +1,21 @@ + + +XMLHttpRequest + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_028.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_028.htm new file mode 100644 index 00000000000..d7ca7614415 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_028.htm @@ -0,0 +1,20 @@ + + +Access parent dom + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_029.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_029.htm new file mode 100644 index 00000000000..5d5c720bd86 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_029.htm @@ -0,0 +1,19 @@ + + +Page with access to document.cookie + + +
                                                                                                                                                                                                                                                                                        Cookie Read:
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_031.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_031.htm new file mode 100644 index 00000000000..7ec7d7a4e81 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_031.htm @@ -0,0 +1,19 @@ + + +Page with access to localStorage and sessionStorage + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_032.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_032.htm new file mode 100644 index 00000000000..abc0370c2eb --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/iframe_sandbox_032.htm @@ -0,0 +1,27 @@ + + +XMLHttpRequest + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox.pdf b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox.pdf new file mode 100644 index 00000000000..0e16bc8d93d Binary files /dev/null and b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox.pdf differ diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_001.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_001.htm new file mode 100644 index 00000000000..53e2172bc37 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_001.htm @@ -0,0 +1,33 @@ + + + + HTML5 Sandbox: Allow script execution inside iframe with sandbox attribute when sandbox="allow-scripts". + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_002.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_002.htm new file mode 100644 index 00000000000..87049d0c1c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_002.htm @@ -0,0 +1,34 @@ + + + + HTML5 Sandbox: Allow autoplay for HTML5 Video inside iframe with sandbox attribute if sandbox='allow-scripts'. + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_003.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_003.htm new file mode 100644 index 00000000000..21078322b96 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_003.htm @@ -0,0 +1,32 @@ + + + + HTML5 Sandbox: Block autofocus on form control inside iframe with sandbox attribute. + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Block autofocus on form controls inside iframe with sandbox attribute.
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if caret (text cursor) is not on the textbox in the below iframe.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        iframe with sandbox
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_004.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_004.htm new file mode 100644 index 00000000000..21b063aedff --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_004.htm @@ -0,0 +1,33 @@ + + + + HTML5 Sandbox: Block plugins inside iframe with sandbox attribute. + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Block plugins inside iframe with sandbox attribute.
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if you DO NOT see the 'Sample PDF For Testing' pdf below or 'FAIL'.
                                                                                                                                                                                                                                                                                        + Test requires that a pdf plugin has been installed!
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        iframe with sandbox
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_005.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_005.htm new file mode 100644 index 00000000000..cc5f815c9d3 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_005.htm @@ -0,0 +1,33 @@ + + + + HTML5 Sandbox: Block script execution inside iframe with sandbox attribute. + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_006.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_006.htm new file mode 100644 index 00000000000..487e8d4cfb8 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_006.htm @@ -0,0 +1,37 @@ + + + + HTML5 Sandbox: Allow form submission inside sandbox iframe when sandbox='allow-forms' + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Allow form submission inside iframe with sandbox attribute if sandbox='allow-forms'.
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        Manual +
                                                                                                                                                                                                                                                                                        Steps:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        1. Click button "Submit Form".
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test passes if there is no red on the page and if the word "PASS" appears in the below iframe after following the above steps.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        iframe with sandbox="allow-forms"
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_007.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_007.htm new file mode 100644 index 00000000000..5caa12a07a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_007.htm @@ -0,0 +1,37 @@ + + + + HTML5 Sandbox: Block form submission inside sandbox iframe + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Block form submission inside iframe with sandbox attribute.
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        Manual +
                                                                                                                                                                                                                                                                                        Steps:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        1. Click button "Submit Form".
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test passes if there is no red on the page and there is no navigation in the below iframe after following the above steps.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        iframe with sandbox="allow-scripts allow-same-origin allow-top-navigation"
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_008.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_008.htm new file mode 100644 index 00000000000..dde12ef1d33 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_008.htm @@ -0,0 +1,37 @@ + + + + HTML5 Sandbox: Allow sandboxed iframe content to navigate the sandboxed browsing context itself. + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Allow sandboxed iframe content to navigate the sandboxed browsing context itself.
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        Manual +
                                                                                                                                                                                                                                                                                        Steps:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        1. Click link "Click here to perform self navigation".
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test passes if there is no red on the page and the word "PASS" appears in the below iframe after following the above steps.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        iframe with sandbox=""
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_009.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_009.htm new file mode 100644 index 00000000000..5cb0d90309f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_009.htm @@ -0,0 +1,37 @@ + + + + HTML5 Sandbox: Block popup created via showModalDialog() inside iframe with sandbox attribute. + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Block popup created via showModalDialog() inside iframe with sandbox attribute.
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        Manual +
                                                                                                                                                                                                                                                                                        Steps:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        1. Click button "Click here to call showModalDialog() API".
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test passes if there is no red on the page and no new window opens. The user agent may offer the user the option of allowing a new window to open.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        iframe with sandbox="allow-scripts allow-same-origin allow-forms allow-top-navigation"
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_010.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_010.htm new file mode 100644 index 00000000000..4341066e1c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_010.htm @@ -0,0 +1,37 @@ + + + + HTML5 Sandbox: Block window.open() API inside iframe with sandbox attribute. + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Block window.open() API inside iframe with sandbox attribute.
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        Manual +
                                                                                                                                                                                                                                                                                        Steps:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        1. Click button "Click here to call window.open() API".
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test passes if there is no red on the page and no new window opens. The user agent may offer the user the option of allowing a new window to open.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        iframe with sandbox="allow-scripts allow-same-origin allow-forms allow-top-navigation"
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_011.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_011.htm new file mode 100644 index 00000000000..0427ec0783e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_011.htm @@ -0,0 +1,65 @@ + + + + HTML5 Sandbox: iframe sandbox attribute value support DOMSettableTokenList interface. + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_012.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_012.htm new file mode 100644 index 00000000000..cf99378cd56 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_012.htm @@ -0,0 +1,36 @@ + + + + HTML5 Sandbox: value of sandbox attribute must be an unordered set of unique space-separated tokens. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_013.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_013.htm new file mode 100644 index 00000000000..ab0aea079f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_013.htm @@ -0,0 +1,38 @@ + + + + HTML5 Sandbox: value of sandbox attribute must be an unordered set of unique space-separated tokens. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_014.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_014.htm new file mode 100644 index 00000000000..774720929cd --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_014.htm @@ -0,0 +1,36 @@ + + + + HTML5 Sandbox: value of sandbox attribute must be an unordered set of unique space-separated tokens. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_015.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_015.htm new file mode 100644 index 00000000000..a34ede4b396 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_015.htm @@ -0,0 +1,36 @@ + + + + HTML5 Sandbox: value of sandbox attribute must be an unordered set of unique space-separated tokens. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_016.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_016.htm new file mode 100644 index 00000000000..e920492621f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_016.htm @@ -0,0 +1,36 @@ + + + + HTML5 Sandbox: value of sandbox attribute must be an unordered set of unique space-separated tokens. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_017.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_017.htm new file mode 100644 index 00000000000..ade4c8092da --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_017.htm @@ -0,0 +1,36 @@ + + + + HTML5 Sandbox: value of sandbox attribute must be an unordered set of unique space-separated tokens. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_018.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_018.htm new file mode 100644 index 00000000000..77f10d27426 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_018.htm @@ -0,0 +1,36 @@ + + + + HTML5 Sandbox: value of sandbox attribute must be an unordered set of unique space-separated tokens. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_019.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_019.htm new file mode 100644 index 00000000000..d91280a60a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_019.htm @@ -0,0 +1,36 @@ + + + + HTML5 Sandbox: value of sandbox attribute must be an unordered set of unique space-separated tokens. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_020.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_020.htm new file mode 100644 index 00000000000..751f8586353 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_020.htm @@ -0,0 +1,34 @@ + + + + HTML5 Sandbox: Nested iframes cannot have less sandbox restrictions than their most restrictive ancestor iframe. + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Nested iframes cannot have less sandbox restrictions than their most restrictive ancestor iframe.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        This test is to verify script is blocked inside nested iframes if the top-most sandbox iframe has no 'allow-scripts' token.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if there is no red on the page.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Top-most iframe with sandbox=""
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_021.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_021.htm new file mode 100644 index 00000000000..bbdc21f9355 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_021.htm @@ -0,0 +1,44 @@ + + + + HTML5 Sandbox: Nested iframes cannot have less sandbox restrictions than their most restrictive ancestor iframe. + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Nested iframes cannot have less sandbox restrictions than their most restrictive ancestor iframe.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        This test is to verify script is allowed inside nested iframes if any of the conditions below are true
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        1. both parent sandbox and child sandbox have 'allow-scripts' token.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        2. parent sandbox has 'allow-scripts' token and nested child iframe has no sandbox attribute.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        3. parent iframe has no sandbox attribute and child iframe has sandbox='allow-scripts' token.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        4. both parent and child iframes have no sandbox attribute.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        ManualTest passes if there is no red on the page.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Top-most iframe with sandbox="allow-scripts"
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Top-most iframe without sandbox attribute
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_022.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_022.htm new file mode 100644 index 00000000000..aa08de512b5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_022.htm @@ -0,0 +1,38 @@ + + + + HTML5 Sandbox: allow sandbox iframe to navigate their top-level browsing context if sandbox="allow-top-navigation". + + + + + + + +
                                                                                                                                                                                                                                                                                        Description: Allow sandbox iframe to navigate its top-level browsing context if sandbox='allow-top-navigation'.
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        Test ResultTest Assertion
                                                                                                                                                                                                                                                                                        Manual +
                                                                                                                                                                                                                                                                                        Steps:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        1. Click link "Open the link in top window".
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test passes if there is no red on the page and no top-level navigation after following the above steps.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        iframe with sandbox="allow-top-navigation"
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_023.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_023.htm new file mode 100644 index 00000000000..7f8a436b4c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_023.htm @@ -0,0 +1,34 @@ + + + + HTML5 Sandbox: Allow sandbox iframe to access other content from the same origin if sandbox="allow-same-origin". + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_024.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_024.htm new file mode 100644 index 00000000000..935543707d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_024.htm @@ -0,0 +1,33 @@ + + + + HTML5 Sandbox: document.cookie access is allowed inside iframe with sandbox="allow-same-origin". + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_025.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_025.htm new file mode 100644 index 00000000000..ab291e5cee0 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_025.htm @@ -0,0 +1,32 @@ + + + + HTML5 Sandbox: Allow parent content to access sandbox child iframe content when sandbox='allow-same-origin + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_026.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_026.htm new file mode 100644 index 00000000000..49243899e22 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_026.htm @@ -0,0 +1,33 @@ + + + + HTML5 Sandbox: Allow localStorage and sessionStorage access inside iframe with sandbox='allow-same-origin allow-scripts'. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_027.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_027.htm new file mode 100644 index 00000000000..2b9cba5d25a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_027.htm @@ -0,0 +1,33 @@ + + + + HTML5 Sandbox: Allow XMLHttpRequest inside iframe with the sandbox attribute if sandbox='allow-same-origin'. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_028.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_028.htm new file mode 100644 index 00000000000..56dfb681006 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_028.htm @@ -0,0 +1,34 @@ + + + + HTML5 Sandbox: Block sandbox iframe from accessing other content from the same origin. + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_029.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_029.htm new file mode 100644 index 00000000000..b88b74a229c --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_029.htm @@ -0,0 +1,33 @@ + + + + HTML5 Sandbox: Block document.cookie inside iframe with the sandbox attribute. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_030.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_030.htm new file mode 100644 index 00000000000..1c3b54cb0dd --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_030.htm @@ -0,0 +1,33 @@ + + + + HTML5 Sandbox: Block parent content to access sandbox child iframe content when sandbox attribute exists + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_031.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_031.htm new file mode 100644 index 00000000000..2582fac3582 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_031.htm @@ -0,0 +1,33 @@ + + + + HTML5 Sandbox: Block localStorage and sessionStorage inside iframe with the sandbox attribute. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_032.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_032.htm new file mode 100644 index 00000000000..1c234fcc960 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_032.htm @@ -0,0 +1,33 @@ + + + + HTML5 Sandbox: Block XMLHttpRequest in an iframe with the sandbox attribute. + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_helper.js b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_helper.js new file mode 100644 index 00000000000..1472cbf223b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/sandbox_helper.js @@ -0,0 +1,14 @@ +function IsSandboxSupported() { + if ('sandbox' in document.createElement('iframe')) { + return true; + } + return false; +} + +function DisableTestForNonSupportingBrowsers() { + //check if sandbox is supported by the browser + if (!IsSandboxSupported()) { + document.getElementById('testframe').innerHTML = "FAIL: Your browser does not support the sandbox attribute on the iframe element."; + document.getElementById('testframe').style.color = "Red"; + } +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/standalone-fail.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/standalone-fail.htm new file mode 100644 index 00000000000..1725ef060ca --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/standalone-fail.htm @@ -0,0 +1,9 @@ + + + + Page with FAIL message + + +
                                                                                                                                                                                                                                                                                        FAIL!!!
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/standalone-iframe-content.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/standalone-iframe-content.htm new file mode 100644 index 00000000000..e543c21d650 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/standalone-iframe-content.htm @@ -0,0 +1,9 @@ + + + + Page with a message + + +
                                                                                                                                                                                                                                                                                        Hello World.
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/standalone-pass.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/standalone-pass.htm new file mode 100644 index 00000000000..0ca822f8de2 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/sandbox/standalone-pass.htm @@ -0,0 +1,9 @@ + + + + Page with PASS message + + +
                                                                                                                                                                                                                                                                                        PASS!!!
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/RemoveElementContainingSelection.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/RemoveElementContainingSelection.htm new file mode 100644 index 00000000000..69150236ec7 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/RemoveElementContainingSelection.htm @@ -0,0 +1,40 @@ + + + + HTML5 Selection: Remove the element containing the selection + + + +
                                                                                                                                                                                                                                                                                        some text + aaaaaaaa +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Remove the element containing the selection
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/addRange.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/addRange.htm new file mode 100644 index 00000000000..c4b5e99444d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/addRange.htm @@ -0,0 +1,72 @@ + + + + HTML5 Selection: Add a range to the selection + + + +

                                                                                                                                                                                                                                                                                        Add a range to the selection

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/collapse.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/collapse.htm new file mode 100644 index 00000000000..7c2423021c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/collapse.htm @@ -0,0 +1,73 @@ + + + + HTML5 Selection: Collapse the selection using collapse() + + + +

                                                                                                                                                                                                                                                                                        Collapse the selection using collapse()

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/collapseToEnd.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/collapseToEnd.htm new file mode 100644 index 00000000000..2f68ec6554b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/collapseToEnd.htm @@ -0,0 +1,75 @@ + + + + HTML5 Selection: Collapse the selection with collapseToEnd() + + + +

                                                                                                                                                                                                                                                                                        Collapse the selection with collapseToEnd()

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/collapseToStart.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/collapseToStart.htm new file mode 100644 index 00000000000..da9676d57b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/collapseToStart.htm @@ -0,0 +1,75 @@ + + + + HTML5 Selection: Collapse the selection with collapseToStart() + + + +

                                                                                                                                                                                                                                                                                        Collapse the selection with collapseToStart()

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/deleteFromDocument.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/deleteFromDocument.htm new file mode 100644 index 00000000000..2373939cc49 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/deleteFromDocument.htm @@ -0,0 +1,80 @@ + + + + HTML5 Selection: Delete some text from the document while it is part of a selection + + + +

                                                                                                                                                                                                                                                                                        Delete some text from the document while it is part of a selection

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        abcdefghijklmnopqrstuvwxyz

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/getRangeAt.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/getRangeAt.htm new file mode 100644 index 00000000000..a3911e6cd9d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/getRangeAt.htm @@ -0,0 +1,59 @@ + + + + HTML5 Selection: Get the range from the selection + + + +

                                                                                                                                                                                                                                                                                        Get the range from the selection

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/insertNodeIntoSelection.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/insertNodeIntoSelection.htm new file mode 100644 index 00000000000..4ec0d80f359 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/insertNodeIntoSelection.htm @@ -0,0 +1,41 @@ + + + + HTML5 Selection: Insert a new element and text node into an element that is currently selected + + + +

                                                                                                                                                                                                                                                                                        This test inserts a new element with a text node child into the current selection.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        some text
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/removeAllRanges.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/removeAllRanges.htm new file mode 100644 index 00000000000..869e5391dda --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/removeAllRanges.htm @@ -0,0 +1,73 @@ + + + + HTML5 Selection: Call removeAllRanges() to clear the selection + + + +

                                                                                                                                                                                                                                                                                        Call removeAllRanges() to clear the selection

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/removeRange.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/removeRange.htm new file mode 100644 index 00000000000..e35047b4701 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/removeRange.htm @@ -0,0 +1,72 @@ + + + + HTML5 Selection: Remove the range from the selection + + + +

                                                                                                                                                                                                                                                                                        Remove the range from the selection by calling removeRange()

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/select.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/select.htm new file mode 100644 index 00000000000..f6a31f24964 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/select.htm @@ -0,0 +1,72 @@ + + + + HTML5 Selection: Call select() on a text field + + + + +

                                                                                                                                                                                                                                                                                        Select the text in the input element by calling select()

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/selectAllChildren.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/selectAllChildren.htm new file mode 100644 index 00000000000..a3ab4f57d40 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/selectAllChildren.htm @@ -0,0 +1,32 @@ + + + + HTML5 Selection: Call selectAllChildren() where the parameter is a text node + + + +
                                                                                                                                                                                                                                                                                        Call selectAllChildren() where the parameter is a text node
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/selectionStartEnd.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/selectionStartEnd.htm new file mode 100644 index 00000000000..c5b69d57060 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/selectionStartEnd.htm @@ -0,0 +1,74 @@ + + + + HTML5 Selection: Set selectionStart and selectionEnd on a text field + + + + +

                                                                                                                                                                                                                                                                                        Select some text in the input element by setting selectionStart and selectionEnd

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/setSelectionRange.htm b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/setSelectionRange.htm new file mode 100644 index 00000000000..a6d7a0f2ba1 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/selection/setSelectionRange.htm @@ -0,0 +1,73 @@ + + + + HTML5 Selection: Call setSelectionRange() on a text field + + + + +

                                                                                                                                                                                                                                                                                        Call setSelectionRange() on the input element to select some of the text

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test passes if the word "PASS" appears below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test result:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/structuredclone/echo.js b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/structuredclone/echo.js new file mode 100644 index 00000000000..02184921cf3 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/structuredclone/echo.js @@ -0,0 +1 @@ +onmessage = function (ev) { postMessage(ev.data); } \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/structuredclone/structuredclone_0.html b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/structuredclone/structuredclone_0.html new file mode 100644 index 00000000000..ed0e35d9acf --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/structuredclone/structuredclone_0.html @@ -0,0 +1,400 @@ + + + + + 2.8 Common DOM interfaces - Structured Clone Algorithm + + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/xhtml5/colgroup_valign_bottom.xhtml b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/xhtml5/colgroup_valign_bottom.xhtml new file mode 100644 index 00000000000..84da6dbf6ad Binary files /dev/null and b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/xhtml5/colgroup_valign_bottom.xhtml differ diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/xhtml5/colgroup_valign_top.xhtml b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/xhtml5/colgroup_valign_top.xhtml new file mode 100644 index 00000000000..83b8c62e555 Binary files /dev/null and b/tests/wpt/web-platform-tests/old-tests/submission/Microsoft/xhtml5/colgroup_valign_top.xhtml differ diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/001.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/001.html new file mode 100644 index 00000000000..665019ed015 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/001.html @@ -0,0 +1,27 @@ + + + scheduler: inline in markup + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/002.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/002.html new file mode 100644 index 00000000000..dcaa163ea70 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/002.html @@ -0,0 +1,27 @@ + + + scheduler: external in markup + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/003.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/003.html new file mode 100644 index 00000000000..053dd6aca4d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/003.html @@ -0,0 +1,27 @@ + + + scheduler: inline+external in markup + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/004.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/004.html new file mode 100644 index 00000000000..838c2feb78b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/004.html @@ -0,0 +1,25 @@ + + + scheduler: external+inline in markup + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/005.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/005.html new file mode 100644 index 00000000000..b0411284aa9 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/005.html @@ -0,0 +1,27 @@ + + + scheduler: document.write inline in markup + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/006.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/006.html new file mode 100644 index 00000000000..3f40ef1c174 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/006.html @@ -0,0 +1,30 @@ + + + scheduler: document.write inline - multiple + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/007.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/007.html new file mode 100644 index 00000000000..ee99bc36ea1 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/007.html @@ -0,0 +1,27 @@ + + + scheduler: document.write external + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/008.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/008.html new file mode 100644 index 00000000000..9f6b3876e69 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/008.html @@ -0,0 +1,28 @@ + + + scheduler: document.write external - multiple + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/009.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/009.html new file mode 100644 index 00000000000..fc62b9d2b7a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/009.html @@ -0,0 +1,29 @@ + + + scheduler: document.write external - multiple with doc.write + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/010.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/010.html new file mode 100644 index 00000000000..9c5fd849b99 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/010.html @@ -0,0 +1,29 @@ + + + scheduler: document.write external + inline - multiple with doc.write + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/011.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/011.html new file mode 100644 index 00000000000..7bc10995da5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/011.html @@ -0,0 +1,30 @@ + + + scheduler: document.write external + inline - multiple with doc.write + subsequent markup + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/012.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/012.html new file mode 100644 index 00000000000..41c3d066dd6 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/012.html @@ -0,0 +1,30 @@ + + + scheduler: document.write external and onload events + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/013.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/013.html new file mode 100644 index 00000000000..a3a9b825505 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/013.html @@ -0,0 +1,28 @@ + + + scheduler: DOM added inline script earlier in document + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/014.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/014.html new file mode 100644 index 00000000000..eae7076acd0 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/014.html @@ -0,0 +1,28 @@ + + + scheduler: SCRIPT elements that move themselves in DOM + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/015.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/015.html new file mode 100644 index 00000000000..88c28a8bce5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/015.html @@ -0,0 +1,34 @@ + + + scheduler: DOM added inline+external+inline script earlier in document + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/015a.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/015a.html new file mode 100644 index 00000000000..05113feb7ea --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/015a.html @@ -0,0 +1,30 @@ + + + scheduler: DOM added inline+external+inline script earlier in document + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/016.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/016.html new file mode 100644 index 00000000000..7395600215f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/016.html @@ -0,0 +1,28 @@ + + + scheduler: DOM added inline script later in document + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/017.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/017.html new file mode 100644 index 00000000000..78a0f7b1a6f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/017.html @@ -0,0 +1,33 @@ + + + scheduler: multiple DOM added scripts later in document + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/018.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/018.html new file mode 100644 index 00000000000..793343c43cf --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/018.html @@ -0,0 +1,35 @@ + + + scheduler: DOM added scripts and doc.write + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/019.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/019.html new file mode 100644 index 00000000000..30fa63432c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/019.html @@ -0,0 +1,31 @@ + + + scheduler: DOM added scripts and event handling + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/020.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/020.html new file mode 100644 index 00000000000..abbfbf7db5d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/020.html @@ -0,0 +1,28 @@ + + + scheduler: DOM added script with data: URL + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/021.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/021.html new file mode 100644 index 00000000000..92b5f064178 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/021.html @@ -0,0 +1,29 @@ + + + scheduler: DOM added script with javascript: URL + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/022.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/022.html new file mode 100644 index 00000000000..f56b43171b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/022.html @@ -0,0 +1,30 @@ + + + scheduler: DOM added script, late .src + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/023.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/023.html new file mode 100644 index 00000000000..dc687ffe4d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/023.html @@ -0,0 +1,30 @@ + + + scheduler: DOM added script, even later .src + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/024.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/024.html new file mode 100644 index 00000000000..37146f8463d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/024.html @@ -0,0 +1,32 @@ + + + scheduler: DOM added script, .src set twice + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/025.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/025.html new file mode 100644 index 00000000000..182be3aef15 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/025.html @@ -0,0 +1,30 @@ + + + scheduler: DOM added script, .src set on script with content + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/026.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/026.html new file mode 100644 index 00000000000..70fac7c7f4b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/026.html @@ -0,0 +1,33 @@ + + + scheduler: doc write added script, .src set later + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/027.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/027.html new file mode 100644 index 00000000000..d3181d587f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/027.html @@ -0,0 +1,30 @@ + + + scheduler: doc write added script with content, .src set later + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/028.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/028.html new file mode 100644 index 00000000000..5d0207d85b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/028.html @@ -0,0 +1,29 @@ + + + scheduler: javascript: URL + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/029.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/029.html new file mode 100644 index 00000000000..b3beeaef360 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/029.html @@ -0,0 +1,37 @@ + + + scheduler: javascript: URL in HREF + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/030.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/030.html new file mode 100644 index 00000000000..9c83b9a2619 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/030.html @@ -0,0 +1,39 @@ + + + scheduler: javascript: URL in HREF, onclick handler + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/031.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/031.html new file mode 100644 index 00000000000..166dda47541 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/031.html @@ -0,0 +1,30 @@ + + + scheduler: focus and blur events + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/032.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/032.html new file mode 100644 index 00000000000..a012ab29e57 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/032.html @@ -0,0 +1,29 @@ + + + scheduler: innerHTML and scripts + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/033.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/033.html new file mode 100644 index 00000000000..035bf0a2311 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/033.html @@ -0,0 +1,35 @@ + + + scheduler: innerHTML and scripts moved in DOM + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/034.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/034.html new file mode 100644 index 00000000000..8dcb4294d56 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/034.html @@ -0,0 +1,28 @@ + + + scheduler: innerHTML adding frames with JS in + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/035.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/035.html new file mode 100644 index 00000000000..540439e7e23 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/035.html @@ -0,0 +1,35 @@ + + + scheduler: innerHTML adding frames with JS in and moving scripts + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/036.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/036.html new file mode 100644 index 00000000000..0eb4a6eb36e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/036.html @@ -0,0 +1,34 @@ + + + scheduler: DOM cloning + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/037.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/037.html new file mode 100644 index 00000000000..aff995b4773 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/037.html @@ -0,0 +1,33 @@ + + + scheduler: DOM movement with appendChild, inline + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/038.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/038.html new file mode 100644 index 00000000000..3bbfe4604a7 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/038.html @@ -0,0 +1,34 @@ + + + scheduler: DOM movement with appendChild, external + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/039.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/039.html new file mode 100644 index 00000000000..a0abdf1610f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/039.html @@ -0,0 +1,36 @@ + + + scheduler: IFRAMEs added with DOM + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/040.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/040.html new file mode 100644 index 00000000000..984bc6689dc --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/040.html @@ -0,0 +1,34 @@ + + + scheduler: IFRAMEs added with DOM (innerHTML), javascript: URL + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/041.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/041.html new file mode 100644 index 00000000000..c2a0b9bc4ec --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/041.html @@ -0,0 +1,29 @@ + + + scheduler: document.write scripts that write scripts + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/042.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/042.html new file mode 100644 index 00000000000..e91ea116c4e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/042.html @@ -0,0 +1,29 @@ + + + scheduler: DOM mutation events when adding scripts: DOMNodeInserted + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/043.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/043.html new file mode 100644 index 00000000000..082ca618bab --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/043.html @@ -0,0 +1,31 @@ + + + scheduler: DOM mutation events when adding external scripts: DOMNodeInserted + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/044.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/044.html new file mode 100644 index 00000000000..a0e1c03b08f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/044.html @@ -0,0 +1,28 @@ + + + scheduler: DOM mutation events when adding scripts: DOMNodeInsertedIntoDocument + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/045.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/045.html new file mode 100644 index 00000000000..70520d06cb2 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/045.html @@ -0,0 +1,28 @@ + + + scheduler: DOM mutation events when adding external scripts: DOMNodeInsertedIntoDocument + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/046.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/046.html new file mode 100644 index 00000000000..1598234e1ad --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/046.html @@ -0,0 +1,27 @@ + + + scheduler: no readystatechange events when adding external scripts + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/047.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/047.html new file mode 100644 index 00000000000..ab758d2f5f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/047.html @@ -0,0 +1,28 @@ + + + scheduler: adding and removing external script + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/048.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/048.html new file mode 100644 index 00000000000..ceb18cae570 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/048.html @@ -0,0 +1,28 @@ + + + scheduler: adding inline script which sets its own .src + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/049.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/049.html new file mode 100644 index 00000000000..65705bc1fb8 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/049.html @@ -0,0 +1,28 @@ + + + scheduler: adding external script but removeAttribute( src ) before it runs + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/050.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/050.html new file mode 100644 index 00000000000..d6e92c0732d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/050.html @@ -0,0 +1,29 @@ + + + scheduler: adding external script that removes all scripts from document + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/051.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/051.html new file mode 100644 index 00000000000..e97c153b1d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/051.html @@ -0,0 +1,29 @@ + + + scheduler: interaction of parsing and script execution - script added through DOM + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/052.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/052.html new file mode 100644 index 00000000000..1147be2476f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/052.html @@ -0,0 +1,26 @@ + + + scheduler: interaction of parsing and script execution - external script + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/053.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/053.html new file mode 100644 index 00000000000..12ac6101a13 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/053.html @@ -0,0 +1,31 @@ + + + scheduler: adding external script that removes itself from document when loading + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/054.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/054.html new file mode 100644 index 00000000000..3dc46643568 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/054.html @@ -0,0 +1,33 @@ + + + scheduler: removing newly inserted script from DOMNodeInserted handler - external script + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/055.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/055.html new file mode 100644 index 00000000000..8916d1a8b9a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/055.html @@ -0,0 +1,32 @@ + + + scheduler: removing newly inserted script from DOMNodeInserted handler - inline script + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/056.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/056.html new file mode 100644 index 00000000000..873fb34d3d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/056.html @@ -0,0 +1,30 @@ + + + scheduler: appending code to initially empty SCRIPT tag in DOM + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/057.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/057.html new file mode 100644 index 00000000000..dbec8895f17 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/057.html @@ -0,0 +1,31 @@ + + + scheduler: appending code to initially non-empty SCRIPT tag in DOM (whitespace only) + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/058.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/058.html new file mode 100644 index 00000000000..730ba456fea --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/058.html @@ -0,0 +1,29 @@ + + + scheduler: appending code to initially non-empty SCRIPT tag in DOM (comment only) + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/059.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/059.html new file mode 100644 index 00000000000..a3ea560c4f2 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/059.html @@ -0,0 +1,30 @@ + + + scheduler: appending code to initially non-empty SCRIPT tag in DOM after removing its initial child + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/060.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/060.html new file mode 100644 index 00000000000..dba77146b82 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/060.html @@ -0,0 +1,32 @@ + + + scheduler: appending code to initially non-empty SCRIPT tag in DOM after setting innerText/innerHTML + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/061.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/061.html new file mode 100644 index 00000000000..df708b7bfe7 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/061.html @@ -0,0 +1,29 @@ + + + scheduler: cloneNode and script execution + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/062.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/062.html new file mode 100644 index 00000000000..8eda26b71f5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/062.html @@ -0,0 +1,29 @@ + + + scheduler: cloneNode (shallow) and script execution + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/063.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/063.html new file mode 100644 index 00000000000..9b939c4d4ab --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/063.html @@ -0,0 +1,30 @@ + + + scheduler: cloneNode (deep) of the currently executing script + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/064.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/064.html new file mode 100644 index 00000000000..814e62545e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/064.html @@ -0,0 +1,29 @@ + + + scheduler: cloneNode with external script + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/065.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/065.html new file mode 100644 index 00000000000..92078df045d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/065.html @@ -0,0 +1,30 @@ + + + scheduler: cloneNode with external script, changed .src + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/066.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/066.html new file mode 100644 index 00000000000..58560aee075 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/066.html @@ -0,0 +1,31 @@ + + + scheduler: cloneNode with external script, removing .src and adding content + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/067.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/067.html new file mode 100644 index 00000000000..7be0fd0ab0d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/067.html @@ -0,0 +1,38 @@ + + + scheduler: is a script with syntax error marked as "has run"? + + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/068.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/068.html new file mode 100644 index 00000000000..c584653c899 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/068.html @@ -0,0 +1,31 @@ + + + scheduler: external script and parsing of markup added with document.write + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/069.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/069.html new file mode 100644 index 00000000000..d76f55f31f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/069.html @@ -0,0 +1,32 @@ + + + scheduler: external files added through DOM should not block further parsing while loading + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/070.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/070.html new file mode 100644 index 00000000000..45928b87338 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/070.html @@ -0,0 +1,48 @@ + + + scheduler: document.write into IFRAME a script that adds a SCRIPT through DOM + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/071.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/071.html new file mode 100644 index 00000000000..30429749460 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/071.html @@ -0,0 +1,55 @@ + + + scheduler: document.write several scripts into IFRAME + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/072.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/072.html new file mode 100644 index 00000000000..348381df258 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/072.html @@ -0,0 +1,50 @@ + + + scheduler: document.write into IFRAME a script that creates new inline script in parent + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/073.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/073.html new file mode 100644 index 00000000000..56dc9180b04 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/073.html @@ -0,0 +1,52 @@ + + + scheduler: document.write into IFRAME a script that creates new external script in parent + + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/074.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/074.html new file mode 100644 index 00000000000..6f1baef6bd4 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/074.html @@ -0,0 +1,49 @@ + + + scheduler: document.write into IFRAME a script that creates new inline script in parent that again adds script to IFRAME + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/075.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/075.html new file mode 100644 index 00000000000..40ec9bbb6a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/075.html @@ -0,0 +1,42 @@ + + + + dispatchEvent from child frame during document.write :-o + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/076.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/076.html new file mode 100644 index 00000000000..ad2359019bc --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/076.html @@ -0,0 +1,32 @@ + + + scheduler: adding and removing external and inline scripts + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/077.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/077.html new file mode 100644 index 00000000000..a7a59421250 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/077.html @@ -0,0 +1,41 @@ + + + + adding several types of scripts through the DOM and removing some of them confuses scheduler + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/078.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/078.html new file mode 100644 index 00000000000..556006a24e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/078.html @@ -0,0 +1,43 @@ + + + + adding several types of scripts through the DOM and removing some of them confuses scheduler (slow-loading scripts) + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/079.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/079.html new file mode 100644 index 00000000000..8d684cebf2b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/079.html @@ -0,0 +1,28 @@ + + + + setting location to javascript URL from event handler + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/080.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/080.html new file mode 100644 index 00000000000..a55bc24d06b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/080.html @@ -0,0 +1,30 @@ + + + scheduler: IFRAMEs added with DOM (appendChild), javascript: URL + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/081.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/081.html new file mode 100644 index 00000000000..94f2be6ddc5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/081.html @@ -0,0 +1,31 @@ + + + scheduler: slow loading external script added with DOM (appendChild) + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/082.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/082.html new file mode 100644 index 00000000000..89f86d4d4f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/082.html @@ -0,0 +1,34 @@ + + + scheduler: multiple slow loading external scripts added with DOM (appendChild) + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/083.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/083.html new file mode 100644 index 00000000000..f1dd567f3dc --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/083.html @@ -0,0 +1,48 @@ + + + scheduler: event listener defined by script in a document in history + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/084.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/084.html new file mode 100644 index 00000000000..5e9adb07d93 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/084.html @@ -0,0 +1,47 @@ + + + scheduler: event listener defined by script in a removed IFRAME + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/085.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/085.html new file mode 100644 index 00000000000..e0d165ffc18 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/085.html @@ -0,0 +1,24 @@ + + + scheduler: async script and slow-loading defer script + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/086.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/086.html new file mode 100644 index 00000000000..86db3aea5bd --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/086.html @@ -0,0 +1,24 @@ + + + scheduler: async script and slow-loading async script + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/087.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/087.html new file mode 100644 index 00000000000..759335474a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/087.html @@ -0,0 +1,24 @@ + + + scheduler: multiple defer scripts, one slow loading + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/088.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/088.html new file mode 100644 index 00000000000..f7e7366e1c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/088.html @@ -0,0 +1,24 @@ + + + scheduler: multiple scripts with defer and async attributes + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/089.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/089.html new file mode 100644 index 00000000000..1b888ea3d4b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/089.html @@ -0,0 +1,34 @@ + + + scheduler: async attribute on inline script + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/090.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/090.html new file mode 100644 index 00000000000..224e7976331 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/090.html @@ -0,0 +1,34 @@ + + + scheduler: defer attribute on inline script + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/091.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/091.html new file mode 100644 index 00000000000..946cf833328 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/091.html @@ -0,0 +1,31 @@ + + + scheduler: force-async off on non-parser-inserted script + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/092.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/092.html new file mode 100644 index 00000000000..d42caa7c0c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/092.html @@ -0,0 +1,26 @@ + + + scheduler: defer script and slow-loading non-async external script + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/094.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/094.html new file mode 100644 index 00000000000..5fe0a005821 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/094.html @@ -0,0 +1,21 @@ + + + scheduler: parser-created defer script after document load + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/095.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/095.html new file mode 100644 index 00000000000..13142ef6c42 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/095.html @@ -0,0 +1,24 @@ + + + scheduler: slow-loading script added from defer blocking load event + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/096.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/096.html new file mode 100644 index 00000000000..d5e1e8b460f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/096.html @@ -0,0 +1,24 @@ + + + scheduler: defer script added from document.write relative to DOMContentLoaded + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/097.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/097.html new file mode 100644 index 00000000000..083fd390a0b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/097.html @@ -0,0 +1,29 @@ + + + scheduler: slow-loading async script added from document.write + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/098.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/098.html new file mode 100644 index 00000000000..2d421a8a37f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/098.html @@ -0,0 +1,25 @@ + + + scheduler: defer script added from document.write + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/099.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/099.html new file mode 100644 index 00000000000..5c6df576e87 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/099.html @@ -0,0 +1,19 @@ + + + scheduler: defer adding iframe containing script + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/100.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/100.html new file mode 100644 index 00000000000..d24828c999f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/100.html @@ -0,0 +1,19 @@ + + + scheduler: defer adding iframe containing script + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/101.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/101.html new file mode 100644 index 00000000000..23a9c36c6f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/101.html @@ -0,0 +1,30 @@ + + + scheduler: defer script after initial onload event + + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/102.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/102.html new file mode 100644 index 00000000000..67edbc659ce --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/102.html @@ -0,0 +1,24 @@ + + + scheduler: defer script after initial onload event + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/103.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/103.html new file mode 100644 index 00000000000..198c394dee9 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/103.html @@ -0,0 +1,39 @@ + + + scheduler: removing defer attribute at runtime + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/104.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/104.html new file mode 100644 index 00000000000..b5cdb75e385 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/104.html @@ -0,0 +1,39 @@ + + + scheduler: adding defer attribute at runtime + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/105.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/105.html new file mode 100644 index 00000000000..abf2c8c211d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/105.html @@ -0,0 +1,31 @@ + + + scheduler: adding async attribute at runtime + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/106.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/106.html new file mode 100644 index 00000000000..66eb4e1f098 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/106.html @@ -0,0 +1,27 @@ + + + scheduler: stylesheets blocking scripts + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test
                                                                                                                                                                                                                                                                                        + + + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/107.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/107.html new file mode 100644 index 00000000000..a2d2a33c9aa --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/107.html @@ -0,0 +1,27 @@ + + + scheduler: stylesheets blocking scripts document.write + + + + + +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Test
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/108.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/108.html new file mode 100644 index 00000000000..732fcfa9c1f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/108.html @@ -0,0 +1,25 @@ + + + scheduler: javascript URL in iframe + + + + + +
                                                                                                                                                                                                                                                                                        Not tested
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/109.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/109.html new file mode 100644 index 00000000000..c6815b4dc10 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/109.html @@ -0,0 +1,29 @@ + + + scheduler: javascript URL in iframe, src set via DOM + + + + + +
                                                                                                                                                                                                                                                                                        Not tested
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/110.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/110.html new file mode 100644 index 00000000000..de0c5050c37 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/110.html @@ -0,0 +1,30 @@ + + + scheduler: removing defer script at runtime + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/111.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/111.html new file mode 100644 index 00000000000..7cc092cf82e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/111.html @@ -0,0 +1,32 @@ + + + scheduler: removing async attribute at runtime + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/112.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/112.html new file mode 100644 index 00000000000..6291005b373 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/112.html @@ -0,0 +1,29 @@ + + + scheduler: removing async attribute at runtime, script also has defer attribute + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/113.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/113.html new file mode 100644 index 00000000000..c857c6a97e4 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/113.html @@ -0,0 +1,31 @@ + + + scheduler: Altering DOM using innerHTML during parse + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/114.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/114.html new file mode 100644 index 00000000000..784a69f51de --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/114.html @@ -0,0 +1,26 @@ + + + scheduler: Changing src of defer script before it runs + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/115.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/115.html new file mode 100644 index 00000000000..78790c2ef34 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/115.html @@ -0,0 +1,26 @@ + + + scheduler: Removing src of defer script before it runs + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAILED (This TC requires JavaScript enabled)
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/116.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/116.html new file mode 100644 index 00000000000..fef7b893871 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/116.html @@ -0,0 +1,24 @@ + + + scheduler: adding script to head of frameset document + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/117.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/117.html new file mode 100644 index 00000000000..3868a292a36 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/117.html @@ -0,0 +1,26 @@ + + + scheduler: inline script created with createContextualFragment + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/118.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/118.html new file mode 100644 index 00000000000..f018001db59 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/118.html @@ -0,0 +1,26 @@ + + + scheduler: external script created with createContextualFragment + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/119.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/119.html new file mode 100644 index 00000000000..af74c3d4004 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/119.html @@ -0,0 +1,32 @@ + + + scheduler: external defer script created with createContextualFragment + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/120.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/120.html new file mode 100644 index 00000000000..d6af5d02e1b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/120.html @@ -0,0 +1,17 @@ + + + scheduler: script created without a window + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/121.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/121.html new file mode 100644 index 00000000000..534532ad12a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/121.html @@ -0,0 +1,17 @@ + + + scheduler: altering the type attribute + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/122.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/122.html new file mode 100644 index 00000000000..888681d2aae --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/122.html @@ -0,0 +1,28 @@ + + + scheduler: altering the type attribute and adding/removing external script + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/123.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/123.html new file mode 100644 index 00000000000..375ae13165b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/123.html @@ -0,0 +1,28 @@ + + + scheduler: altering the type attribute and adding/removing external script with async=false + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/124.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/124.html new file mode 100644 index 00000000000..86eef3f782d --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/124.html @@ -0,0 +1,25 @@ + + + scheduler: altering the type attribute and changing script data inline script + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/125.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/125.html new file mode 100644 index 00000000000..6b50ca097be --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/125.html @@ -0,0 +1,28 @@ + + + scheduler: altering the type attribute and changing script data external script + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/126.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/126.html new file mode 100644 index 00000000000..5d258b59d4a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/126.html @@ -0,0 +1,29 @@ + + + scheduler: altering the type attribute and changing script data external script async=false + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/127.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/127.html new file mode 100644 index 00000000000..efb0fe37747 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/127.html @@ -0,0 +1,34 @@ + + + scheduler: appending non-text children to script + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/128.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/128.html new file mode 100644 index 00000000000..a21fd8b4bce --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/128.html @@ -0,0 +1,34 @@ + + + scheduler: appending script element to script + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/129.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/129.html new file mode 100644 index 00000000000..1148d9faecf --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/129.html @@ -0,0 +1,40 @@ + + + scheduler: appending multiple script elements + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/130.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/130.html new file mode 100644 index 00000000000..af60e3cf408 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/130.html @@ -0,0 +1,34 @@ + + + scheduler: appending external script element to script + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/131.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/131.html new file mode 100644 index 00000000000..f7f14178b83 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/131.html @@ -0,0 +1,22 @@ + + + scheduler: inline svg script + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/132.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/132.html new file mode 100644 index 00000000000..9a675be55d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/132.html @@ -0,0 +1,22 @@ + + + scheduler: external svg script + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/133.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/133.html new file mode 100644 index 00000000000..daecb36283b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/133.html @@ -0,0 +1,29 @@ + + + scheduler: inline HTML script added by SVG script + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/134.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/134.html new file mode 100644 index 00000000000..14cd5d0d36a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/134.html @@ -0,0 +1,28 @@ + + + scheduler: external HTML script added by SVG script + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/135.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/135.html new file mode 100644 index 00000000000..15ee859828e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/135.html @@ -0,0 +1,28 @@ + + + scheduler: external SVG script added by SVG script + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/136.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/136.html new file mode 100644 index 00000000000..4a47e8527b1 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/136.html @@ -0,0 +1,33 @@ + + + scheduler: DOM added external SVG script, force-async? + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/137.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/137.html new file mode 100644 index 00000000000..c0e695462d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/137.html @@ -0,0 +1,21 @@ + + + scheduler: SVG script empty xlink:href + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/138.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/138.html new file mode 100644 index 00000000000..0eaad0765bc --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/138.html @@ -0,0 +1,30 @@ + + + scheduler: SVG script nested inlines + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/139.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/139.html new file mode 100644 index 00000000000..f1cbc158c95 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/139.html @@ -0,0 +1,30 @@ + + + scheduler: SVG script nested external in inline + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/140.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/140.html new file mode 100644 index 00000000000..fbdd1c76e86 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/140.html @@ -0,0 +1,24 @@ + + + scheduler: SVG script nested inline in external + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/141.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/141.html new file mode 100644 index 00000000000..a237373bbde --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/141.html @@ -0,0 +1,26 @@ + + + scheduler: SVG inline script that document.writes inline script + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/142.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/142.html new file mode 100644 index 00000000000..91f19f7577c --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/142.html @@ -0,0 +1,27 @@ + + + scheduler: SVG inline script that document.writes external script + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/143.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/143.html new file mode 100644 index 00000000000..9c0230d89dc --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/143.html @@ -0,0 +1,31 @@ + + + scheduler: SVG nested inline script that document.writes inline script + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/144.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/144.html new file mode 100644 index 00000000000..96a1f4777fb --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/144.html @@ -0,0 +1,28 @@ + + + scheduler: SVG inline script changing the type attribute + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/145.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/145.html new file mode 100644 index 00000000000..655a2132b85 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/145.html @@ -0,0 +1,24 @@ + + + scheduler: SVG inline script adding text to empty script + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/146.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/146.html new file mode 100644 index 00000000000..c666a51a310 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/146.html @@ -0,0 +1,22 @@ + + + scheduler: SVG script adding src attribute + + + + +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/147.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/147.html new file mode 100644 index 00000000000..0542380ff7f --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/147.html @@ -0,0 +1,40 @@ + + + scheduler: insert multiple inline scripts; first script moves subsequent scripts + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/148.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/148.html new file mode 100644 index 00000000000..72a91438042 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/148.html @@ -0,0 +1,40 @@ + + + scheduler: insert multiple inline scripts; first script deletes subsequent script + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/149.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/149.html new file mode 100644 index 00000000000..6fe9b68ba21 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/149.html @@ -0,0 +1,59 @@ + + + scheduler: event/for attribute on script + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/background.css b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/background.css new file mode 100644 index 00000000000..1e601c56b53 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/background.css @@ -0,0 +1,3 @@ + #test {background-image:url("1x1-green.png?pipe=trickle(d2)"); + background-repeat:repeat; + background-color:orange;} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/import.css b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/import.css new file mode 100644 index 00000000000..ee2a5ee274a --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/css/import.css @@ -0,0 +1 @@ +@import("background.css") \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/pages/helloworld-postMessage.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/pages/helloworld-postMessage.html new file mode 100644 index 00000000000..cae2797a483 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/pages/helloworld-postMessage.html @@ -0,0 +1,19 @@ + + + TC component + + + +

                                                                                                                                                                                                                                                                                        This page should appear in popup or frame

                                                                                                                                                                                                                                                                                        + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/pages/helloworld.html b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/pages/helloworld.html new file mode 100644 index 00000000000..30d5c5fda16 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/pages/helloworld.html @@ -0,0 +1,15 @@ + + + TC component + + + +

                                                                                                                                                                                                                                                                                        This page should appear in popup or frame

                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/count-script-tags.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/count-script-tags.js new file mode 100644 index 00000000000..8fba4ecb3c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/count-script-tags.js @@ -0,0 +1 @@ +log('script tags in DOM: '+document.getElementsByTagName('script').length); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/find-body.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/find-body.js new file mode 100644 index 00000000000..22e1050ffc3 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/find-body.js @@ -0,0 +1,2 @@ +log('document.body: '+(document.body?'':null)); +var findBodyLoaded=true; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/find-foo.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/find-foo.js new file mode 100644 index 00000000000..52d0ec91cb4 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/find-foo.js @@ -0,0 +1,2 @@ +log('found #foo element: ' + ( document.getElementById('foo') ? 'YES' : 'NO' )); +var findFooLoaded=true; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-1.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-1.js new file mode 100644 index 00000000000..8ff291ad57e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-1.js @@ -0,0 +1 @@ +log('external script #1'); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-10.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-10.js new file mode 100644 index 00000000000..8dc770ddc05 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-10.js @@ -0,0 +1 @@ +document.write(""); diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-11.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-11.js new file mode 100644 index 00000000000..a822dd8baf2 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-11.js @@ -0,0 +1,4 @@ +log("external script before adding iframe"); +var iframe = document.createElement("iframe"); +iframe.src = "data:text/html," +document.body.appendChild(iframe); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-12.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-12.js new file mode 100644 index 00000000000..7ced0fb424e --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-12.js @@ -0,0 +1,4 @@ +log("external script before adding object"); +var object = document.createElement("object"); +object.data = "data:text/html," +document.body.appendChild(object); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-2.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-2.js new file mode 100644 index 00000000000..31319423afd --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-2.js @@ -0,0 +1 @@ +log('external script #2'); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-3.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-3.js new file mode 100644 index 00000000000..53352e0f83c --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-3.js @@ -0,0 +1,3 @@ +log('external script before doc write'); +document.write( ''); +log('external script after doc write'); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-4.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-4.js new file mode 100644 index 00000000000..0597a226242 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-4.js @@ -0,0 +1,3 @@ +log('include-4 before doc write'); +document.write( ''); +log('include-4 after doc write'); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-5.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-5.js new file mode 100644 index 00000000000..52952d73791 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-5.js @@ -0,0 +1,7 @@ +log('include-5 before removing scripts'); +var scripts=[].slice.call(document.getElementsByTagName('script'), 3); +for(var i = 0; i < scripts.length; i++) { + var s = scripts[i]; + s.parentNode.removeChild(s); +} +log('include-5 after removing scripts'); diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-6.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-6.js new file mode 100644 index 00000000000..77da2af2329 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-6.js @@ -0,0 +1,6 @@ +top.log( + 'external script (#foo found? ' + + (document.getElementById('foo') ? 'YES' : 'NO' ) + + ')' +); +top.include6Loaded=true; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-7.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-7.js new file mode 100644 index 00000000000..57c55080158 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-7.js @@ -0,0 +1 @@ +log('external script #7'); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-8.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-8.js new file mode 100644 index 00000000000..960f2129feb --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-8.js @@ -0,0 +1,4 @@ +log("external script #8"); +var s = document.createElement("script") +s.src='scripts/include-9.js?pipe=trickle(d2)' +document.body.appendChild(s); diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-9.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-9.js new file mode 100644 index 00000000000..9042882024b --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/scripts/include-9.js @@ -0,0 +1,2 @@ +log("external script #9"); +test(); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/testlib/testlib.js b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/testlib/testlib.js new file mode 100644 index 00000000000..7b556b150df --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/Opera/script_scheduling/testlib/testlib.js @@ -0,0 +1,43 @@ +/* +* Utility functions for script scheduler test +*/ +(function(){ /* namespace hiding local variables like arOrderOfAllEvents from global scope */ + window.testlib = {}; + window.eventOrder = []; + var arNumberOfScriptsParsedPerEvent=[]; + window.log = function (str){ + eventOrder.push(str); + arNumberOfScriptsParsedPerEvent.push(document.getElementsByTagName('script').length); + } + + window.testlib.addScript = function(source, attributes, parent, firstInParent,funcPrepare) { + try{ + parent = parent||document.body; + var script = document.createElement('script'); + if(funcPrepare) { + funcPrepare(script); + } + if(source)script.appendChild( document.createTextNode(source) ); + for( var name in attributes){ + if(/^on/i.test(name)) { + script[name] = attributes[name]; + } else { + script.setAttribute(name, attributes[name]); + } + } + if (firstInParent && parent.firstChild) { + parent.insertBefore(script, parent.firstChild); + } else { + parent.appendChild(script); + } + } catch(e) { + log('ERROR when adding script to DOM!'); + alert(e); + } + return script; + } + + window.testlib.urlParam = function(relativeURL) { + return location.href.replace( /\d*\.html$/, relativeURL); + } +})(); \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/old-tests/submission/migration.txt b/tests/wpt/web-platform-tests/old-tests/submission/migration.txt new file mode 100644 index 00000000000..9480d754ad0 --- /dev/null +++ b/tests/wpt/web-platform-tests/old-tests/submission/migration.txt @@ -0,0 +1,26 @@ + +TODO: + + Google (not sure how much of that is what's already in) + Infraware (these come bundled with resources and require lots of rewriting) + Intel (need to check how much overlap there is with existing stuff) + Microsoft (lots of things, need to check overlap) + Ms2ger (Ms2ger is doing those) + Opera (split into multiple PRs) + TestTWF_Paris + W3C + +DONE: + + Apple + AryehGregor + Baidu + Comcast + DavidCarlisle + html5bidi + MathiasBynens + PhilipTaylor + MOSQUITO + Mozilla + WebKit + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/page-visibility/idlharness.html b/tests/wpt/web-platform-tests/page-visibility/idlharness.html new file mode 100644 index 00000000000..c8086a1bc62 --- /dev/null +++ b/tests/wpt/web-platform-tests/page-visibility/idlharness.html @@ -0,0 +1,48 @@ + + + + +Page Visibility IDL tests + + + + + + + + +

                                                                                                                                                                                                                                                                                        Page Visibility IDL tests

                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +enum VisibilityState { "hidden", "visible", "prerender", "unloaded" };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +partial interface Document {
                                                                                                                                                                                                                                                                                        +  readonly attribute boolean hidden;
                                                                                                                                                                                                                                                                                        +  readonly attribute VisibilityState visibilityState;
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/page-visibility/resources/blank_page_green.html b/tests/wpt/web-platform-tests/page-visibility/resources/blank_page_green.html new file mode 100644 index 00000000000..b8a1947b77e --- /dev/null +++ b/tests/wpt/web-platform-tests/page-visibility/resources/blank_page_green.html @@ -0,0 +1,10 @@ + + + + + Green Test Page + + +

                                                                                                                                                                                                                                                                                        Placeholder

                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/page-visibility/resources/pagevistestharness.js b/tests/wpt/web-platform-tests/page-visibility/resources/pagevistestharness.js new file mode 100644 index 00000000000..d53d73b4235 --- /dev/null +++ b/tests/wpt/web-platform-tests/page-visibility/resources/pagevistestharness.js @@ -0,0 +1,121 @@ +/* +Distributed under both the W3C Test Suite License [1] and the W3C +3-clause BSD License [2]. To contribute to a W3C Test Suite, see the +policies and contribution forms [3]. + +[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license +[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license +[3] http://www.w3.org/2004/10/27-testcases +*/ + +// +// Helper Functions for PageVisibility W3C tests +// +var VISIBILITY_STATES = +{ + HIDDEN: "hidden", + VISIBLE: "visible" +}; + +var feature_check = false; + +// +// All test() functions in the WebPerf PageVis test suite should use pv_test() instead. +// +// pv_test() validates the document.hidden and document.visibilityState attributes +// exist prior to running tests and immediately shows a failure if they do not. +// + +function pv_test(func, msg, doc) +{ + if (!doc) + { + doc = document; + } + + // only run the feature check once, unless func == null, in which case, + // this call is intended as a feature check + if (!feature_check) + { + feature_check = true; + + var hiddenVal = doc.hidden; + var visStateVal = doc.visibilityState; + + // show a single error that the Page Visibility feature is undefined + test(function() + { + assert_true(hiddenVal !== undefined && hiddenVal != null, + "document.hidden is defined and not null.");}, + "document.hidden is defined and not null."); + + test(function() + { + assert_true(visStateVal !== undefined && hiddenVal != null, + "document.visibilityState is defined and not null.");}, + "document.visibilityState is defined and not null."); + + } + + if (func) + { + test(func, msg); + } +} + + +function test_feature_exists(doc, msg) +{ + if (!msg) + { + msg = ""; + } + var hiddenMsg = "document.hidden is defined" + msg + "."; + var stateMsg = "document.visibilityState is defined" + msg + "."; + pv_test(function(){assert_true(document.hidden !== undefined, hiddenMsg);}, hiddenMsg, doc); + pv_test(function(){assert_true(document.visibilityState !== undefined, stateMsg);}, stateMsg, doc); +} + +// +// Common helper functions +// + +function test_true(value, msg) +{ + pv_test(function() { assert_true(value, msg); }, msg); +} + +function test_equals(value, equals, msg) +{ + pv_test(function() { assert_equals(value, equals, msg); }, msg); +} + +// +// asynchronous test helper functions +// + +function add_async_result(test_obj, pass_state) +{ + // add assertion to manual test for the pass state + test_obj.step(function() { assert_true(pass_state) }); + + // end manual test + test_obj.done(); +} + +function add_async_result_assert(test_obj, func) +{ + // add assertion to manual test for the pass state + test_obj.step(func); + + // end manual test + test_obj.done(); +} + +var open_link; +function TabSwitch() +{ + //var open_link = window.open("http://www.bing.com"); + open_link = window.open('', '_blank'); + setTimeout(function() { open_link.close(); }, 2000); +} diff --git a/tests/wpt/web-platform-tests/page-visibility/test_attributes_exist.html b/tests/wpt/web-platform-tests/page-visibility/test_attributes_exist.html new file mode 100644 index 00000000000..748161fdf8f --- /dev/null +++ b/tests/wpt/web-platform-tests/page-visibility/test_attributes_exist.html @@ -0,0 +1,22 @@ + + + + + Page Visibility API Definition + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that all of the attributes associated with the Page Visibility feature exist + (but does not validate that their values are correct).

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/page-visibility/test_child_document.html b/tests/wpt/web-platform-tests/page-visibility/test_child_document.html new file mode 100644 index 00000000000..77ec8f8fd2e --- /dev/null +++ b/tests/wpt/web-platform-tests/page-visibility/test_child_document.html @@ -0,0 +1,94 @@ + + + + + Page Visibility API Child Document Test + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that, within child documents, all of the Page Visibility API attributes exist, + are read-only, and match the value of the attributes within the parent document.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + IFrame with no style attribute +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + IFrame with "display:none" style
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + IFrame with "visibility:hidden" style +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/page-visibility/test_default_view.html b/tests/wpt/web-platform-tests/page-visibility/test_default_view.html new file mode 100644 index 00000000000..6e2f97084f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/page-visibility/test_default_view.html @@ -0,0 +1,43 @@ + + + + + Page Visibility Null Default View Test + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that document.hidden == false and + document.visibilityState == "visible" for windowless subdocuments.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/page-visibility/test_minimize-manual.html b/tests/wpt/web-platform-tests/page-visibility/test_minimize-manual.html new file mode 100644 index 00000000000..28e8486769c --- /dev/null +++ b/tests/wpt/web-platform-tests/page-visibility/test_minimize-manual.html @@ -0,0 +1,188 @@ + + + + + Page Visibility API Operation While Minimizing Browser Window + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that the page properly becomes hidden and visible due to minimizing, maximizing, and + restoring the browser window.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Manual Test Steps:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Ensure this page is the foreground and click the "Start Test"
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. Minimize the browser
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. Restore or maximize the browser
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + Note: This test will automatically timeout and fail if not completed within 60 seconds. +

                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + IFrame with default style: +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + IFrame with "display:none" style: +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/page-visibility/test_read_only.html b/tests/wpt/web-platform-tests/page-visibility/test_read_only.html new file mode 100644 index 00000000000..6d3702292dc --- /dev/null +++ b/tests/wpt/web-platform-tests/page-visibility/test_read_only.html @@ -0,0 +1,37 @@ + + + + + Page Visibility API is Read Only + + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that the Page Visibility attributes are read only.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/page-visibility/test_tab_state_change-manual.html b/tests/wpt/web-platform-tests/page-visibility/test_tab_state_change-manual.html new file mode 100644 index 00000000000..c701e507862 --- /dev/null +++ b/tests/wpt/web-platform-tests/page-visibility/test_tab_state_change-manual.html @@ -0,0 +1,186 @@ + + + + + Page Visibility API Operation While Changing Tabs + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test validates that the page properly becomes hidden and visible due to switching tabs.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Manual Test Steps:

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Ensure this page is the foreground and click the "Start Test"
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. Switch to another tab
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. Return to the current tab containing this test page
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        + Note: This test will automatically timeout and fail if not completed within 60 seconds. +

                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + IFrame with default style: +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + IFrame with "display:none" style: +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/performance-timeline/idlharness.html b/tests/wpt/web-platform-tests/performance-timeline/idlharness.html new file mode 100644 index 00000000000..db93932025f --- /dev/null +++ b/tests/wpt/web-platform-tests/performance-timeline/idlharness.html @@ -0,0 +1,54 @@ + + + + +Performance Timeline IDL tests + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Performance Timeline IDL tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +interface PerformanceEntry {
                                                                                                                                                                                                                                                                                        +  readonly attribute DOMString name;
                                                                                                                                                                                                                                                                                        +  readonly attribute DOMString entryType;
                                                                                                                                                                                                                                                                                        +  readonly attribute DOMHighResTimeStamp startTime;
                                                                                                                                                                                                                                                                                        +  readonly attribute DOMHighResTimeStamp duration;
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +partial interface Performance {
                                                                                                                                                                                                                                                                                        +  PerformanceEntryList getEntries();
                                                                                                                                                                                                                                                                                        +  PerformanceEntryList getEntriesByType(DOMString entryType);
                                                                                                                                                                                                                                                                                        +  PerformanceEntryList getEntriesByName(DOMString name, optional DOMString entryType);
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +typedef sequence <PerformanceEntry> PerformanceEntryList;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/pointerevents/README.md b/tests/wpt/web-platform-tests/pointerevents/README.md new file mode 100644 index 00000000000..07004cf4eac --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/README.md @@ -0,0 +1,9 @@ +Directory for Pointer Events Tests + +Latest Editor's Draft: https://dvcs.w3.org/hg/pointerevents/raw-file/tip/pointerEvents.html + +Latest W3C Technical Report: http://www.w3.org/TR/pointerevents/ + +Discussion forum for tests: http://lists.w3.org/Archives/Public/public-test-infra/ + +Test Assertion table: https://www.w3.org/wiki/PointerEvents/TestAssertions diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_button_attribute_mouse-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_button_attribute_mouse-manual.html new file mode 100644 index 00000000000..a31e53d3285 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_button_attribute_mouse-manual.html @@ -0,0 +1,57 @@ + + + + Button and buttons attribute test for mouse + + + + + + + +

                                                                                                                                                                                                                                                                                        Button attribute test for mouse

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test is for mouse only

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: This test checks if button attribute for mouse handled properly. +

                                                                                                                                                                                                                                                                                        Put your mouse over the black rectangle

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events button attribute test for mouse test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_capture_mouse-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_capture_mouse-manual.html new file mode 100644 index 00000000000..c4c7bc8c7c4 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_capture_mouse-manual.html @@ -0,0 +1,132 @@ + + + + Set/Release capture + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events capture test

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: This test checks if setCapture/releaseCapture functions works properly. Complete the following actions: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Move your mouse over the black rectangle. pointermove event should be logged in the black rectangle
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. Move your mouse over the purple rectangle. pointerover event should be logged in the purple rectangle
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. Press and hold left mouse button over "Set Capture" button. "gotpointercapture" should be logged in the black rectangle
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        7. Move your mouse anywhere. pointermove should be logged in the black rectangle
                                                                                                                                                                                                                                                                                        8. +
                                                                                                                                                                                                                                                                                        9. Move your mouse over the purple rectangle. Nothig should happen
                                                                                                                                                                                                                                                                                        10. +
                                                                                                                                                                                                                                                                                        11. Move your mouse over the black rectangle. pointermove should be logged in the black rectangle
                                                                                                                                                                                                                                                                                        12. +
                                                                                                                                                                                                                                                                                        13. Release left mouse button. "lostpointercapture" should be logged in the black rectangle
                                                                                                                                                                                                                                                                                        14. +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test passes if the proper behaviour of the events is observed. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Pointer Events Capture Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_capture_suppressing_mouse-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_capture_suppressing_mouse-manual.html new file mode 100644 index 00000000000..60e22d4b7d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_capture_suppressing_mouse-manual.html @@ -0,0 +1,175 @@ + + + + Set/Release capture + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events capture test

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: This test checks if setCapture/releaseCapture functions works properly. Complete the following actions: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Put your mouse over the black rectangle. pointerover and pointerenter should be logged inside of it.
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. Move your mouse out of the black rectangle. pointerout and pointerleave should be logged inside of it
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. Put your mouse over the purple rectangle. pointerover and pointerenter should be logged inside of it.
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        7. Move your mouse out of the purple rectangle. pointerout and pointerleave should be logged inside of it
                                                                                                                                                                                                                                                                                        8. +
                                                                                                                                                                                                                                                                                        9. Press and hold left mouse button over "Set Capture" button. "gotpointercapture" should be logged in the black rectangle
                                                                                                                                                                                                                                                                                        10. +
                                                                                                                                                                                                                                                                                        11. Put your mouse over the purple rectangle and then move it out. Nothing should happen
                                                                                                                                                                                                                                                                                        12. +
                                                                                                                                                                                                                                                                                        13. Put your mouse over the black rectangle. pointerover and pointerenter should be logged inside of it.
                                                                                                                                                                                                                                                                                        14. +
                                                                                                                                                                                                                                                                                        15. Move your mouse out of the black rectangle. pointerout and pointerleave should be logged inside of it
                                                                                                                                                                                                                                                                                        16. +
                                                                                                                                                                                                                                                                                        17. Release left mouse button. "lostpointercapture" should be logged in the black rectangle
                                                                                                                                                                                                                                                                                        18. +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test passes if the proper behaviour of the events is observed. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Pointer Events Capture Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual.html new file mode 100644 index 00000000000..04d56cb7a51 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_change-touch-action-onpointerdown_touch-manual.html @@ -0,0 +1,135 @@ + + + + Change touch-action on pointerdown + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Press and hold your touch. Try to scroll text in any direction. + Then release your touch and try to scroll again. Expected: no panning. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        touch-action: auto to none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_constructor.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_constructor.html new file mode 100644 index 00000000000..eaf1d792832 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_constructor.html @@ -0,0 +1,100 @@ + + + + PointerEvent: Constructor test + + + + + + + + +

                                                                                                                                                                                                                                                                                        PointerEvent: Dispatch custom event

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: This test checks if PointerEvent constructor works properly using synthetic pointerover and pointerout events. For valid results, this test must be run without generating real (trusted) pointerover or pointerout events on the black rectangle below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_gotpointercapture_before_first_pointerevent-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_gotpointercapture_before_first_pointerevent-manual.html new file mode 100644 index 00000000000..754a58facfd --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_gotpointercapture_before_first_pointerevent-manual.html @@ -0,0 +1,97 @@ + + + + Pointer Event: gotpiontercapture is fired first and asynchronously. + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: Dispatch gotpointercapture event

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: + After pointer capture is set for a pointer, and prior to dispatching the first event for the pointer, the gotpointercapture + event must be dispatched to the element that is receiving the pointer capture. The gotpointercapture event must be dispatched asynchronously. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Use the mouse, touch or pen to tap/click this box. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Do not hover over or touch this element.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_lostpointercapture_for_disconnected_node-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_lostpointercapture_for_disconnected_node-manual.html new file mode 100644 index 00000000000..4d152b73a6a --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_lostpointercapture_for_disconnected_node-manual.html @@ -0,0 +1,78 @@ + + + + Lostpointercapture fires on document when target is removed + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events - lostpointercapture when capturing element is removed

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: + This test checks if lostpointercapture is fired at the document when the capturing node is removed from the document. + Complete the following actions: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Press and hold left mouse button over "Set Capture" button. "gotpointercapture" should be logged inside of the black rectangle. +
                                                                                                                                                                                                                                                                                        2. "lostpointercapture" should be logged inside of the black rectangle after a short delay. +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Pointer Events Capture Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_lostpointercapture_is_first-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_lostpointercapture_is_first-manual.html new file mode 100644 index 00000000000..566676d2aef --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_lostpointercapture_is_first-manual.html @@ -0,0 +1,111 @@ + + + + Lostpointercapture triggers first and asynchronously + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events capture test - lostpointercapture order

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: + This test checks if lostpointercapture is handled asynchronously and prior to all subsequent events. + Complete the following actions: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Press and hold left mouse button over "Set Capture" button. "gotpointercapture" should be logged inside of the black rectangle +
                                                                                                                                                                                                                                                                                        2. "lostpointercapture" should be logged inside of the black rectangle after a short delay +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test passes if lostpointercapture is dispatched after releasing the mouse button and before any additional pointer events. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Pointer Events Capture Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointercancel_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointercancel_touch-manual.html new file mode 100644 index 00000000000..70a65eeb5ca --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointercancel_touch-manual.html @@ -0,0 +1,77 @@ + + + + PointerCancel - touch + + + + + + + + +

                                                                                                                                                                                                                                                                                        pointercancel test

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Warning: this test works properly only for devices that have touchscreen

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: This test checks if pointercancel event triggers. +

                                                                                                                                                                                                                                                                                        Start touch over the black rectangle and then move your finger to scroll the page.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointercancel Tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerdown-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerdown-manual.html new file mode 100644 index 00000000000..0167e08ba5a --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerdown-manual.html @@ -0,0 +1,59 @@ + + + + + Pointer Events pointerdown tests + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerdown tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Start with your pointing device outside of this box, then click here. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerenter-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerenter-manual.html new file mode 100644 index 00000000000..613eb8e4064 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerenter-manual.html @@ -0,0 +1,52 @@ + + + + Pointer Event: Dispatch pointerenter. + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: Dispatch pointerenter

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: + When a pointing device is moved into the hit test boundaries of an element or one of its descendants, the pointerenter event must be dispatched. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Use the mouse or pen to move over this box. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerenter_does_not_bubble-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerenter_does_not_bubble-manual.html new file mode 100644 index 00000000000..3f0583364a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerenter_does_not_bubble-manual.html @@ -0,0 +1,88 @@ + + + + Pointer Event: The pointerenter event does not bubble + + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: pointerenter does not bubble

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: + The pointerenter event must not bubble up to parent elements. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Use the mouse or pen to hover over then out of the purple box nested in the black box. Or with touch, tap on the purple box. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerenter_nohover-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerenter_nohover-manual.html new file mode 100644 index 00000000000..32675bbb441 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerenter_nohover-manual.html @@ -0,0 +1,74 @@ + + + + Pointer Event: Dispatch pointerenter. (nohover) + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: Dispatch pointerenter (nohover)

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: + When a pointing device that does not support hover is moved into the hit test boundaries of an element or one of its + descendants as a result of a pointerdown event, the pointerenter event must be dispatched. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Tap here. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual.html new file mode 100644 index 00000000000..56be26549f8 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointercancel_touch-manual.html @@ -0,0 +1,66 @@ + + + + pointerleave after pointercancel + + + + + + + + +

                                                                                                                                                                                                                                                                                        pointerleave after pointercancel

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: This test checks if pointerleave event triggers after pointercancel. Start touch on the black rectangle and move your touch to scroll in any direction.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerleave tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointerup_nohover-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointerup_nohover-manual.html new file mode 100644 index 00000000000..30412378428 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_after_pointerup_nohover-manual.html @@ -0,0 +1,67 @@ + + + + pointerleave after pointerup + + + + + + + + +

                                                                                                                                                                                                                                                                                        pointerleave after pointerup

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: This test checks if pointerleave event triggers for devices that don't support hover. Tap the black rectangle.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is only for devices that do not support hover.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerleave tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_descendant_over-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_descendant_over-manual.html new file mode 100644 index 00000000000..8f4f4bfc7a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_descendant_over-manual.html @@ -0,0 +1,61 @@ + + + + pointerleave + descendant + + + + + + + +

                                                                                                                                                                                                                                                                                        pointerleave

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: This test checks if pointerleave event works properly. +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Put your mouse over the black rectangle +
                                                                                                                                                                                                                                                                                        2. Then move it into the purple rectangle +
                                                                                                                                                                                                                                                                                        3. Click on the purple rectangle to complete the test +
                                                                                                                                                                                                                                                                                        + Note: when you entered the black rectangle once don't leave it before the end of the test to get proper results. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerleave tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_descendants-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_descendants-manual.html new file mode 100644 index 00000000000..ac9edcff38a --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_descendants-manual.html @@ -0,0 +1,52 @@ + + + + Pointerleave + descendant + + + + + + + +

                                                                                                                                                                                                                                                                                        pointerleave

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: This test checks if pointerleave event works properly. +

                                                                                                                                                                                                                                                                                        Put your mouse over the black rectangle and then move it out through purple rectangle boundaries.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerleave tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_does_not_bubble-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_does_not_bubble-manual.html new file mode 100644 index 00000000000..c0e551cd658 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_does_not_bubble-manual.html @@ -0,0 +1,77 @@ + + + + Pointer Event: The pointerleave event does not bubble + + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: pointerleave does not bubble

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: + The pointerleave event must not bubble up to parent elements. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Use the mouse or pen to hover over then out of the purple box nested in the black box. Or with touch, tap on the purple box. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_mouse-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_mouse-manual.html new file mode 100644 index 00000000000..708aed91af4 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_mouse-manual.html @@ -0,0 +1,53 @@ + + + + Pointer Event: Dispatch pointerleave (mouse). + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: Dispatch pointerleave (mouse)

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: + When a pointing device that has continuous position (such as a mouse) leaves the hit test boundaries of an element, the pointerleave event must be dispatched. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Use a mouse to move over then out of this element +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_pen-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_pen-manual.html new file mode 100644 index 00000000000..38a2f697920 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_pen-manual.html @@ -0,0 +1,58 @@ + + + + Pointer Event: Dispatch pointerleave (pen). + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: Dispatch pointerleave (pen)

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: + When a pointing device that supports hover (pen stylus) leaves the range of the digitizer while over an element, the pointerleave event must be dispatched. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Use a pen to hover over then lift up away from this element. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_touch-manual.html new file mode 100644 index 00000000000..3044327a5ff --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerleave_touch-manual.html @@ -0,0 +1,53 @@ + + + + Pointer Event: Dispatch pointerleave (touch). + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: Dispatch pointerleave (touch)

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: + When a pointing device that does not support hover (such as a finger) leaves the hit test boundaries as a result of a pointerup event, the pointerleave event must be dispatched. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Use touch to tap on this box. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointermove-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointermove-manual.html new file mode 100644 index 00000000000..cf1a1ee4ee8 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointermove-manual.html @@ -0,0 +1,44 @@ + + + + Pointermove + + + + + + + + + +

                                                                                                                                                                                                                                                                                        PointerMove

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: This test checks if pointermove event triggers. Move your mouse over the black rectangle or slide it if you are using touchscreen.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointermove Tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html new file mode 100644 index 00000000000..b43d59f4f6e --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointermove_isprimary_same_as_pointerdown-manual.html @@ -0,0 +1,70 @@ + + + + Pointer Event: pointermove has same isPrimary as last pointerdown with the same pointerId + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: pointermove has the same isPrimary as last pointerdown with the same pointerId

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: + The isPrimary attribute of a pointermove event must have the same value as the isPrimary attribute of the last pointerdown event with the same pointerId attribute. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Press and hold a mouse button, touch contact or pen contact on this element. Move around inside the element while maintaining contact/button down. Only use one device per test run. +

                                                                                                                                                                                                                                                                                        Lift off of the element to complete the test.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointermove_pointertype-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointermove_pointertype-manual.html new file mode 100644 index 00000000000..4c410159c13 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointermove_pointertype-manual.html @@ -0,0 +1,64 @@ + + + + pointerType conservation + + + + + + + +

                                                                                                                                                                                                                                                                                        pointerType conservation

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: This test checks if pointerType attribute defined properly.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Press and move a mouse button, touch contact or pen contact on the black rectangle. Only use one device per test run. +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: This test may be run with different pointer devices, however only one device should be used per test run. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerType conservation tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout-manual.html new file mode 100644 index 00000000000..473fa14ebbc --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout-manual.html @@ -0,0 +1,46 @@ + + + + pointerout + + + + + + + + +

                                                                                                                                                                                                                                                                                        pointerout

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: This test checks if pointerout event triggers. Put your mouse over the black rectangle and then move it out of the rectangle boundaries. If you are using touchscreen tap the black rectangle.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerout tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual.html new file mode 100644 index 00000000000..1888591a7c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_after_pointercancel_touch-manual.html @@ -0,0 +1,67 @@ + + + + pointerout + + + + + + + + +

                                                                                                                                                                                                                                                                                        pointerout

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: This test checks if pointerout event triggers after pointercancel. Start touch on the black rectangle and move your touch to scroll in any direction.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerout tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_after_pointerup_nohover-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_after_pointerup_nohover-manual.html new file mode 100644 index 00000000000..44813033a72 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_after_pointerup_nohover-manual.html @@ -0,0 +1,67 @@ + + + + pointerout + + + + + + + + +

                                                                                                                                                                                                                                                                                        pointerout

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: This test checks if pointerout event triggers for devices that don't support hover. Tap the black rectangle.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is only for devices that do not support hover.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerout tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_pen-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_pen-manual.html new file mode 100644 index 00000000000..3973948c164 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_pen-manual.html @@ -0,0 +1,57 @@ + + + + pointerout + + + + + + + + +

                                                                                                                                                                                                                                                                                        pointerout

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: This test checks if pointerout event triggers for pen. Place your pen over the black rectangle and then pull the pen out of the digitizer's detectable range.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for devices that support hover - for pen only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerout tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_received_once-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_received_once-manual.html new file mode 100644 index 00000000000..4827ae91de1 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerout_received_once-manual.html @@ -0,0 +1,58 @@ + + + + pointerout received just once + + + + + + + +

                                                                                                                                                                                                                                                                                        pointerout received just once

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: This test checks if pointerout event dispatched properly. +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Put your mouse over the black rectangle. +
                                                                                                                                                                                                                                                                                        2. Move your mouse out of the black rectangle +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerout received once test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerover-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerover-manual.html new file mode 100644 index 00000000000..4601c08aaaf --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerover-manual.html @@ -0,0 +1,52 @@ + + + + Pointer Event: Dispatch pointerover. + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: Dispatch pointerover.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: + When a pointing device is moved into the hit test boundaries of an element, the pointerover event must be dispatched. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Use mouse, touch or pen to hover or contact this element.. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointertype_mouse-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointertype_mouse-manual.html new file mode 100644 index 00000000000..b1e7d7046ea --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointertype_mouse-manual.html @@ -0,0 +1,63 @@ + + + + Pointer Event: If a pointer event is initiated by a mouse device, then the pointerType must be "mouse" + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: Dispatch pointer events with pointerType equal to "mouse"

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: + If a pointer event is initiated by a mouse device, then the pointerType must be 'mouse'. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Using the mouse, click this element. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointertype_pen-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointertype_pen-manual.html new file mode 100644 index 00000000000..0aabfce4fc9 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointertype_pen-manual.html @@ -0,0 +1,61 @@ + + + + Pointer Event: If a pointer event is initiated by a pen device, then the pointerType must be "pen" + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: Dispatch pointer events with pointerType equal to "pen"

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: + If a pointer event is initiated by a pen device, then the pointerType must be 'pen'. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Using pen, tap here. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointertype_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointertype_touch-manual.html new file mode 100644 index 00000000000..c06fbe48c6d --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointertype_touch-manual.html @@ -0,0 +1,62 @@ + + + + Pointer Event: If a pointer event is initiated by a touch device, then the pointerType must be "touch" + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: Dispatch pointer events with pointerType equal to "touch"

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: + If a pointer event is initiated by a touch device, then the pointerType must be 'touch'. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Using touch, tap here. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerup-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerup-manual.html new file mode 100644 index 00000000000..30a03f23dcf --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerup-manual.html @@ -0,0 +1,44 @@ + + + + pointerup + + + + + + + + +

                                                                                                                                                                                                                                                                                        pointerup

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: This test checks if pointerup event triggers. Press mouse left button and release it over the black rectangle or tap it if you are using a touchscreen.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerup tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html new file mode 100644 index 00000000000..994061b8bf0 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerup_isprimary_same_as_pointerdown-manual.html @@ -0,0 +1,63 @@ + + + + Pointer Event: pointerup has same isPrimary as last pointerdown with the same pointerId + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: pointerup has the same isPrimary as last pointerdown with the same pointerId

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: + The isPrimary attribute of a pointerup event must have the same value as the isPrimary attribute of the last pointerdown event with the same pointerId attribute. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Press and release a mouse button, touch contact or pen contact on this element. Only use one device per test run. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerup_pointertype-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerup_pointertype-manual.html new file mode 100644 index 00000000000..b356484bacc --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_pointerup_pointertype-manual.html @@ -0,0 +1,64 @@ + + + + pointerType conservation + + + + + + + +

                                                                                                                                                                                                                                                                                        pointerType conservation

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: This test checks if pointerType attribute defined properly.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Press and release a mouse button, touch contact or pen contact on the black rectangle. Only use one device per test run. +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: This test may be run with different pointer devices, however only one device should be used per test run. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events pointerType conservation tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_events_to_original_target-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_events_to_original_target-manual.html new file mode 100644 index 00000000000..f3991d98d74 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_events_to_original_target-manual.html @@ -0,0 +1,116 @@ + + + + Pointer Event: releasePointerCapture() - subsequent events follow normal hitting testing mechanisms + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Pointer Event: releasePointerCapture() - subsequent events follow normal hitting testing mechanisms

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: + After invoking the releasePointerCapture method on an element, subsequent events for the specified + pointer must follow normal hit testing mechanisms for determining the event target +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Use mouse, touch or pen to contact here and move around. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html new file mode 100644 index 00000000000..fe2ab006181 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html @@ -0,0 +1,76 @@ + + + + Pointer Event: releasePointerCapture DOMException - InvalidPointerId + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Pointer Event: releasePointerCapture() DOMException - InvalidPointerId

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: + Upon invocation of the releasePointerCapture method, if the provided pointerId value does not match any of the + active pointers, a DOMException with the name InvalidPointerId must be thrown. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Use the mouse, touch or pen to move over or contact this box. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html new file mode 100644 index 00000000000..105e3b5a974 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html @@ -0,0 +1,71 @@ + + + + Release capture on pointercancel + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events Capture Test - release capture on pointercancel

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: This test checks if setCapture/releaseCapture functions works properly. Complete the following actions: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Touch black rectangle and do not release your touch +
                                                                                                                                                                                                                                                                                        2. Move your touch to scroll the page. "lostpointercapture" should be logged inside of the black rectangle immediately after "pointercancel" +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test passes if the proper behavior of the events is observed. +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Pointer Events Capture Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointerup_mouse-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointerup_mouse-manual.html new file mode 100644 index 00000000000..df515436c05 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_releasepointercapture_onpointerup_mouse-manual.html @@ -0,0 +1,79 @@ + + + + Release capture on pointerup + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events Capture Test - release capture on pointerup

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: This test checks if setCapture/releaseCapture functions works properly. Complete the following actions: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Press and hold left mouse button over "Set Capture" button +
                                                                                                                                                                                                                                                                                        2. Release left mouse button anywhere over the document. "lostpointercapture" should be logged inside of the black rectangle immediately after "pointerup" +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test passes if the proper behavior of the events is observed. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Pointer Events Capture Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_disconnected-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_disconnected-manual.html new file mode 100644 index 00000000000..9e9646525fa --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_disconnected-manual.html @@ -0,0 +1,55 @@ + + + + setPointerCapture() throws on disconnected node + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: DOMException InvalidStateError

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: + When the setPointerCapture method is invoked, if the target node does not participate in its ownerDocument's tree, a DOMException with the name InvalidStateError must be thrown. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Use the mouse, touch or pen to contact this box. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_inactive_button_mouse-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_inactive_button_mouse-manual.html new file mode 100644 index 00000000000..b3e8debb716 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_inactive_button_mouse-manual.html @@ -0,0 +1,58 @@ + + + + setPointerCapture + inactive button state + + + + + + + +

                                                                                                                                                                                                                                                                                        setPointerCapture

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: This test checks if setPointerCapture works properly. +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Put your mouse over the black rectangle +
                                                                                                                                                                                                                                                                                        2. Move you mouse out to complete the test +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Pointer Events setPointerCapture Tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_invalid_pointerid-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_invalid_pointerid-manual.html new file mode 100644 index 00000000000..4dbe858db16 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_invalid_pointerid-manual.html @@ -0,0 +1,65 @@ + + + + Pointer Event: gotPiontercapture is fired first. + + + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Event: DOMException InvalidPointerId

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: + When the setPointerCapture method is invoked, if the provided pointerId value does not match any of the active pointers, a DOMException with the name InvalidPointerId must be thrown. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Use the mouse, touch or pen to contact this box. +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_relatedtarget-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_relatedtarget-manual.html new file mode 100644 index 00000000000..45b67414b26 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_setpointercapture_relatedtarget-manual.html @@ -0,0 +1,101 @@ + + + + Set/Release capture + relatedTarget + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events Capture Test - capture and relatedTarget

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test Description: This test checks if setCapture/releaseCapture functions works properly. Complete the following actions: +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. Put your mouse over the lower rectangle. pointerover should be received for the purple rectangle +
                                                                                                                                                                                                                                                                                        2. Press and hold left mouse button over "Set Capture" button +
                                                                                                                                                                                                                                                                                        3. Put your mouse over the upper rectangle. pointerover should be received for the black rectangle +
                                                                                                                                                                                                                                                                                        4. Release left mouse button to complete the test. +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Test passes if the proper behavior of the events is observed. + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Pointer Events Capture Test

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test complete: Scroll to Summary to view Pass/Fail Results.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Refresh the page to run the tests again with a different pointer type.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_styles.css b/tests/wpt/web-platform-tests/pointerevents/pointerevent_styles.css new file mode 100644 index 00000000000..55265af4141 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_styles.css @@ -0,0 +1,61 @@ +#target0 { +background: black; +color: white; +white-space: nowrap; +overflow-y: auto; +overflow-x: auto; +} + +#target1 { +background: purple; +color: white; +white-space: nowrap; +overflow-y: auto; +overflow-x: auto; +} + +.scroller { +width: 700px; +height: 430px; +margin: 20px; +overflow: auto; +background: black; +} + +.scroller > div { +height: 1000px; +width: 1000px; +color: white; +} + +.scroller > div div { +height: 100%; +width: 100%; +color: white; +} + +div { +margin: 0em; +padding: 2em; +} + +#complete-notice { +background: #afa; +border: 1px solid #0a0; +display: none; +} + +#pointertype-log { +font-weight: bold; +} + +#listener { +background: orange; +border: 1px solid orange; +position: absolute; +top: -100px; +} + +body.scrollable { +min-height: 5000px; +} diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_support.js b/tests/wpt/web-platform-tests/pointerevents/pointerevent_support.js new file mode 100644 index 00000000000..b3fb661f8b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_support.js @@ -0,0 +1,170 @@ +var All_Pointer_Events = [ + "pointerdown", + "pointerup", + "pointercancel", + "pointermove", + "pointerover", + "pointerout", + "pointerenter", + "pointerleave", + "gotpointercapture", + "lostpointercapture"]; + +// Check for conformance to PointerEvent interface +// TA: 1.1, 1.2, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13 +function check_PointerEvent(event) { + test(function () { + assert_true(event instanceof PointerEvent, "event is a PointerEvent event"); + }, event.type + " event is a PointerEvent event"); + + + // Check attributes for conformance to WebIDL: + // * attribute exists + // * has proper type + // * if the attribute is "readonly", it cannot be changed + // TA: 1.1, 1.2 + var idl_type_check = { + "long": function (v) { return typeof v === "number" && Math.round(v) === v; }, + "float": function (v) { return typeof v === "number"; }, + "string": function (v) { return typeof v === "string"; }, + "boolean": function (v) { return typeof v === "boolean" } + }; + [ + ["readonly", "long", "pointerId"], + ["readonly", "float", "width"], + ["readonly", "float", "height"], + ["readonly", "float", "pressure"], + ["readonly", "long", "tiltX"], + ["readonly", "long", "tiltY"], + ["readonly", "string", "pointerType"], + ["readonly", "boolean", "isPrimary"] + ].forEach(function (attr) { + var readonly = attr[0]; + var type = attr[1]; + var name = attr[2]; + + + // existence check + test(function () { + assert_true(name in event, name + " attribute in " + event.type + " event"); + }, event.type + "." + name + " attribute exists"); + + + // readonly check + if (readonly === "readonly") { + test(function () { + assert_readonly(event.type, name, event.type + "." + name + " cannot be changed"); + }, event.type + "." + name + " is readonly"); + } + + + // type check + test(function () { + assert_true(idl_type_check[type](event[name]), name + " attribute of type " + type); + }, event.type + "." + name + " IDL type " + type + " (JS type was " + typeof event[name] + ")"); + }); + + + // Check the pressure value + // TA: 1.6, 1.7, 1.8 + test(function () { + // TA: 1.6 + assert_greater_than_equal(event.pressure, 0, "pressure is greater than or equal to 0"); + assert_less_than_equal(event.pressure, 1, "pressure is less than or equal to 1"); + + + // TA: 1.7, 1.8 + if (event.pointerType === "mouse") { + if (event.buttons === 0) { + assert_equals(event.pressure, 0, "pressure is 0 for mouse with no buttons pressed"); + } else { + assert_equals(event.pressure, 0.5, "pressure is 0.5 for mouse with a button pressed"); + } + } + }, event.type + ".pressure value is valid"); + + + // Check mouse-specific properties + if (event.pointerType === "mouse") { + // TA: 1.9, 1.10, 1.13 + test(function () { + assert_equals(event.tiltX, 0, event.type + ".tiltX is 0 for mouse"); + assert_equals(event.tiltY, 0, event.type + ".tiltY is 0 for mouse"); + assert_true(event.isPrimary, event.type + ".isPrimary is true for mouse"); + }, event.type + " properties for pointerType = mouse"); + // Check properties for pointers other than mouse + } +} + +function showPointerTypes() { + var complete_notice = document.getElementById("complete-notice"); + var pointertype_log = document.getElementById("pointertype-log"); + var pointertypes = Object.keys(detected_pointertypes); + pointertype_log.innerHTML = pointertypes.length ? + pointertypes.join(",") : "(none)"; + complete_notice.style.display = "block"; +} + +function log(msg, el) { + if (++count > 10){ + count = 0; + el.innerHTML = ' '; + } + el.innerHTML = msg + '; ' + el.innerHTML; +} + + function failOnScroll() { + assert_true(false, + "scroll received while shouldn't"); +} + +function updateDescriptionNextStep() { + document.getElementById('desc').innerHTML = "Test Description: Try to scroll text RIGHT."; +} + +function updateDescriptionComplete() { + document.getElementById('desc').innerHTML = "Test Description: Test complete"; +} + +function updateDescriptionSecondStepTouchActionElement(target, scrollReturnInterval) { + window.setTimeout(function() { + objectScroller(target, 'up', 0);} + , scrollReturnInterval); + document.getElementById('desc').innerHTML = "Test Description: Try to scroll element RIGHT moving your outside of the red border"; +} + +function updateDescriptionThirdStepTouchActionElement(target, scrollReturnInterval) { + window.setTimeout(function() { + objectScroller(target, 'left', 0);} + , scrollReturnInterval); + document.getElementById('desc').innerHTML = "Test Description: Try to scroll element DOWN then RIGHT starting your touch inside of the element. Then tap complete button"; +} + +function updateDescriptionFourthStepTouchActionElement(target, scrollReturnInterval) { + document.getElementById('desc').innerHTML = "Test Description: Try to scroll element RIGHT starting your touch inside of the element"; +} + +function objectScroller(target, direction, value) { + if (direction == 'up') { + target.scrollTop = 0; + } else if (direction == 'left') { + target.scrollLeft = 0; + } +} + +function sPointerCapture(e) { + try { + target0.setPointerCapture(e.pointerId); + } + catch(e) { + } +} + +function rPointerCapture(e) { + try { + captureButton.value = 'Set Capture'; + target0.releasePointerCapture(e.pointerId); + } + catch(e) { + } +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-auto-css_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-auto-css_touch-manual.html new file mode 100644 index 00000000000..f5e9d12c353 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-auto-css_touch-manual.html @@ -0,0 +1,129 @@ + + + + touch-action: auto + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll text DOWN. Wait for description update. Expected: pan enabled

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        touch-action: auto

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-button-test_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-button-test_touch-manual.html new file mode 100644 index 00000000000..01a1c88c181 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-button-test_touch-manual.html @@ -0,0 +1,109 @@ + + + + Button touch-action test + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll black element DOWN moving your touch outside of the red border. Wait for description update.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        touch-action: none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-illegal.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-illegal.html new file mode 100644 index 00000000000..5fe6179840e --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-illegal.html @@ -0,0 +1,67 @@ + + + + touch-action: illegal + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Test will automatically check behaviour of following combinations: 'pan-x none', 'pan-y none', 'auto none'

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        touch-action: none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch-manual.html new file mode 100644 index 00000000000..364c9c11f6a --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch-manual.html @@ -0,0 +1,117 @@ + + + + touch-action: parent > child: auto > child: none + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: no panning.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        behaviour: none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-none_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-none_touch-manual.html new file mode 100644 index 00000000000..786819b8588 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-none_touch-manual.html @@ -0,0 +1,112 @@ + + + + touch-action: child: none + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: no panning

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        behaviour: none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-x_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-x_touch-manual.html new file mode 100644 index 00000000000..09a97e3cbe2 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-x_touch-manual.html @@ -0,0 +1,112 @@ + + + + touch-action: parent > child: pan-x > child: pan-x + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: only pans in x direction.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        behaviour: pan-x

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-y_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-y_touch-manual.html new file mode 100644 index 00000000000..527e5537400 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_child-pan-x-child-pan-y_touch-manual.html @@ -0,0 +1,117 @@ + + + + touch-action: parent > child: pan-x > child: pan-y + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: no panning/zooming/etc.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        behaviour: none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual.html new file mode 100644 index 00000000000..b13013c4376 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_highest-parent-none_touch-manual.html @@ -0,0 +1,133 @@ + + + + touch-action: parent: none + two embedded children + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll text DOWN. Wait for description update. Expected: pan enabled

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        behaviour: auto

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_parent-none_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_parent-none_touch-manual.html new file mode 100644 index 00000000000..163ef9b8ef4 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-inherit_parent-none_touch-manual.html @@ -0,0 +1,112 @@ + + + + touch-action: inherit from parent: none + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: no panning

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        behaviour: none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-keyboard-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-keyboard-manual.html new file mode 100644 index 00000000000..3fef3f646f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-keyboard-manual.html @@ -0,0 +1,124 @@ + + + + touch-action: keyboard + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Press DOWN ARROW key. Wait for description update. Expected: pan enabled

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for keyboard only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        touch-action: none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-mouse-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-mouse-manual.html new file mode 100644 index 00000000000..fcc8584515c --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-mouse-manual.html @@ -0,0 +1,130 @@ + + + + touch-action: mouse + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll text down using mouse (use mouse wheel or click on the scrollbar). Wait for description update.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for mouse only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        touch-action: none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-none-css_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-none-css_touch-manual.html new file mode 100644 index 00000000000..dec694f3eca --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-none-css_touch-manual.html @@ -0,0 +1,111 @@ + + + + touch-action: none + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: no panning/zooming/etc.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        touch-action: none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-css_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-css_touch-manual.html new file mode 100644 index 00000000000..e757baec6be --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-css_touch-manual.html @@ -0,0 +1,106 @@ + + + + touch-action: pan-x + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: only pans in x direction.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        touch-action: pan-x

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y-pan-y_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y-pan-y_touch-manual.html new file mode 100644 index 00000000000..e89b8b742e9 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y-pan-y_touch-manual.html @@ -0,0 +1,111 @@ + + + + touch-action: parent > child: pan-x pan-y > child: pan-y + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: only pans in y direction.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        behaviour: pan-y

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual.html new file mode 100644 index 00000000000..0c900ff7407 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-pan-x-pan-y_touch-manual.html @@ -0,0 +1,126 @@ + + + + touch-action: pan-x pan-y + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll text DOWN. Wait for description update. Expected: pan enabled

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        touch-action: pan-x pan-y

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-pan-y-css_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-pan-y-css_touch-manual.html new file mode 100644 index 00000000000..4ad39ecc838 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-pan-y-css_touch-manual.html @@ -0,0 +1,106 @@ + + + + touch-action: pan-y + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll element DOWN then RIGHT. Tap Complete button under the rectangle when done. Expected: only pans in y direction.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch-devices only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem + nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. + Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit + lobortis nisl ut aliquip ex ea commodo consequat. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Lorem ipsum dolor sit amet...

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        touch-action: pan-y

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-span-test_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-span-test_touch-manual.html new file mode 100644 index 00000000000..41635e0bf94 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-span-test_touch-manual.html @@ -0,0 +1,113 @@ + + + + Span touch-action test + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll black element DOWN moving your touch outside of the red border. Wait for description update.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + Test span + +
                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        touch-action: none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-svg-test_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-svg-test_touch-manual.html new file mode 100644 index 00000000000..6c9c0b3f68c --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-svg-test_touch-manual.html @@ -0,0 +1,122 @@ + + + + SVG test + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll black element DOWN moving your touch outside of the red border. Wait for description update.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + Sorry, your browser does not support inline SVG. + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        touch-action: none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-table-test_touch-manual.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-table-test_touch-manual.html new file mode 100644 index 00000000000..fcc3a3e7cad --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-table-test_touch-manual.html @@ -0,0 +1,141 @@ + + + + Table touch-action test + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Try to scroll element DOWN starting your touch over the 1st Row. Wait for description update.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Note: this test is for touch only

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        The caption, first row element, and cell 3 have touch-action: none.
                                                                                                                                                                                                                                                                                        Header 1 Cell 1 Cell 2
                                                                                                                                                                                                                                                                                        Header 2 Cell 3 Cell 4
                                                                                                                                                                                                                                                                                        Header 3 Cell 5 Cell 6
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        touch-action: none

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-verification.html b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-verification.html new file mode 100644 index 00000000000..2e694229a21 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerevents/pointerevent_touch-action-verification.html @@ -0,0 +1,101 @@ + + + + touch-action: basic verification + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Events touch-action attribute support

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Test Description: Test will automatically check behaviour of following values: 'auto', 'pan-x', 'pan-y', ' none', 'manipulation'

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        touch-action: basic verification

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        The following pointer types were detected: .

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/pointerlock/constructor.html b/tests/wpt/web-platform-tests/pointerlock/constructor.html new file mode 100644 index 00000000000..8c43cf6dafc --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerlock/constructor.html @@ -0,0 +1,53 @@ + + + + + Pointer Lock event constructor + + + + + + +

                                                                                                                                                                                                                                                                                        Create Pointer Lock events and check each default value.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + diff --git a/tests/wpt/web-platform-tests/pointerlock/idlharness.html b/tests/wpt/web-platform-tests/pointerlock/idlharness.html new file mode 100644 index 00000000000..5fb2ca08ae8 --- /dev/null +++ b/tests/wpt/web-platform-tests/pointerlock/idlharness.html @@ -0,0 +1,79 @@ + + + + +Pointer Lock IDL tests + + + + + + + + + + + +

                                                                                                                                                                                                                                                                                        Pointer Lock IDL tests

                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +partial interface Element {
                                                                                                                                                                                                                                                                                        +    void requestPointerLock ();
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +partial interface Document {
                                                                                                                                                                                                                                                                                        +                attribute EventHandler? onpointerlockchange;
                                                                                                                                                                                                                                                                                        +                attribute EventHandler? onpointerlockerror;
                                                                                                                                                                                                                                                                                        +    readonly    attribute Element?      pointerLockElement;
                                                                                                                                                                                                                                                                                        +    void exitPointerLock ();
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +partial interface MouseEvent {
                                                                                                                                                                                                                                                                                        +    readonly    attribute long movementX;
                                                                                                                                                                                                                                                                                        +    readonly    attribute long movementY;
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/progress-events/Status.html b/tests/wpt/web-platform-tests/progress-events/Status.html new file mode 100644 index 00000000000..f2aee75d7f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/progress-events/Status.html @@ -0,0 +1,26 @@ + + + + Progress Events Test Status + + + +

                                                                                                                                                                                                                                                                                        Progress Events Test Suite Status

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        This test suite is part of the +Web Application WG's +Test Repository as described in WebApps' +Testing Wiki. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The test suite is for the +Progress Events specification. +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • Test suite status: The group has reviewed and approved all tests in the approved folder.
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • Test suite Facilitator: Jungkee Song
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/progress-events/constructor.html b/tests/wpt/web-platform-tests/progress-events/constructor.html new file mode 100644 index 00000000000..a99013a281c --- /dev/null +++ b/tests/wpt/web-platform-tests/progress-events/constructor.html @@ -0,0 +1,43 @@ + +ProgressEvent constructor + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/progress-events/interface.html b/tests/wpt/web-platform-tests/progress-events/interface.html new file mode 100644 index 00000000000..3bd7a0dadef --- /dev/null +++ b/tests/wpt/web-platform-tests/progress-events/interface.html @@ -0,0 +1,53 @@ + +The ProgressEvent interface + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/progress-events/tests/submissions/Samsung/firing-events-http-content-length.html b/tests/wpt/web-platform-tests/progress-events/tests/submissions/Samsung/firing-events-http-content-length.html new file mode 100644 index 00000000000..d897a71109e --- /dev/null +++ b/tests/wpt/web-platform-tests/progress-events/tests/submissions/Samsung/firing-events-http-content-length.html @@ -0,0 +1,38 @@ + + + + ProgressEvent: firing events for HTTP with Content-Length + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/progress-events/tests/submissions/Samsung/firing-events-http-no-content-length.html b/tests/wpt/web-platform-tests/progress-events/tests/submissions/Samsung/firing-events-http-no-content-length.html new file mode 100644 index 00000000000..b30b03afe08 --- /dev/null +++ b/tests/wpt/web-platform-tests/progress-events/tests/submissions/Samsung/firing-events-http-no-content-length.html @@ -0,0 +1,38 @@ + + + + ProgressEvent: firing events for HTTP with no Content-Length + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/progress-events/tests/submissions/Samsung/resources/no-content-length.py b/tests/wpt/web-platform-tests/progress-events/tests/submissions/Samsung/resources/no-content-length.py new file mode 100644 index 00000000000..0b47ff146cc --- /dev/null +++ b/tests/wpt/web-platform-tests/progress-events/tests/submissions/Samsung/resources/no-content-length.py @@ -0,0 +1,15 @@ +def main(request, response): + response.headers.update([('Transfer-Encoding', 'chunked'), + ('Content-Type', 'text/html'), + ('Connection', 'keep-alive')]) + response.write_status_headers() + response.explicit_flush = True + + string = "W3C" + for i in xrange(1000): + response.writer.write("%s\r\n%s\r\n" % (len(string), string)) + response.writer.flush(); + + response.writer.write("0\r\n\r\n") + response.writer.flush(); + diff --git a/tests/wpt/web-platform-tests/proximity/DeviceProximityEvent_tests.html b/tests/wpt/web-platform-tests/proximity/DeviceProximityEvent_tests.html new file mode 100644 index 00000000000..d4d08fda7f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/proximity/DeviceProximityEvent_tests.html @@ -0,0 +1,10 @@ + + + +Proximity Events Test Suite +

                                                                                                                                                                                                                                                                                        Test Suite for Proximity Events

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/proximity/DeviceProximityEvent_tests.js b/tests/wpt/web-platform-tests/proximity/DeviceProximityEvent_tests.js new file mode 100644 index 00000000000..4d3c00c0a3c --- /dev/null +++ b/tests/wpt/web-platform-tests/proximity/DeviceProximityEvent_tests.js @@ -0,0 +1,439 @@ +(function() { + //inheritance tests + test(function() { + var event = new DeviceProximityEvent(''); + assert_true(event instanceof window.DeviceProximityEvent); + }, 'the event is an instance of DeviceProximityEvent'); + + test(function() { + var event = new DeviceProximityEvent(''); + assert_true(event instanceof window.Event); + }, 'the event inherits from Event'); + + //Type attribute tests + test(function() { + assert_throws(new TypeError(), function() { + new DeviceProximityEvent(); + }, 'First argument is required, so was expecting a TypeError.'); + }, 'Missing type argument'); + + test(function() { + var event = new DeviceProximityEvent(undefined); + assert_equals(event.type, 'undefined'); + }, 'Event type set to undefined'); + + test(function() { + var event = new DeviceProximityEvent(null); + assert_equals(event.type, 'null'); + }, 'type argument is null'); + + test(function() { + var event = new DeviceProximityEvent(123); + assert_equals(event.type, '123'); + }, 'type argument is number'); + + test(function() { + var event = new DeviceProximityEvent(new Number(123)); + assert_equals(event.type, '123'); + }, 'type argument is Number'); + + test(function() { + var event = new DeviceProximityEvent([]); + assert_equals(event.type, ''); + }, 'type argument is array'); + + test(function() { + var event = new DeviceProximityEvent(new Array()); + assert_equals(event.type, ''); + }, 'type argument is instance of Array'); + + test(function() { + var event = new DeviceProximityEvent(['t', ['e', ['s', ['t']]]]); + assert_equals(event.type, 't,e,s,t'); + }, 'type argument is nested array'); + + test(function() { + var event = new DeviceProximityEvent(Math); + assert_equals(event.type, '[object Math]'); + }, 'type argument is host object'); + + test(function() { + var event = new DeviceProximityEvent(true); + assert_equals(event.type, 'true'); + }, 'type argument is boolean (true)'); + + test(function() { + var event = new DeviceProximityEvent(new Boolean(true)); + assert_equals(event.type, 'true'); + }, 'type argument is instance of Boolean (true)'); + + test(function() { + var event = new DeviceProximityEvent(false); + assert_equals(event.type, 'false'); + }, 'type argument is boolean (false)'); + + test(function() { + var event = new DeviceProximityEvent(new Boolean(false)); + assert_equals(event.type, 'false'); + }, 'type argument is instance of Boolean (false)'); + + test(function() { + var event = new DeviceProximityEvent('test'); + assert_equals(event.type, 'test'); + }, 'type argument is string'); + + test(function() { + var event = new DeviceProximityEvent(new String('test')); + assert_equals(event.type, 'test'); + }, 'type argument is instance of String'); + + test(function() { + var event = new DeviceProximityEvent(function test() {}); + assert_regexp_match(event.type, /function test.+{\s?}/); + }, 'type argument is function'); + + test(function() { + var event = new DeviceProximityEvent({ + toString: function() { + return '123'; + } + }); + assert_equals(event.type, '123'); + }, 'type argument is complext object, with toString method'); + + test(function() { + assert_throws(new TypeError(), function() { + new DeviceProximityEvent({ + toString: function() { + return function() {} + } + }); + }); + }, 'toString is of type function'); + + //eventInitDict attribute tests + test(function() { + var event = new DeviceProximityEvent('test', undefined); + assert_equals(event.value, Infinity); + assert_equals(event.min, -Infinity); + assert_equals(event.max, Infinity); + }, 'eventInitDict argument sets to undefined'); + + test(function() { + var event = new DeviceProximityEvent('test', null); + assert_equals(event.value, Infinity); + assert_equals(event.min, -Infinity); + assert_equals(event.max, Infinity); + }, 'eventInitDict argument is null'); + + test(function() { + var date = new Date(); + assert_throws(new TypeError(), function() { + new DeviceProximityEvent('test', date); + }); + }, 'eventInitDict argument is Date object'); + + test(function() { + var regexp = /abc/; + assert_throws(new TypeError(), function() { + new DeviceProximityEvent('test', regexp); + }); + }, 'eventInitDict argument is RegExp object'); + + test(function() { + assert_throws(new TypeError(), function() { + new DeviceProximityEvent('test', false); + }); + }, 'eventInitDict argument is boolean'); + + test(function() { + assert_throws(new TypeError(), function() { + new DeviceProximityEvent('test', 123); + }); + }, 'eventInitDict argument is number'); + + test(function() { + assert_throws(new TypeError(), function() { + new DeviceProximityEvent('test', 'hello'); + }); + }, 'eventInitDict argument is string'); + + //test readonly attribute unrestricted double value; + test(function() { + var event = new DeviceProximityEvent('test'); + assert_idl_attribute(event, 'value', 'must have attribute value'); + }, 'value attribute exist'); + + test(function() { + var event = new DeviceProximityEvent('test'); + assert_readonly(event, 'value', 'readonly attribute value'); + }, 'value attribute is readonly'); + + test(function() { + var event = new DeviceProximityEvent('test'); + assert_equals(event.value, Infinity); + }, 'value initializes to positive Infinity'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: Infinity + }); + assert_equals(event.value, Infinity); + }, 'value set to positive Infinity'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: -Infinity + }); + assert_equals(event.value, -Infinity); + }, 'value set to negative Infinity'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: 0 + }); + assert_equals(event.value, 0); + }, 'value set to 0'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: 1 + }); + assert_equals(event.value, 1); + }, 'value set to 1'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: 0.5 + }); + assert_equals(event.value, 0.5); + }, 'value set to 0.5'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: false + }); + assert_equals(event.value, 0, 'value set to false, converts to 0.'); + }, 'value set to false'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: true + }); + assert_equals(event.value, 1, 'value set to true, converts to 1.'); + }, 'value set to true'); + + + test(function() { + var prop = { + value: undefined + }; + try { + var event = new DeviceProximityEvent('test', prop); + assert_true(isNaN(event.value)); + } catch(e) { + assert_unreached('error message: ' + e.message); + } + }, 'value of undefined resolves to NaN'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: null + }); + assert_equals(event.value, 0, 'value resolves to 0'); + }, 'value of null resolves to 0'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: '' + }); + assert_equals(event.value, 0, 'value must resolve to 0'); + }, 'value of empty string must resolve to 0'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: '\u0020' + }); + assert_equals(event.value, 0, 'value must resolve to 0'); + }, 'value of U+0020 must resolve to 0'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: '\u0020\u0020\u0020\u0020\u0020\u0020' + }); + assert_equals(event.value, 0, 'value must resolve to 0'); + }, 'value of multiple U+0020 must resolve to 0'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: '\u0020\u0020\u00201234\u0020\u0020\u0020' + }); + assert_equals(event.value, 1234, 'converts to 1234'); + }, 'value converts to 1234'); + + test(function() { + var event = new DeviceProximityEvent('test', { + value: [] + }); + assert_equals(event.value, 0, 'converts to 0'); + }, 'value converts to 0'); + + + test(function() { + var prop = { + value: {} + }; + try { + var event = new DeviceProximityEvent('test', prop); + assert_true(isNaN(event.value)); + } catch(e) { + assert_unreached('error message: ' + e.message); + } + }, 'value of {} resolves to NaN'); + + test(function() { + var prop = { + get value() { + return NaN; + } + }; + try { + var event = new DeviceProximityEvent('test', prop); + assert_true(isNaN(event.value)); + } catch(e) { + assert_unreached('error message: ' + e.message); + } + }, 'value resolves to NaN'); + + test(function() { + var prop = { + get value() { + return '123'; + } + }; + var event = new DeviceProximityEvent('test', prop); + assert_equals(event.value, 123, 'converts to 123'); + }, 'value resolves 123'); + + //test readonly attribute unrestricted double min + test(function() { + var event = new DeviceProximityEvent('test'); + assert_idl_attribute(event, 'min', 'must have attribute min'); + }, 'min attribute exist'); + + test(function() { + var event = new DeviceProximityEvent('test'); + assert_readonly(event, 'min', 'readonly attribute min'); + }, 'min attribute is readonly'); + + test(function() { + var event = new DeviceProximityEvent('test'); + assert_equals(event.min, -Infinity); + }, 'min initializes to negative Infinity'); + + //test readonly attribute unrestricted double max; + test(function() { + var event = new DeviceProximityEvent('test'); + assert_idl_attribute(event, 'max', 'must have attribute max'); + }, 'max attribute exist'); + + test(function() { + var event = new DeviceProximityEvent('test'); + assert_readonly(event, 'max', 'readonly attribute max'); + }, 'max attribute is readonly'); + + test(function() { + var event = new DeviceProximityEvent('test'); + assert_equals(event.max, Infinity); + }, 'max initializes to positive Infinity'); + + //test attribute EventHandler ondeviceproximity; + test(function() { + var desc = 'Expected to find ondeviceproximity attribute on window object'; + assert_idl_attribute(window, 'ondeviceproximity', desc); + }, 'ondeviceproximity exists'); + + test(function() { + var desc = 'window.ondeviceproximity must be null'; + assert_equals(window.ondeviceproximity, null, desc); + }, 'ondeviceproximity is null'); + + test(function() { + var desc = 'window.ondeviceproximity did not accept callable object', + func = function() {}, + descidl = 'Expected to find ondeviceproximity attribute on window object'; + assert_idl_attribute(window, 'ondeviceproximity', descidl); + window.ondeviceproximity = func; + assert_equals(window.ondeviceproximity, func, desc); + }, 'ondeviceproximity is set to function'); + + test(function() { + var desc = 'window.ondeviceproximity did not treat noncallable as null'; + window.ondeviceproximity = function() {}; + window.ondeviceproximity = {}; + assert_equals(window.ondeviceproximity, null, desc); + }, 'treat object as null'); + + test(function() { + var desc = 'window.ondeviceproximity did not treat noncallable as null'; + window.ondeviceproximity = function() {}; + window.ondeviceproximity = { + call: 'test' + }; + assert_equals(window.ondeviceproximity, null, desc); + }, 'treat object with non-callable call property as null'); + + test(function() { + var desc = 'window.ondeviceproximity did not treat noncallable (string) as null'; + window.ondeviceproximity = function() {}; + window.ondeviceproximity = 'string'; + assert_equals(window.ondeviceproximity, null, desc); + }, 'treat string as null'); + + test(function() { + var desc = 'window.ondeviceproximity did not treat noncallable (number) as null'; + window.ondeviceproximity = function() {}; + window.ondeviceproximity = 123; + assert_equals(window.ondeviceproximity, null, desc); + }, 'treat number as null'); + + test(function() { + var desc = 'window.ondeviceproximity did not treat noncallable (undefined) as null'; + window.ondeviceproximity = function() {}; + window.ondeviceproximity = undefined; + assert_equals(window.ondeviceproximity, null, desc); + }, 'treat undefined as null'); + + test(function() { + var desc = 'window.ondeviceproximity did not treat noncallable (array) as null'; + window.ondeviceproximity = function() {}; + window.ondeviceproximity = []; + assert_equals(window.ondeviceproximity, null, desc); + }, 'treat array as null'); + + test(function() { + var desc = 'window.ondeviceproximity did not treat noncallable host object as null'; + window.ondeviceproximity = function() {}; + window.ondeviceproximity = Node; + assert_equals(window.ondeviceproximity, null, desc); + }, 'treat non-callable host object as null'); + + //Async tests + var t = async_test('test if device proximity event received'); + window.addEventListener('deviceproximity', function(e) { + t.step(function() { + var msg = 'expected instance of DeviceProximityEvent: '; + assert_true(e instanceof window.DeviceProximityEvent, msg); + }); + t.done(); + }); + + var t2 = async_test('test if user proximity event received'); + window.ondeviceproximity = function(e) { + t2.step(function() { + var msg = 'expected instance of DeviceProximityEvent: '; + assert_true(e instanceof window.DeviceProximityEvent, msg); + }); + t2.done(); + }; +})(); diff --git a/tests/wpt/web-platform-tests/proximity/UserProximityEvent_tests.html b/tests/wpt/web-platform-tests/proximity/UserProximityEvent_tests.html new file mode 100644 index 00000000000..f58550db0b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/proximity/UserProximityEvent_tests.html @@ -0,0 +1,10 @@ + + + +Proximity Events Test Suite +

                                                                                                                                                                                                                                                                                        Test Suite for Proximity Events

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/proximity/UserProximityEvent_tests.js b/tests/wpt/web-platform-tests/proximity/UserProximityEvent_tests.js new file mode 100644 index 00000000000..cac5bd58617 --- /dev/null +++ b/tests/wpt/web-platform-tests/proximity/UserProximityEvent_tests.js @@ -0,0 +1,342 @@ +(function() { + //inheritance tests + test(function() { + var event = new UserProximityEvent(''); + assert_true(event instanceof window.UserProximityEvent); + }, 'the event is an instance of UserProximityEvent'); + + test(function() { + var event = new UserProximityEvent(''); + assert_true(event instanceof window.Event); + }, 'the event inherits from Event'); + + //Type attribute tests + test(function() { + assert_throws(new TypeError(), function() { + new UserProximityEvent(); + }, 'First argument is required, so was expecting a TypeError.'); + }, 'Missing type argument'); + + test(function() { + var event = new UserProximityEvent(undefined); + assert_equals(event.type, 'undefined'); + }, 'Event type set to undefined'); + + test(function() { + var event = new UserProximityEvent(null); + assert_equals(event.type, 'null'); + }, 'type argument is null'); + + test(function() { + var event = new UserProximityEvent(123); + assert_equals(event.type, '123'); + }, 'type argument is number'); + + test(function() { + var event = new UserProximityEvent(new Number(123)); + assert_equals(event.type, '123'); + }, 'type argument is Number'); + + test(function() { + var event = new UserProximityEvent([]); + assert_equals(event.type, ''); + }, 'type argument is array'); + + test(function() { + var event = new UserProximityEvent(new Array()); + assert_equals(event.type, ''); + }, 'type argument is instance of Array'); + + test(function() { + var event = new UserProximityEvent(['t', ['e', ['s', ['t']]]]); + assert_equals(event.type, 't,e,s,t'); + }, 'type argument is nested array'); + + test(function() { + var event = new UserProximityEvent(Math); + assert_equals(event.type, '[object Math]'); + }, 'type argument is host object'); + + test(function() { + var event = new UserProximityEvent(true); + assert_equals(event.type, 'true'); + }, 'type argument is boolean (true)'); + + test(function() { + var event = new UserProximityEvent(new Boolean(true)); + assert_equals(event.type, 'true'); + }, 'type argument is instance of Boolean (true)'); + + test(function() { + var event = new UserProximityEvent(false); + assert_equals(event.type, 'false'); + }, 'type argument is boolean (false)'); + + test(function() { + var event = new UserProximityEvent(new Boolean(false)); + assert_equals(event.type, 'false'); + }, 'type argument is instance of Boolean (false)'); + + test(function() { + var event = new UserProximityEvent('test'); + assert_equals(event.type, 'test'); + }, 'type argument is string'); + + test(function() { + var event = new UserProximityEvent(new String('test')); + assert_equals(event.type, 'test'); + }, 'type argument is instance of String'); + + test(function() { + var event = new UserProximityEvent(function test() {}); + assert_regexp_match(event.type, /function test.+{\s?}/); + }, 'type argument is function'); + + test(function() { + var event = new UserProximityEvent({ + toString: function() { + return '123'; + } + }); + assert_equals(event.type, '123'); + }, 'type argument is complext object, with toString method'); + + test(function() { + assert_throws(new TypeError(), function() { + new UserProximityEvent({ + toString: function() { + return function() {} + } + }); + }); + }, 'toString is of type function'); + + //eventInitDict attribute tests + test(function() { + var event = new UserProximityEvent('test', undefined); + assert_false(event.near); + }, 'eventInitDict argument sets to undefined'); + + test(function() { + var event = new UserProximityEvent('test', null); + assert_false(event.near); + }, 'eventInitDict argument is null'); + + test(function() { + var date = new Date(); + assert_throws(new TypeError(), function() { + new UserProximityEvent('test', date); + }); + }, 'eventInitDict argument is Date object'); + + test(function() { + var regexp = /abc/; + assert_throws(new TypeError(), function() { + new UserProximityEvent('test', regexp); + }); + }, 'eventInitDict argument is RegExp object'); + + test(function() { + assert_throws(new TypeError(), function() { + new UserProximityEvent('test', false); + }); + }, 'eventInitDict argument is boolean'); + + test(function() { + assert_throws(new TypeError(), function() { + new UserProximityEvent('test', 123); + }); + }, 'eventInitDict argument is number'); + + test(function() { + assert_throws(new TypeError(), function() { + new UserProximityEvent('test', 'hello'); + }); + }, 'eventInitDict argument is string'); + + //test readonly attribute boolean near; + test(function() { + var event = new UserProximityEvent('test'); + assert_idl_attribute(event, 'near', 'must have attribute near'); + }, 'must have attribute near'); + + test(function() { + var event = new UserProximityEvent('test'); + assert_readonly(event, 'near', 'readonly attribute near'); + }, 'near is readonly'); + + test(function() { + var event = new UserProximityEvent('test'); + assert_false(event.near, 'near initializes to false'); + }, 'near initializes to false'); + + test(function() { + var event = new UserProximityEvent('test', { + near: false + }); + assert_false(event.near, 'near set to false'); + }, 'near set to false'); + + test(function() { + var event = new UserProximityEvent('test', { + near: true + }); + assert_true(event.near, 'near set to true'); + }, 'near set to true'); + + test(function() { + var event = new UserProximityEvent('test', { + near: undefined + }); + assert_false(event.near, 'argument is truthy'); + }, 'near set to undefined'); + + test(function() { + var event = new UserProximityEvent('test', { + near: null + }); + assert_false(event.near, 'argument is flasy'); + }, 'near set to null'); + + test(function() { + var event = new UserProximityEvent('test', { + near: 0 + }); + assert_false(event.near, 'argument is flasy'); + }, 'near set to 0'); + + test(function() { + var event = new UserProximityEvent('test', { + near: '' + }); + assert_false(event.near, 'argument is flasy'); + }, 'near set to empty string'); + + test(function() { + var event = new UserProximityEvent('test', { + near: '\u0020' + }); + assert_true(event.near, 'argument is truthy'); + }, 'near set to U+0020'); + + test(function() { + var event = new UserProximityEvent('test', { + near: 1 + }); + assert_true(event.near, 'argument is truthy'); + }, 'near set to 1'); + + test(function() { + var event = new UserProximityEvent('test', { + near: [] + }); + assert_true(event.near, 'argument is truthy'); + }, 'near set to []'); + + test(function() { + var event = new UserProximityEvent('test', { + near: {} + }); + assert_true(event.near, 'argument is truthy'); + }, 'near set to {}'); + + test(function() { + var dict = { + get test() { + return false; + } + }; + var event = new UserProximityEvent('test', { + near: dict.test + }); + assert_false(event.near, 'explict false'); + }, 'near set to object that resolves to false'); + + test(function() { + var desc = 'Expected to find onuserproximity attribute on window object'; + assert_idl_attribute(window, 'onuserproximity', desc); + }, 'onuserproximity exists'); + + test(function() { + var desc = 'window.onuserproximity must be null'; + assert_equals(window.onuserproximity, null, desc); + }, 'onuserproximity is null'); + + test(function() { + var desc = 'window.onuserproximity did not accept callable object', + func = function() {}, + descidl = 'onuserproximity does not exist'; + window.onuserproximity = func; + assert_equals(window.onuserproximity, func, descidl); + }, 'onuserproximity exists and can be set to a function'); + + test(function() { + var desc = 'window.onuserproximity did not treat noncallable as null'; + window.onuserproximity = function() {}; + window.onuserproximity = {}; + assert_equals(window.onuserproximity, null, desc); + }, 'treat object as null'); + + test(function() { + var desc = 'window.onuserproximity did not treat noncallable as null'; + window.onuserproximity = function() {}; + window.onuserproximity = { + call: 'test' + }; + assert_equals(window.onuserproximity, null, desc); + }, 'treat object with non-callable call property as null'); + + test(function() { + var desc = 'window.onuserproximity did not treat noncallable (string) as null'; + window.onuserproximity = function() {}; + window.onuserproximity = 'string'; + assert_equals(window.onuserproximity, null, desc); + }, 'treat string as null'); + + test(function() { + var desc = 'window.onuserproximity did not treat noncallable (number) as null'; + window.onuserproximity = function() {}; + window.onuserproximity = 123; + assert_equals(window.onuserproximity, null, desc); + }, 'treat number as null'); + + test(function() { + var desc = 'window.onuserproximity did not treat noncallable (undefined) as null'; + window.onuserproximity = function() {}; + window.onuserproximity = undefined; + assert_equals(window.onuserproximity, null, desc); + }, 'treat undefined as null'); + + test(function() { + var desc = 'window.onuserproximity did not treat noncallable (array) as null'; + window.onuserproximity = function() {}; + window.onuserproximity = []; + assert_equals(window.onuserproximity, null, desc); + }, 'treat array as null'); + + test(function() { + var desc = 'window.onuserproximity did not treat noncallable host object as null'; + window.onuserproximity = function() {}; + window.onuserproximity = Node; + assert_equals(window.onuserproximity, null, desc); + }, 'treat non-callable host object as null'); + + //Async tests + var t = async_test('test if user proximity event received'); + window.addEventListener('userproximity', function(e) { + t.step(function() { + var msg = 'expected instance of UserProximityEvent: '; + assert_true(e instanceof window.UserProximityEvent, msg); + }); + t.done(); + }); + + var t2 = async_test('test if user proximity event received (idl attribute)'); + window.onuserproximity = function(e) { + t2.step(function() { + var msg = 'expected instance of UserProximityEvent: '; + assert_true(e instanceof window.UserProximityEvent, msg); + }); + t2.done(); + }; +})(); diff --git a/tests/wpt/web-platform-tests/proximity/idlharness.html b/tests/wpt/web-platform-tests/proximity/idlharness.html new file mode 100644 index 00000000000..a84b54af462 --- /dev/null +++ b/tests/wpt/web-platform-tests/proximity/idlharness.html @@ -0,0 +1,76 @@ + + +Proximity Events IDL tests + + + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +interface Window {
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +interface Event {
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +dictionary EventInit {
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +partial interface Window {
                                                                                                                                                                                                                                                                                        +                attribute EventHandler ondeviceproximity;
                                                                                                                                                                                                                                                                                        +                attribute EventHandler onuserproximity;
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +dictionary DeviceProximityEventInit : EventInit {
                                                                                                                                                                                                                                                                                        +    double value;
                                                                                                                                                                                                                                                                                        +    double min;
                                                                                                                                                                                                                                                                                        +    double max;
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +[Constructor (DOMString type, optional DeviceProximityEventInit eventInitDict)]
                                                                                                                                                                                                                                                                                        +interface DeviceProximityEvent : Event {
                                                                                                                                                                                                                                                                                        +    readonly    attribute unrestricted double value;
                                                                                                                                                                                                                                                                                        +    readonly    attribute unrestricted double min;
                                                                                                                                                                                                                                                                                        +    readonly    attribute unrestricted double max;
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +dictionary UserProximityEventInit : EventInit {
                                                                                                                                                                                                                                                                                        +    boolean near;
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +[Constructor (DOMString type, optional UserProximityEventInit eventInitDict)]
                                                                                                                                                                                                                                                                                        +interface UserProximityEvent : Event {
                                                                                                                                                                                                                                                                                        +    readonly    attribute boolean near;
                                                                                                                                                                                                                                                                                        +};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/quirks-mode/active-and-hover-manual.html b/tests/wpt/web-platform-tests/quirks-mode/active-and-hover-manual.html new file mode 100644 index 00000000000..f334d88fb73 --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/active-and-hover-manual.html @@ -0,0 +1,182 @@ + + + + The :active and :hover quirk + + + + + +

                                                                                                                                                                                                                                                                                        Click on the boxes below (using a pointing device).

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        quirks: + +

                                                                                                                                                                                                                                                                                        almost: + +

                                                                                                                                                                                                                                                                                        standards: + + + + + diff --git a/tests/wpt/web-platform-tests/quirks-mode/blocks-ignore-line-height.html b/tests/wpt/web-platform-tests/quirks-mode/blocks-ignore-line-height.html new file mode 100644 index 00000000000..608a7c15c79 --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/blocks-ignore-line-height.html @@ -0,0 +1,85 @@ + + + + The blocks ignore line-height quirk + + + + + +

                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-a.html b/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-a.html new file mode 100644 index 00000000000..c8ed1903fd8 --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-a.html @@ -0,0 +1,34 @@ + + +The font element text decoration color quirk, 001, almost standards mode + +
                                                                                                                                                                                                                                                                                        Quirk should apply:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color=x and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color=transparent and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color="" and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo block bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo line-through bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo overline bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Quirks should not apply:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo span bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL (script didn't run)
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        FAIL (script didn't run)
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-q.html b/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-q.html new file mode 100644 index 00000000000..9025e728991 --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-q.html @@ -0,0 +1,33 @@ + +The font element text decoration color quirk, 001, quirks mode + +
                                                                                                                                                                                                                                                                                        Quirk should apply:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color=x and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color=transparent and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color="" and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo block bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo line-through bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo overline bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Quirks should not apply:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo span bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL (script didn't run)
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        FAIL (script didn't run)
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-ref.html b/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-ref.html new file mode 100644 index 00000000000..a6fec366db2 --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-ref.html @@ -0,0 +1,21 @@ +Reference for The font element text decoration color quirk, 001 + +
                                                                                                                                                                                                                                                                                        Quirk should apply:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color=x and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color=transparent and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color="" and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo
                                                                                                                                                                                                                                                                                        block
                                                                                                                                                                                                                                                                                        bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo line-through bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo overline bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Quirks should not apply:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo span bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo no-namespace font element bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo uppercase FONT element bar
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-s.html b/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-s.html new file mode 100644 index 00000000000..bac80e53bae --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-s.html @@ -0,0 +1,34 @@ + + +The font element text decoration color quirk, 001, standards mode + +
                                                                                                                                                                                                                                                                                        Quirk should apply:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color=x and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color=transparent and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color="" and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo block bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo line-through bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo overline bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Quirks should not apply:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo span bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL (script didn't run)
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        FAIL (script didn't run)
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-x.xhtml b/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-x.xhtml new file mode 100644 index 00000000000..7a5090c366b --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/font-element-text-decoration-color/001-x.xhtml @@ -0,0 +1,23 @@ + + + +The font element text decoration color quirk, 001, XHTML + + + +
                                                                                                                                                                                                                                                                                        Quirk should apply:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color=x and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color=transparent and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo color="" and style bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo block bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo line-through bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo overline bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Quirks should not apply:
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo span bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo no-namespace font element bar
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        foo uppercase FONT element bar
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/quirks-mode/hashless-hex-color.html b/tests/wpt/web-platform-tests/quirks-mode/hashless-hex-color.html new file mode 100644 index 00000000000..8cac7d52926 --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/hashless-hex-color.html @@ -0,0 +1,500 @@ + + + + The hashless hex color quirk + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/quirks-mode/line-height-calculation.html b/tests/wpt/web-platform-tests/quirks-mode/line-height-calculation.html new file mode 100644 index 00000000000..c9289ce31cb --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/line-height-calculation.html @@ -0,0 +1,94 @@ + + + + The line height calculation quirk + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/quirks-mode/percentage-height-calculation.html b/tests/wpt/web-platform-tests/quirks-mode/percentage-height-calculation.html new file mode 100644 index 00000000000..03aae3f3e21 --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/percentage-height-calculation.html @@ -0,0 +1,142 @@ + + + + The percentage height calculation quirk + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/quirks-mode/table-cell-nowrap-minimum-width-calculation.html b/tests/wpt/web-platform-tests/quirks-mode/table-cell-nowrap-minimum-width-calculation.html new file mode 100644 index 00000000000..6b07246e852 --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/table-cell-nowrap-minimum-width-calculation.html @@ -0,0 +1,70 @@ + + + + The table cell nowrap minimum width calculation quirk + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/quirks-mode/table-cell-width-calculation.html b/tests/wpt/web-platform-tests/quirks-mode/table-cell-width-calculation.html new file mode 100644 index 00000000000..09e651e2d00 --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/table-cell-width-calculation.html @@ -0,0 +1,172 @@ + + + + The table cell width calculation quirk + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/quirks-mode/unitless-length.html b/tests/wpt/web-platform-tests/quirks-mode/unitless-length.html new file mode 100644 index 00000000000..b2f05c01049 --- /dev/null +++ b/tests/wpt/web-platform-tests/quirks-mode/unitless-length.html @@ -0,0 +1,226 @@ + + + + The unitless length quirk + + + + + +
                                                                                                                                                                                                                                                                                        + + + + + + diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.css b/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.css new file mode 100644 index 00000000000..8bc8326ba67 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.css @@ -0,0 +1,4 @@ +div#resource_link_css +{ + color:hotpink; +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.html b/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.html new file mode 100644 index 00000000000..167c65c5c45 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.html @@ -0,0 +1,15 @@ + + + + + Child Frame + + + + +

                                                                                                                                                                                                                                                                                        + Child Document +

                                                                                                                                                                                                                                                                                        + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.js b/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.js new file mode 100644 index 00000000000..cf1c1df3920 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.js @@ -0,0 +1,3 @@ +// This is a test script for purposes of testing the +// script initiator type in the Resource Timing feature +var testDummyValue = 0; diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.png b/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.png new file mode 100644 index 00000000000..be211bc3771 Binary files /dev/null and b/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.png differ diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.xml b/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.xml new file mode 100644 index 00000000000..91cd676be6e --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/resource_timing_test0.xml @@ -0,0 +1,6 @@ + + + + Test XML Data + + diff --git a/tests/wpt/web-platform-tests/resource-timing/resources/webperftestharness.js b/tests/wpt/web-platform-tests/resource-timing/resources/webperftestharness.js new file mode 100644 index 00000000000..98b2954bad3 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/resources/webperftestharness.js @@ -0,0 +1,145 @@ +// +// Helper Functions for NavigationTiming W3C tests +// + +var performanceNamespace = window.performance; +var timingAttributes = [ + 'connectEnd', + 'connectStart', + 'domComplete', + 'domContentLoadedEventEnd', + 'domContentLoadedEventStart', + 'domInteractive', + 'domLoading', + 'domainLookupEnd', + 'domainLookupStart', + 'fetchStart', + 'loadEventEnd', + 'loadEventStart', + 'navigationStart', + 'redirectEnd', + 'redirectStart', + 'requestStart', + 'responseEnd', + 'responseStart', + 'unloadEventEnd', + 'unloadEventStart' +]; + +var namespace_check = false; + +// +// All test() functions in the WebPerf test suite should use wp_test() instead. +// +// wp_test() validates the window.performance namespace exists prior to running tests and +// immediately shows a single failure if it does not. +// + +function wp_test(func, msg, properties) +{ + // only run the namespace check once + if (!namespace_check) + { + namespace_check = true; + + if (performanceNamespace === undefined || performanceNamespace == null) + { + // show a single error that window.performance is undefined + test(function() { assert_true(performanceNamespace !== undefined && performanceNamespace != null, "window.performance is defined and not null"); }, "window.performance is defined and not null.", {author:"W3C http://www.w3.org/",help:"http://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute",assert:"The window.performance attribute provides a hosting area for performance related attributes. "}); + } + } + + test(func, msg, properties); +} + +function test_namespace(child_name, skip_root) +{ + if (skip_root === undefined) { + var msg = 'window.performance is defined'; + wp_test(function () { assert_true(performanceNamespace !== undefined, msg); }, msg,{author:"W3C http://www.w3.org/",help:"http://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute",assert:"The window.performance attribute provides a hosting area for performance related attributes. "}); + } + + if (child_name !== undefined) { + var msg2 = 'window.performance.' + child_name + ' is defined'; + wp_test(function() { assert_true(performanceNamespace[child_name] !== undefined, msg2); }, msg2,{author:"W3C http://www.w3.org/",help:"http://www.w3.org/TR/navigation-timing/#sec-window.performance-attribute",assert:"The window.performance attribute provides a hosting area for performance related attributes. "}); + } +} + +function test_attribute_exists(parent_name, attribute_name, properties) +{ + var msg = 'window.performance.' + parent_name + '.' + attribute_name + ' is defined.'; + wp_test(function() { assert_true(performanceNamespace[parent_name][attribute_name] !== undefined, msg); }, msg, properties); +} + +function test_enum(parent_name, enum_name, value, properties) +{ + var msg = 'window.performance.' + parent_name + '.' + enum_name + ' is defined.'; + wp_test(function() { assert_true(performanceNamespace[parent_name][enum_name] !== undefined, msg); }, msg, properties); + + msg = 'window.performance.' + parent_name + '.' + enum_name + ' = ' + value; + wp_test(function() { assert_equals(performanceNamespace[parent_name][enum_name], value, msg); }, msg, properties); +} + +function test_timing_order(attribute_name, greater_than_attribute, properties) +{ + // ensure it's not 0 first + var msg = "window.performance.timing." + attribute_name + " > 0"; + wp_test(function() { assert_true(performanceNamespace.timing[attribute_name] > 0, msg); }, msg, properties); + + // ensure it's in the right order + msg = "window.performance.timing." + attribute_name + " >= window.performance.timing." + greater_than_attribute; + wp_test(function() { assert_true(performanceNamespace.timing[attribute_name] >= performanceNamespace.timing[greater_than_attribute], msg); }, msg, properties); +} + +function test_timing_greater_than(attribute_name, greater_than, properties) +{ + var msg = "window.performance.timing." + attribute_name + " > " + greater_than; + test_greater_than(performanceNamespace.timing[attribute_name], greater_than, msg, properties); +} + +function test_timing_equals(attribute_name, equals, msg, properties) +{ + var test_msg = msg || "window.performance.timing." + attribute_name + " == " + equals; + test_equals(performanceNamespace.timing[attribute_name], equals, test_msg, properties); +} + +// +// Non-test related helper functions +// + +function sleep_milliseconds(n) +{ + var start = new Date().getTime(); + while (true) { + if ((new Date().getTime() - start) >= n) break; + } +} + +// +// Common helper functions +// + +function test_true(value, msg, properties) +{ + wp_test(function () { assert_true(value, msg); }, msg, properties); +} + +function test_equals(value, equals, msg, properties) +{ + wp_test(function () { assert_equals(value, equals, msg); }, msg, properties); +} + +function test_greater_than(value, greater_than, msg, properties) +{ + wp_test(function () { assert_true(value > greater_than, msg); }, msg, properties); +} + +function test_greater_or_equals(value, greater_than, msg, properties) +{ + wp_test(function () { assert_true(value >= greater_than, msg); }, msg, properties); +} + +function test_not_equals(value, notequals, msg, properties) +{ + wp_test(function() { assert_true(value !== notequals, msg); }, msg, properties); +} diff --git a/tests/wpt/web-platform-tests/resource-timing/test_resource_timing.html b/tests/wpt/web-platform-tests/resource-timing/test_resource_timing.html new file mode 100644 index 00000000000..f4e851abb20 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/test_resource_timing.html @@ -0,0 +1,24 @@ + + + + + window.performance Resource Timing Entries exist + + + + + + + +

                                                                                                                                                                                                                                                                                        Description

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + NOTE: Due to caching behavior in the browser, it is possible that when revisiting this page, some resources + may not have to be fetched from the network. As a result, the performance timeline will not contain entries + for these resources. This test will fail if any entries are missing to ensure that all resources are fetched + from the network and entries for these resources exist in the Performance Timeline. If revisiting this page, + please either perform a full reload of the page or clear the cache between visits. +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/resource-timing/test_resource_timing.js b/tests/wpt/web-platform-tests/resource-timing/test_resource_timing.js new file mode 100644 index 00000000000..0072d50e58a --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/test_resource_timing.js @@ -0,0 +1,182 @@ +var TEST_ALLOWED_TIMING_DELTA = 20; + +var waitTimer; +var expectedEntries = {}; + +var initiatorTypes = ["iframe", "img", "link", "script", "xmlhttprequest"]; + +var tests = {}; +setup(function() { + for (var i in initiatorTypes) { + var type = initiatorTypes[i]; + tests[type] = { + "entry": async_test("window.performance.getEntriesByName() and window.performance.getEntriesByNameType() return same data (" + type + ")"), + "simple_attrs": async_test("PerformanceEntry has correct name, initiatorType, startTime, and duration (" + type + ")"), + "timing_attrs": async_test("PerformanceEntry has correct order of timing attributes (" + type + ")") + }; + } +}); + +function resolve(path) { + var a = document.createElement("a"); + a.href = path; + return a.href; +} + +onload = function() +{ + // check that the Performance Timeline API exists + test(function() { + assert_idl_attribute(window.performance, "getEntriesByName", + "window.performance.getEntriesByName() is defined"); + }); + test(function() { + assert_idl_attribute(window.performance, "getEntriesByType", + "window.performance.getEntriesByType() is defined"); + }); + test(function() { + assert_idl_attribute(window.performance, "getEntries", + "window.performance.getEntries() is defined"); + }); + + var expected_entry; + var url; + var type; + var startTime; + var element; + for (var i in initiatorTypes) { + startTime = window.performance.now(); + type = initiatorTypes[i]; + if (type != "xmlhttprequest") { + element = document.createElement(type); + } else { + element = null; + } + switch (type) { + case "iframe": + url = resolve("resources/resource_timing_test0.html"); + element.src = url; + break; + case "img": + url = resolve("resources/resource_timing_test0.png"); + element.src = url; + break; + case "link": + element.rel = "stylesheet"; + url = resolve("resources/resource_timing_test0.css"); + element.href = url; + break; + case "script": + element.type = "text/javascript"; + url = resolve("resources/resource_timing_test0.js"); + element.src = url; + break; + case "xmlhttprequest": + var xmlhttp = new XMLHttpRequest(); + url = resolve("resources/resource_timing_test0.xml"); + xmlhttp.open('GET', url, true); + xmlhttp.send(); + break; + } + + expected_entry = {name:url, + startTime: startTime, + initiatorType: type}; + + switch (type) { + case "link": + poll_for_stylesheet_load(expected_entry); + document.body.appendChild(element); + break; + case "xmlhttprequest": + xmlhttp.onload = (function(entry) { + return function (event) { + resource_load(entry); + }; + })(expected_entry); + break; + default: + element.onload = (function(entry) { + return function (event) { + resource_load(entry); + }; + })(expected_entry); + document.body.appendChild(element); + } + + } +}; + +function poll_for_stylesheet_load(expected_entry) { + function inner() { + for(var i=0; i 0; + } catch(e) { + hasRules = false; + } + if (hasRules) { + setTimeout(function() { + resource_load(expected_entry); + }, 200); + return; + } + } + } + setTimeout(inner, 100); + } + inner(); +} + +function resource_load(expected) +{ + var t = tests[expected.initiatorType]; + + t["entry"].step(function() { + var entries_by_name = window.performance.getEntriesByName(expected.name); + assert_equals(entries_by_name.length, 1, "should have a single entry for each resource (without type)"); + var entries_by_name_type = window.performance.getEntriesByName(expected.name, "resource"); + assert_equals(entries_by_name_type.length, 1, "should have a single entry for each resource (with type)"); + assert_not_equals(entries_by_name, entries_by_name_type, "values should be copies"); + for (p in entries_by_name[0]) { + assert_equals(entries_by_name[0][p], entries_by_name_type[0][p], "Property " + p + " should match"); + } + this.done(); + }); + + t["simple_attrs"].step(function() { + var actual = window.performance.getEntriesByName(expected.name)[0]; + var expected_type = expected.initiatorType; + if (expected.initiatorType == "iframe") { + expected_type = "subdocument"; + } + assert_equals(actual.name, expected.name); + assert_equals(actual.initiatorType, expected_type); + assert_equals(actual.entryType, "resource"); + assert_greater_than_equal(actual.startTime, expected.startTime, "startTime is after the script to initiate the load ran"); + assert_equals(actual.duration, (actual.responseEnd - actual.startTime)); + this.done(); + }); + + t["timing_attrs"].step(function test() { + var actual = window.performance.getEntriesByName(expected.name)[0]; + assert_equals(actual.redirectStart, 0, "redirectStart time"); + assert_equals(actual.redirectEnd, 0, "redirectEnd time"); + assert_true(actual.secureConnectionStart == undefined || + actual.secureConnectionStart == 0, "secureConnectionStart time"); + assert_equals(actual.fetchStart, actual.startTime, "fetchStart is equal to startTime"); + assert_greater_than_equal(actual.domainLookupStart, actual.fetchStart, "domainLookupStart after fetchStart"); + assert_greater_than_equal(actual.domainLookupEnd, actual.domainLookupStart, "domainLookupEnd after domainLookupStart"); + assert_greater_than_equal(actual.connectStart, actual.domainLookupEnd, "connectStart after domainLookupEnd"); + assert_greater_than_equal(actual.connectEnd, actual.connectStart, "connectEnd after connectStart"); + assert_greater_than_equal(actual.requestStart, actual.connectEnd, "requestStart after connectEnd"); + assert_greater_than_equal(actual.responseStart, actual.requestStart, "responseStart after requestStart"); + assert_greater_than_equal(actual.responseEnd, actual.responseStart, "responseEnd after responseStart"); + this.done(); + }); + +} diff --git a/tests/wpt/web-platform-tests/resources/.gitignore b/tests/wpt/web-platform-tests/resources/.gitignore new file mode 100644 index 00000000000..04fdeda1cc4 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/.gitignore @@ -0,0 +1,3 @@ +ROBIN-TODO.txt +scratch +node_modules diff --git a/tests/wpt/web-platform-tests/resources/.gitmodules b/tests/wpt/web-platform-tests/resources/.gitmodules new file mode 100644 index 00000000000..89035729d51 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/.gitmodules @@ -0,0 +1,3 @@ +[submodule "webidl2"] + path = webidl2 + url = https://github.com/darobin/webidl2.js.git diff --git a/tests/wpt/web-platform-tests/resources/.htaccess b/tests/wpt/web-platform-tests/resources/.htaccess new file mode 100644 index 00000000000..fd46101ca00 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/.htaccess @@ -0,0 +1,2 @@ +# make tests that use utf-16 not inherit the encoding for testharness.js et. al. +AddCharset utf-8 .css .js diff --git a/tests/wpt/web-platform-tests/resources/apisample-error-worker.js b/tests/wpt/web-platform-tests/resources/apisample-error-worker.js new file mode 100644 index 00000000000..c0285c37d5a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample-error-worker.js @@ -0,0 +1,3 @@ +importScripts("testharness.js"); + +throw new Error("This failure is expected."); diff --git a/tests/wpt/web-platform-tests/resources/apisample-worker.js b/tests/wpt/web-platform-tests/resources/apisample-worker.js new file mode 100644 index 00000000000..6fd1ceb5376 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample-worker.js @@ -0,0 +1,34 @@ +importScripts("testharness.js"); + +test( + function(test) { + assert_true(true, "True is true"); + }, + "Worker test that completes successfully"); + +test( + function(test) { + assert_true(false, "Failing test"); + }, + "Worker test that fails ('FAIL')"); + +async_test( + function(test) { + assert_true(true, "True is true"); + }, + "Worker test that times out ('TIMEOUT')"); + +async_test("Worker test that doesn't run ('NOT RUN')"); + +async_test( + function(test) { + self.setTimeout( + function() { + test.done(); + }, + 0); + }, + "Worker async_test that completes successfully"); + +// An explicit done() is required for dedicated and shared web workers. +done(); diff --git a/tests/wpt/web-platform-tests/resources/apisample.htm b/tests/wpt/web-platform-tests/resources/apisample.htm new file mode 100644 index 00000000000..6eb3279f5f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample.htm @@ -0,0 +1,175 @@ + + + +Sample HTML5 API Tests + + + +

                                                                                                                                                                                                                                                                                        Sample HTML5 API Tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/apisample10.html b/tests/wpt/web-platform-tests/resources/apisample10.html new file mode 100644 index 00000000000..a1a7070fbfd --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample10.html @@ -0,0 +1,119 @@ + + + +Async Tests and Promises + + +

                                                                                                                                                                                                                                                                                        Async Tests and Promises

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test assumes ECMAScript 6 Promise support. Some failures are expected.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/resources/apisample11.html b/tests/wpt/web-platform-tests/resources/apisample11.html new file mode 100644 index 00000000000..d33edd79db9 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample11.html @@ -0,0 +1,99 @@ + + + +Example with iframe that notifies containing document via callbacks + + + + +

                                                                                                                                                                                                                                                                                        Callbacks From Tests Running In An IFRAME

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        A test is run inside an iframe with a same origin document. The +containing document should receive callbacks as the tests progress inside the +iframe. A single passing test is expected in the summary below. +

                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/resources/apisample12.html b/tests/wpt/web-platform-tests/resources/apisample12.html new file mode 100644 index 00000000000..e16ebcf44e8 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample12.html @@ -0,0 +1,67 @@ + + + +Example with iframe that notifies containing document via cross document messaging + + + + +

                                                                                                                                                                                                                                                                                        Notifications From Tests Running In An IFRAME

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        A test is run inside an iframe with a same origin document. The +containing document should receive messages via postMessage/ +onmessage as the tests progress inside the iframe. A single +passing test is expected in the summary below. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/resources/apisample13.html b/tests/wpt/web-platform-tests/resources/apisample13.html new file mode 100644 index 00000000000..cddd90fe508 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample13.html @@ -0,0 +1,132 @@ + + + +Promise Tests + + +

                                                                                                                                                                                                                                                                                        Promise Tests

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This test demonstrates the use of promise_test. Assumes ECMAScript 6 +Promise support. Some failures are expected.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/resources/apisample14.html b/tests/wpt/web-platform-tests/resources/apisample14.html new file mode 100644 index 00000000000..3d809f97e7f --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample14.html @@ -0,0 +1,29 @@ + + + +Dedicated Worker Tests + + + + +

                                                                                                                                                                                                                                                                                        Dedicated Web Worker Tests

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Demonstrates running testharness based tests inside a dedicated web worker. +

                                                                                                                                                                                                                                                                                        The test harness is expected to fail due to an uncaught exception in one worker.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/resources/apisample15.html b/tests/wpt/web-platform-tests/resources/apisample15.html new file mode 100644 index 00000000000..0785797d403 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample15.html @@ -0,0 +1,26 @@ + + + +Example with a shared worker + + + + +

                                                                                                                                                                                                                                                                                        Shared Web Worker Tests

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Demonstrates running testharness based tests inside a shared worker. +

                                                                                                                                                                                                                                                                                        The test harness should time out due to one of the tests in the worker timing out. +

                                                                                                                                                                                                                                                                                        This test assumes that the browser supports shared web workers. +

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/resources/apisample16.html b/tests/wpt/web-platform-tests/resources/apisample16.html new file mode 100644 index 00000000000..00be84c7530 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample16.html @@ -0,0 +1,62 @@ + + + +Example with a service worker + + + + +

                                                                                                                                                                                                                                                                                        Service Worker Tests

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Demonstrates running testharness based tests inside a service worker. +

                                                                                                                                                                                                                                                                                        The test harness should time out due to one of the tests inside the worker timing out. +

                                                                                                                                                                                                                                                                                        This test assumes that the browser supports ServiceWorkers. +

                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/resources/apisample2.htm b/tests/wpt/web-platform-tests/resources/apisample2.htm new file mode 100644 index 00000000000..49eed8d9de0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample2.htm @@ -0,0 +1,19 @@ + + + +Sample HTML5 API Tests + + +

                                                                                                                                                                                                                                                                                        Sample HTML5 API Tests

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        There should be two results

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/resources/apisample3.htm b/tests/wpt/web-platform-tests/resources/apisample3.htm new file mode 100644 index 00000000000..80a892b9dd7 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample3.htm @@ -0,0 +1,17 @@ + + + +Sample HTML5 API Tests + + + + +

                                                                                                                                                                                                                                                                                        Sample HTML5 API Tests

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/resources/apisample4.htm b/tests/wpt/web-platform-tests/resources/apisample4.htm new file mode 100644 index 00000000000..731a3cb678f --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample4.htm @@ -0,0 +1,16 @@ + + + +Harness Handling Uncaught Exception + + + + +

                                                                                                                                                                                                                                                                                        Harness Handling Uncaught Exception

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/resources/apisample5.htm b/tests/wpt/web-platform-tests/resources/apisample5.htm new file mode 100644 index 00000000000..3853ccf421b --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample5.htm @@ -0,0 +1,18 @@ + + + +Harness Ignoring Uncaught Exception + + + + +

                                                                                                                                                                                                                                                                                        Harness Ignoring Uncaught Exception

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/resources/apisample6.html b/tests/wpt/web-platform-tests/resources/apisample6.html new file mode 100644 index 00000000000..526e4649d28 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample6.html @@ -0,0 +1,10 @@ + +Example with file_is_test + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/apisample7.html b/tests/wpt/web-platform-tests/resources/apisample7.html new file mode 100644 index 00000000000..03b20efdd1c --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample7.html @@ -0,0 +1,10 @@ + +Example with file_is_test (should fail) + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/apisample8.html b/tests/wpt/web-platform-tests/resources/apisample8.html new file mode 100644 index 00000000000..821320f4509 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample8.html @@ -0,0 +1,8 @@ + +Example single page test with no body + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/apisample9.html b/tests/wpt/web-platform-tests/resources/apisample9.html new file mode 100644 index 00000000000..269a6cf818f --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/apisample9.html @@ -0,0 +1,7 @@ + +Example single page test with no asserts + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/docs/api.md b/tests/wpt/web-platform-tests/resources/docs/api.md new file mode 100644 index 00000000000..4598a9b15a9 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/docs/api.md @@ -0,0 +1,548 @@ +## Introduction ## + +testharness.js provides a framework for writing testcases. It is intended to +provide a convenient API for making common assertions, and to work both +for testing synchronous and asynchronous DOM features in a way that +promotes clear, robust, tests. + +## Basic Usage ## + +The test harness script can be used from HTML or SVG documents and web worker +scripts. + +From an HTML or SVG document, start by importing both `testharness.js` and +`testharnessreport.js` scripts into the document: + + + + +Refer to the [Web Workers](#web-workers) section for details and an example on +testing within a web worker. + +Within each file one may define one or more tests. Each test is atomic in the +sense that a single test has a single result (`PASS`/`FAIL`/`TIMEOUT`/`NOTRUN`). +Within each test one may have a number of asserts. The test fails at the first +failing assert, and the remainder of the test is (typically) not run. + +If the file containing the tests is a HTML file, a table containing the test +results will be added to the document after all tests have run. By default this +will be added to a `div` element with `id=log` if it exists, or a new `div` +element appended to `document.body` if it does not. + +NOTE: By default tests must be created before the load event fires. For ways +to create tests after the load event, see "Determining when all tests +are complete", below. + +## Synchronous Tests ## + +To create a synchronous test use the test() function: + + test(test_function, name, properties) + +`test_function` is a function that contains the code to test. For example a +trivial passing test would be: + + test(function() {assert_true(true)}, "assert_true with true") + +The function passed in is run in the `test()` call. + +`properties` is a javascript object for passing extra options to the +test. Currently it is only used to provide test-specific +metadata, as described in the [metadata](#metadata) section below. + +## Asynchronous Tests ## + +Testing asynchronous features is somewhat more complex since the result of +a test may depend on one or more events or other callbacks. The API provided +for testing these features is indended to be rather low-level but hopefully +applicable to many situations. + +To create a test, one starts by getting a Test object using async_test: + + async_test(name, properties) + +e.g. + var t = async_test("Simple async test") + +Assertions can be added to the test by calling the step method of the test +object with a function containing the test assertions: + + t.step(function() {assert_true(true)}); + +When all the steps are complete, the done() method must be called: + + t.done(); + +As a convenience, async_test can also takes a function as first argument. +This function is called with the test object as both its `this` object and +first argument. The above example can be rewritten as: + + async_test(function(t) { + object.some_event = function() { + t.step(function (){assert_true(true); t.done();}); + }; + }, "Simple async test"); + +which avoids cluttering the global scope with references to async +tests instances. + +The properties argument is identical to that for `test()`. + +In many cases it is convenient to run a step in response to an event or a +callback. A convenient method of doing this is through the step_func method +which returns a function that, when called runs a test step. For example + + object.some_event = t.step_func(function(e) {assert_true(e.a)}); + +For asynchronous callbacks that should never execute, `unreached_func` can +be used. For example: + + object.some_event = t.unreached_func("some_event should not fire"); + +## Promise Tests ## + +`promise_test` can be used to test APIs that are based on Promises: + + promise_test(test_function, name, properties) + +`test_function` is a function that receives a test as an argument and returns a +promise. The test completes when the returned promise resolves. The test fails +if the returned promise rejects. + +E.g.: + + function foo() { + return Promise.resolve("foo"); + } + + promise_test(function() { + return foo() + .then(function(result) { + assert_equals(result, "foo", "foo should return 'foo'"); + }); + }, "Simple example"); + +In the example above, `foo()` returns a Promise that resolves with the string +"foo". The `test_function` passed into `promise_test` invokes `foo` and attaches +a resolve reaction that verifies the returned value. + +Note that in the promise chain constructed in `test_function` assertions don't +need to wrapped in `step` or `step_func` calls. + +`promise_rejects` can be used to test Promises that need to reject: + + promise_rejects(test_object, code, promise) + +The `code` argument is equivalent to the same argument to the `assert_throws` +function. + +Here's an example where the `bar()` function returns a Promise that rejects +with a TypeError: + + function bar() { + return Promise.reject(new TypeError()); + } + + promise_test(function(t) { + return promise_rejects(t, new TypeError(), bar); + }, "Another example"); + +## Single Page Tests ## + +Sometimes, particularly when dealing with asynchronous behaviour, +having exactly one test per page is desirable, and the overhead of +wrapping everything in functions for isolation becomes +burdensome. For these cases `testharness.js` support "single page +tests". + +In order for a test to be interpreted as a single page test, the +it must simply not call `test()` or `async_test()` anywhere on the page, and +must call the `done()` function to indicate that the test is complete. All +the `assert_*` functions are avaliable as normal, but are called without +the normal step function wrapper. For example: + + + Example single-page test + + + + + +The test title for sinple page tests is always taken from `document.title`. + +## Making assertions ## + +Functions for making assertions start `assert_`. The full list of +asserts avaliable is documented in the [asserts](#asserts) section +below.. The general signature is + + assert_something(actual, expected, description) + +although not all assertions precisely match this pattern e.g. `assert_true` +only takes `actual` and `description` as arguments. + +The description parameter is used to present more useful error messages when +a test fails + +NOTE: All asserts must be located in a `test()` or a step of an +`async_test()`, unless the test is a single page test. Asserts outside +these places won't be detected correctly by the harness and may cause +unexpected exceptions that will lead to an error in the harness. + +## Cleanup ## + +Occasionally tests may create state that will persist beyond the test itself. +In order to ensure that tests are independent, such state should be cleaned +up once the test has a result. This can be achieved by adding cleanup +callbacks to the test. Such callbacks are registered using the `add_cleanup` +function on the test object. All registered callbacks will be run as soon as +the test result is known. For example + + test(function() { + window.some_global = "example"; + this.add_cleanup(function() {delete window.some_global}); + assert_true(false); + }); + +## Harness Timeout ## + +The overall harness admits two timeout values `"normal"` (the +default) and `"long"`, used for tests which have an unusually long +runtime. After the timeout is reached, the harness will stop +waiting for further async tests to complete. By default the +timeouts are set to 10s and 60s, respectively, but may be changed +when the test is run on hardware with different performance +characteristics to a common desktop computer. In order to opt-in +to the longer test timeout, the test must specify a meta element: + + + +Occasionally tests may have a race between the harness timing out and +a particular test failing; typically when the test waits for some event +that never occurs. In this case it is possible to use `test.force_timeout()` +in place of `assert_unreached()`, to immediately fail the test but with a +status of `TIMEOUT`. This should only be used as a last resort when it is +not possible to make the test reliable in some other way. + +## Setup ## + +Sometimes tests require non-trivial setup that may fail. For this purpose +there is a `setup()` function, that may be called with one or two arguments. +The two argument version is: + + setup(func, properties) + +The one argument versions may omit either argument. +func is a function to be run synchronously. `setup()` becomes a no-op once +any tests have returned results. Properties are global properties of the test +harness. Currently recognised properties are: + +`explicit_done` - Wait for an explicit call to done() before declaring all +tests complete (see below; implicitly true for single page tests) + +`output_document` - The document to which results should be logged. By default +this is the current document but could be an ancestor document in some cases +e.g. a SVG test loaded in an HTML wrapper + +`explicit_timeout` - disable file timeout; only stop waiting for results +when the `timeout()` function is called (typically for use when integrating +with some existing test framework that has its own timeout mechanism). + +`allow_uncaught_exception` - don't treat an uncaught exception as an error; +needed when e.g. testing the `window.onerror` handler. + +`timeout_multiplier` - Multiplier to apply to per-test timeouts. + +## Determining when all tests are complete ## + +By default the test harness will assume there are no more results to come +when: + + 1. There are no `Test` objects that have been created but not completed + 2. The load event on the document has fired + +This behaviour can be overridden by setting the `explicit_done` property to +true in a call to `setup()`. If `explicit_done` is true, the test harness will +not assume it is done until the global `done()` function is called. Once `done()` +is called, the two conditions above apply like normal. + +Dedicated and shared workers don't have an event that corresponds to the `load` +event in a document. Therefore these worker tests always behave as if the +`explicit_done` property is set to true. Service workers depend on the +[install](https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#service-worker-global-scope-install-event) +event which is fired following the completion of [running the +worker](https://html.spec.whatwg.org/multipage/workers.html#run-a-worker). + +## Generating tests ## + +There are scenarios in which is is desirable to create a large number of +(synchronous) tests that are internally similar but vary in the parameters +used. To make this easier, the `generate_tests` function allows a single +function to be called with each set of parameters in a list: + + generate_tests(test_function, parameter_lists, properties) + +For example: + + generate_tests(assert_equals, [ + ["Sum one and one", 1+1, 2], + ["Sum one and zero", 1+0, 1] + ]) + +Is equivalent to: + + test(function() {assert_equals(1+1, 2)}, "Sum one and one") + test(function() {assert_equals(1+0, 1)}, "Sum one and zero") + +Note that the first item in each parameter list corresponds to the name of +the test. + +The properties argument is identical to that for `test()`. This may be a +single object (used for all generated tests) or an array. + +## Callback API ## + +The framework provides callbacks corresponding to 4 events: + + * `start` - triggered when the first Test is created + * `test_state` - triggered when a test state changes + * `result` - triggered when a test result is recieved + * `complete` - triggered when all results are recieved + +The page defining the tests may add callbacks for these events by calling +the following methods: + + `add_start_callback(callback)` - callback called with no arguments + + `add_test_state_callback(callback)` - callback called with a test argument + + `add_result_callback(callback)` - callback called with a test argument + + `add_completion_callback(callback)` - callback called with an array of tests + and an status object + +tests have the following properties: + + * `status` - A status code. This can be compared to the `PASS`, `FAIL`, + `TIMEOUT` and `NOTRUN` properties on the test object + + * `message` - A message indicating the reason for failure. In the future this + will always be a string + + The status object gives the overall status of the harness. It has the + following properties: + + * `status` - Can be compared to the `OK`, `ERROR` and `TIMEOUT` properties + + * `message` - An error message set when the status is `ERROR` + +## External API ## + +In order to collect the results of multiple pages containing tests, the test +harness will, when loaded in a nested browsing context, attempt to call +certain functions in each ancestor and opener browsing context: + + * start - `start_callback` + * test\_state - `test_state_callback` + * result - `result_callback` + * complete - `completion_callback` + +These are given the same arguments as the corresponding internal callbacks +described above. + +## External API through cross-document messaging ## + +Where supported, the test harness will also send messages using cross-document +messaging to each ancestor and opener browsing context. Since it uses the +wildcard keyword (\*), cross-origin communication is enabled and script on +different origins can collect the results. + +This API follows similar conventions as those described above only slightly +modified to accommodate message event API. Each message is sent by the harness +is passed a single vanilla object, available as the `data` property of the event +object. These objects are structures as follows: + + * start - `{ type: "start" }` + * test\_state - `{ type: "test_state", test: Test }` + * result - `{ type: "result", test: Test }` + * complete - `{ type: "complete", tests: [Test, ...], status: TestsStatus }` + +## Web Workers ## + +The `testharness.js` script can be used from within [dedicated workers, shared +workers](https://html.spec.whatwg.org/multipage/workers.html) and [service +workers](https://slightlyoff.github.io/ServiceWorker/spec/service_worker/). + +Testing from a worker script is different from testing from an HTML document in +several ways: + +* Workers have no reporting capability since they are runing in the background. + Hence they rely on `testharness.js` running in a companion client HTML document + for reporting. + +* Shared and service workers do not have a unique client document since there + could be more than one document that communicates with these workers. So a + client document needs to explicitly connect to a worker and fetch test results + from it using `fetch_tests_from_worker`. This is true even for a dedicated + worker. Once connected, the individual tests running in the worker (or those + that have already run to completion) will be automatically reflected in the + client document. + +* The client document controls the timeout of the tests. All worker scripts act + as if they were started with the `explicit_timeout` option (see the [Harness + timeout](#harness-timeout) section). + +* Dedicated and shared workers don't have an equivalent of an `onload` event. + Thus the test harness has no way to know when all tests have completed (see + [Determining when all tests are + complete](#determining-when-all-tests-are-complete)). So these worker tests + behave as if they were started with the `explicit_done` option. Service + workers depend on the + [oninstall](https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#service-worker-global-scope-install-event) + event and don't require an explicit `done` call. + +Here's an example that uses a dedicated worker. + +`worker.js`: + + importScripts("/resources/testharness.js"); + + test(function(t) { + assert_true(true, "true is true"); + }, "Simple test"); + + // done() is needed because the testharness is running as if explicit_done + // was specified. + done(); + +`test.html`: + + + Simple test + + +
                                                                                                                                                                                                                                                                                        + + +The argument to the `fetch_tests_from_worker` function can be a +[`Worker`](https://html.spec.whatwg.org/multipage/workers.html#dedicated-workers-and-the-worker-interface), +a [`SharedWorker`](https://html.spec.whatwg.org/multipage/workers.html#shared-workers-and-the-sharedworker-interface) +or a [`ServiceWorker`](https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#service-worker-obj). +Once called, the containing document fetches all the tests from the worker and +behaves as if those tests were running in the containing document itself. + +## List of Assertions ## + +### `assert_true(actual, description)` +asserts that `actual` is strictly true + +### `assert_false(actual, description)` +asserts that `actual` is strictly false + +### `assert_equals(actual, expected, description)` +asserts that `actual` is the same value as `expected` + +### `assert_not_equals(actual, expected, description)` +asserts that `actual` is a different value to `expected`. +This means that `expected` is a misnomer. + +### `assert_in_array(actual, expected, description)` +asserts that `expected` is an Array, and `actual` is equal to one of the +members i.e. `expected.indexOf(actual) != -1` + +### `assert_array_equals(actual, expected, description)` +asserts that `actual` and `expected` have the same +length and the value of each indexed property in `actual` is the strictly equal +to the corresponding property value in `expected` + +### `assert_approx_equals(actual, expected, epsilon, description)` +asserts that `actual` is a number within +`- `epsilon` of `expected` + +### `assert_less_than(actual, expected, description)` +asserts that `actual` is a number less than `expected` + +### `assert_greater_than(actual, expected, description)` +asserts that `actual` is a number greater than `expected` + +### `assert_between_exclusive(actual, lower, upper, description` +asserts that `actual` is a number between `lower` and `upper` but not +equal to either of them + +### `assert_less_than_equal(actual, expected, description)` +asserts that `actual` is a number less than or equal to `expected` + +### `assert_greater_than_equal(actual, expected, description)` +asserts that `actual` is a number greater than or equal to `expected` + +### `assert_between_inclusive(actual, lower, upper, description` +asserts that `actual` is a number between `lower` and `upper` or +equal to either of them + +### `assert_regexp_match(actual, expected, description)` +asserts that `actual` matches the regexp `expected` + +### `assert_class_string(object, class_name, description)` +asserts that the class string of `object` as returned in +`Object.prototype.toString` is equal to `class_name`. + +### `assert_own_property(object, property_name, description)` +assert that object has own property `property_name` + +### `assert_inherits(object, property_name, description)` +assert that object does not have an own property named +`property_name` but that `property_name` is present in the prototype +chain for object + +### `assert_idl_attribute(object, attribute_name, description)` +assert that an object that is an instance of some interface has the +attribute attribute_name following the conditions specified by WebIDL + +### `assert_readonly(object, property_name, description)` +assert that property `property_name` on object is readonly + +### `assert_throws(code, func, description)` +`code` - the expected exception. This can take several forms: + + * string - the thrown exception must be a DOMException with the given + name, e.g., "TimeoutError" (for compatibility with existing + tests, a constant is also supported, e.g., "TIMEOUT_ERR") + * object - the thrown exception must have a property called "name" that + matches code.name + * null - allow any exception (in general, one of the options above + should be used) + +`func` - a function that should throw + +### `assert_unreached(description)` +asserts if called. Used to ensure that some codepath is *not* taken e.g. +an event does not fire. + +### `assert_any(assert_func, actual, expected_array, extra_arg_1, ... extra_arg_N)` +asserts that one `assert_func(actual, expected_array_N, extra_arg1, ..., extra_arg_N)` + is true for some `expected_array_N` in `expected_array`. This only works for `assert_func` + with signature `assert_func(actual, expected, args_1, ..., args_N)`. Note that tests + with multiple allowed pass conditions are bad practice unless the spec specifically + allows multiple behaviours. Test authors should not use this method simply to hide + UA bugs. + +### `assert_exists(object, property_name, description)` +**deprecated** +asserts that object has an own property `property_name` + +### `assert_not_exists(object, property_name, description)` +**deprecated** +assert that object does not have own property `property_name` + +## Metadata ## + +It is possible to add optional metadata to tests; this can be done in +one of two ways; either by adding `` elements to the head of the +document containing the tests, or by adding the metadata to individual +`[async_]test` calls, as properties. diff --git a/tests/wpt/web-platform-tests/resources/docs/idlharness.md b/tests/wpt/web-platform-tests/resources/docs/idlharness.md new file mode 100644 index 00000000000..52f590070cd --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/docs/idlharness.md @@ -0,0 +1,118 @@ +## Introduction ## + +`idlharness.js` automatically generates browser tests for WebIDL interfaces, using +the testharness.js framework. To use, first include the following: + + + + + + +Then you'll need some type of IDLs. Here's some script that can be run on a +spec written in HTML, which will grab all the elements with `class="idl"`, +concatenate them, and replace the body so you can copy-paste: + + var s = ""; + [].forEach.call(document.getElementsByClassName("idl"), function(idl) { + //https://www.w3.org/Bugs/Public/show_bug.cgi?id=14914 + if (!idl.classList.contains("extract")) + { + s += idl.textContent + "\n\n"; + } + }); + document.body.innerHTML = '
                                                                                                                                                                                                                                                                                        ';
                                                                                                                                                                                                                                                                                        +    document.body.firstChild.textContent = s;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +Once you have that, put it in your script somehow.  The easiest way is to
                                                                                                                                                                                                                                                                                        +embed it literally in an HTML file with `
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +```
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +## Full documentation ##
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +Full user documentation for the API is in the
                                                                                                                                                                                                                                                                                        +[docs/api.md](https://github.com/w3c/testharness.js/blob/master/docs/api.md) file.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +You can also read a tutorial on 
                                                                                                                                                                                                                                                                                        +[Using testharness.js](http://darobin.github.com/test-harness-tutorial/docs/using-testharness.html).
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/resources/testharness.css b/tests/wpt/web-platform-tests/resources/testharness.css
                                                                                                                                                                                                                                                                                        new file mode 100644
                                                                                                                                                                                                                                                                                        index 00000000000..e2ed5a043f9
                                                                                                                                                                                                                                                                                        --- /dev/null
                                                                                                                                                                                                                                                                                        +++ b/tests/wpt/web-platform-tests/resources/testharness.css
                                                                                                                                                                                                                                                                                        @@ -0,0 +1,102 @@
                                                                                                                                                                                                                                                                                        +html {
                                                                                                                                                                                                                                                                                        +    font-family:DejaVu Sans, Bitstream Vera Sans, Arial, Sans;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +#log .warning,
                                                                                                                                                                                                                                                                                        +#log .warning a {
                                                                                                                                                                                                                                                                                        +  color: black;
                                                                                                                                                                                                                                                                                        +  background: yellow;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +#log .error,
                                                                                                                                                                                                                                                                                        +#log .error a {
                                                                                                                                                                                                                                                                                        +  color: white;
                                                                                                                                                                                                                                                                                        +  background: red;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +section#summary {
                                                                                                                                                                                                                                                                                        +    margin-bottom:1em;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +table#results {
                                                                                                                                                                                                                                                                                        +    border-collapse:collapse;
                                                                                                                                                                                                                                                                                        +    table-layout:fixed;
                                                                                                                                                                                                                                                                                        +    width:100%;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +table#results th:first-child,
                                                                                                                                                                                                                                                                                        +table#results td:first-child {
                                                                                                                                                                                                                                                                                        +    width:4em;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +table#results th:last-child,
                                                                                                                                                                                                                                                                                        +table#results td:last-child {
                                                                                                                                                                                                                                                                                        +    width:50%;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +table#results.assertions th:last-child,
                                                                                                                                                                                                                                                                                        +table#results.assertions td:last-child {
                                                                                                                                                                                                                                                                                        +    width:35%;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +table#results th {
                                                                                                                                                                                                                                                                                        +    padding:0;
                                                                                                                                                                                                                                                                                        +    padding-bottom:0.5em;
                                                                                                                                                                                                                                                                                        +    border-bottom:medium solid black;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +table#results td {
                                                                                                                                                                                                                                                                                        +    padding:1em;
                                                                                                                                                                                                                                                                                        +    padding-bottom:0.5em;
                                                                                                                                                                                                                                                                                        +    border-bottom:thin solid black;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +tr.pass > td:first-child {
                                                                                                                                                                                                                                                                                        +    color:green;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +tr.fail > td:first-child {
                                                                                                                                                                                                                                                                                        +    color:red;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +tr.timeout > td:first-child {
                                                                                                                                                                                                                                                                                        +    color:red;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +tr.notrun > td:first-child {
                                                                                                                                                                                                                                                                                        +    color:blue;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +.pass > td:first-child, .fail > td:first-child, .timeout > td:first-child, .notrun > td:first-child {
                                                                                                                                                                                                                                                                                        +    font-variant:small-caps;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +table#results span {
                                                                                                                                                                                                                                                                                        +    display:block;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +table#results span.expected {
                                                                                                                                                                                                                                                                                        +    font-family:DejaVu Sans Mono, Bitstream Vera Sans Mono, Monospace;
                                                                                                                                                                                                                                                                                        +    white-space:pre;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +table#results span.actual {
                                                                                                                                                                                                                                                                                        +    font-family:DejaVu Sans Mono, Bitstream Vera Sans Mono, Monospace;
                                                                                                                                                                                                                                                                                        +    white-space:pre;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +span.ok {
                                                                                                                                                                                                                                                                                        +    color:green;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +tr.error {
                                                                                                                                                                                                                                                                                        +    color:red;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +span.timeout {
                                                                                                                                                                                                                                                                                        +    color:red;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +span.ok, span.timeout, span.error {
                                                                                                                                                                                                                                                                                        +    font-variant:small-caps;
                                                                                                                                                                                                                                                                                        +}
                                                                                                                                                                                                                                                                                        \ No newline at end of file
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/resources/testharness.js b/tests/wpt/web-platform-tests/resources/testharness.js
                                                                                                                                                                                                                                                                                        new file mode 100644
                                                                                                                                                                                                                                                                                        index 00000000000..ab88e541fcb
                                                                                                                                                                                                                                                                                        --- /dev/null
                                                                                                                                                                                                                                                                                        +++ b/tests/wpt/web-platform-tests/resources/testharness.js
                                                                                                                                                                                                                                                                                        @@ -0,0 +1,2427 @@
                                                                                                                                                                                                                                                                                        +/*global self*/
                                                                                                                                                                                                                                                                                        +/*jshint latedef: nofunc*/
                                                                                                                                                                                                                                                                                        +/*
                                                                                                                                                                                                                                                                                        +Distributed under both the W3C Test Suite License [1] and the W3C
                                                                                                                                                                                                                                                                                        +3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
                                                                                                                                                                                                                                                                                        +policies and contribution forms [3].
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
                                                                                                                                                                                                                                                                                        +[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
                                                                                                                                                                                                                                                                                        +[3] http://www.w3.org/2004/10/27-testcases
                                                                                                                                                                                                                                                                                        +*/
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +/* Documentation is in docs/api.md */
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +(function ()
                                                                                                                                                                                                                                                                                        +{
                                                                                                                                                                                                                                                                                        +    var debug = false;
                                                                                                                                                                                                                                                                                        +    // default timeout is 10 seconds, test can override if needed
                                                                                                                                                                                                                                                                                        +    var settings = {
                                                                                                                                                                                                                                                                                        +        output:true,
                                                                                                                                                                                                                                                                                        +        harness_timeout:{
                                                                                                                                                                                                                                                                                        +            "normal":10000,
                                                                                                                                                                                                                                                                                        +            "long":60000
                                                                                                                                                                                                                                                                                        +        },
                                                                                                                                                                                                                                                                                        +        test_timeout:null
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    var xhtml_ns = "http://www.w3.org/1999/xhtml";
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * TestEnvironment is an abstraction for the environment in which the test
                                                                                                                                                                                                                                                                                        +     * harness is used. Each implementation of a test environment has to provide
                                                                                                                                                                                                                                                                                        +     * the following interface:
                                                                                                                                                                                                                                                                                        +     *
                                                                                                                                                                                                                                                                                        +     * interface TestEnvironment {
                                                                                                                                                                                                                                                                                        +     *   // Invoked after the global 'tests' object has been created and it's
                                                                                                                                                                                                                                                                                        +     *   // safe to call add_*_callback() to register event handlers.
                                                                                                                                                                                                                                                                                        +     *   void on_tests_ready();
                                                                                                                                                                                                                                                                                        +     *
                                                                                                                                                                                                                                                                                        +     *   // Invoked after setup() has been called to notify the test environment
                                                                                                                                                                                                                                                                                        +     *   // of changes to the test harness properties.
                                                                                                                                                                                                                                                                                        +     *   void on_new_harness_properties(object properties);
                                                                                                                                                                                                                                                                                        +     *
                                                                                                                                                                                                                                                                                        +     *   // Should return a new unique default test name.
                                                                                                                                                                                                                                                                                        +     *   DOMString next_default_test_name();
                                                                                                                                                                                                                                                                                        +     *
                                                                                                                                                                                                                                                                                        +     *   // Should return the test harness timeout duration in milliseconds.
                                                                                                                                                                                                                                                                                        +     *   float test_timeout();
                                                                                                                                                                                                                                                                                        +     *
                                                                                                                                                                                                                                                                                        +     *   // Should return the global scope object.
                                                                                                                                                                                                                                                                                        +     *   object global_scope();
                                                                                                                                                                                                                                                                                        +     * };
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * A test environment with a DOM. The global object is 'window'. By default
                                                                                                                                                                                                                                                                                        +     * test results are displayed in a table. Any parent windows receive
                                                                                                                                                                                                                                                                                        +     * callbacks or messages via postMessage() when test events occur. See
                                                                                                                                                                                                                                                                                        +     * apisample11.html and apisample12.html.
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +    function WindowTestEnvironment() {
                                                                                                                                                                                                                                                                                        +        this.name_counter = 0;
                                                                                                                                                                                                                                                                                        +        this.window_cache = null;
                                                                                                                                                                                                                                                                                        +        this.output_handler = null;
                                                                                                                                                                                                                                                                                        +        this.all_loaded = false;
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        on_event(window, 'load', function() {
                                                                                                                                                                                                                                                                                        +            this_obj.all_loaded = true;
                                                                                                                                                                                                                                                                                        +        });
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WindowTestEnvironment.prototype._dispatch = function(selector, callback_args, message_arg) {
                                                                                                                                                                                                                                                                                        +        this._forEach_windows(
                                                                                                                                                                                                                                                                                        +                function(w, is_same_origin) {
                                                                                                                                                                                                                                                                                        +                    if (is_same_origin && selector in w) {
                                                                                                                                                                                                                                                                                        +                        try {
                                                                                                                                                                                                                                                                                        +                            w[selector].apply(undefined, callback_args);
                                                                                                                                                                                                                                                                                        +                        } catch (e) {
                                                                                                                                                                                                                                                                                        +                            if (debug) {
                                                                                                                                                                                                                                                                                        +                                throw e;
                                                                                                                                                                                                                                                                                        +                            }
                                                                                                                                                                                                                                                                                        +                        }
                                                                                                                                                                                                                                                                                        +                    }
                                                                                                                                                                                                                                                                                        +                    if (supports_post_message(w) && w !== self) {
                                                                                                                                                                                                                                                                                        +                        w.postMessage(message_arg, "*");
                                                                                                                                                                                                                                                                                        +                    }
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WindowTestEnvironment.prototype._forEach_windows = function(callback) {
                                                                                                                                                                                                                                                                                        +        // Iterate of the the windows [self ... top, opener]. The callback is passed
                                                                                                                                                                                                                                                                                        +        // two objects, the first one is the windows object itself, the second one
                                                                                                                                                                                                                                                                                        +        // is a boolean indicating whether or not its on the same origin as the
                                                                                                                                                                                                                                                                                        +        // current window.
                                                                                                                                                                                                                                                                                        +        var cache = this.window_cache;
                                                                                                                                                                                                                                                                                        +        if (!cache) {
                                                                                                                                                                                                                                                                                        +            cache = [[self, true]];
                                                                                                                                                                                                                                                                                        +            var w = self;
                                                                                                                                                                                                                                                                                        +            var i = 0;
                                                                                                                                                                                                                                                                                        +            var so;
                                                                                                                                                                                                                                                                                        +            var origins = location.ancestorOrigins;
                                                                                                                                                                                                                                                                                        +            while (w != w.parent) {
                                                                                                                                                                                                                                                                                        +                w = w.parent;
                                                                                                                                                                                                                                                                                        +                // In WebKit, calls to parent windows' properties that aren't on the same
                                                                                                                                                                                                                                                                                        +                // origin cause an error message to be displayed in the error console but
                                                                                                                                                                                                                                                                                        +                // don't throw an exception. This is a deviation from the current HTML5
                                                                                                                                                                                                                                                                                        +                // spec. See: https://bugs.webkit.org/show_bug.cgi?id=43504
                                                                                                                                                                                                                                                                                        +                // The problem with WebKit's behavior is that it pollutes the error console
                                                                                                                                                                                                                                                                                        +                // with error messages that can't be caught.
                                                                                                                                                                                                                                                                                        +                //
                                                                                                                                                                                                                                                                                        +                // This issue can be mitigated by relying on the (for now) proprietary
                                                                                                                                                                                                                                                                                        +                // `location.ancestorOrigins` property which returns an ordered list of
                                                                                                                                                                                                                                                                                        +                // the origins of enclosing windows. See:
                                                                                                                                                                                                                                                                                        +                // http://trac.webkit.org/changeset/113945.
                                                                                                                                                                                                                                                                                        +                if (origins) {
                                                                                                                                                                                                                                                                                        +                    so = (location.origin == origins[i]);
                                                                                                                                                                                                                                                                                        +                } else {
                                                                                                                                                                                                                                                                                        +                    so = is_same_origin(w);
                                                                                                                                                                                                                                                                                        +                }
                                                                                                                                                                                                                                                                                        +                cache.push([w, so]);
                                                                                                                                                                                                                                                                                        +                i++;
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +            w = window.opener;
                                                                                                                                                                                                                                                                                        +            if (w) {
                                                                                                                                                                                                                                                                                        +                // window.opener isn't included in the `location.ancestorOrigins` prop.
                                                                                                                                                                                                                                                                                        +                // We'll just have to deal with a simple check and an error msg on WebKit
                                                                                                                                                                                                                                                                                        +                // browsers in this case.
                                                                                                                                                                                                                                                                                        +                cache.push([w, is_same_origin(w)]);
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +            this.window_cache = cache;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        forEach(cache,
                                                                                                                                                                                                                                                                                        +                function(a) {
                                                                                                                                                                                                                                                                                        +                    callback.apply(null, a);
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WindowTestEnvironment.prototype.on_tests_ready = function() {
                                                                                                                                                                                                                                                                                        +        var output = new Output();
                                                                                                                                                                                                                                                                                        +        this.output_handler = output;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        add_start_callback(function (properties) {
                                                                                                                                                                                                                                                                                        +            this_obj.output_handler.init(properties);
                                                                                                                                                                                                                                                                                        +            this_obj._dispatch("start_callback", [properties],
                                                                                                                                                                                                                                                                                        +                           { type: "start", properties: properties });
                                                                                                                                                                                                                                                                                        +        });
                                                                                                                                                                                                                                                                                        +        add_test_state_callback(function(test) {
                                                                                                                                                                                                                                                                                        +            this_obj.output_handler.show_status();
                                                                                                                                                                                                                                                                                        +            this_obj._dispatch("test_state_callback", [test],
                                                                                                                                                                                                                                                                                        +                               { type: "test_state", test: test.structured_clone() });
                                                                                                                                                                                                                                                                                        +        });
                                                                                                                                                                                                                                                                                        +        add_result_callback(function (test) {
                                                                                                                                                                                                                                                                                        +            this_obj.output_handler.show_status();
                                                                                                                                                                                                                                                                                        +            this_obj._dispatch("result_callback", [test],
                                                                                                                                                                                                                                                                                        +                               { type: "result", test: test.structured_clone() });
                                                                                                                                                                                                                                                                                        +        });
                                                                                                                                                                                                                                                                                        +        add_completion_callback(function (tests, harness_status) {
                                                                                                                                                                                                                                                                                        +            this_obj.output_handler.show_results(tests, harness_status);
                                                                                                                                                                                                                                                                                        +            var cloned_tests = map(tests, function(test) { return test.structured_clone(); });
                                                                                                                                                                                                                                                                                        +            this_obj._dispatch("completion_callback", [tests, harness_status],
                                                                                                                                                                                                                                                                                        +                               { type: "complete", tests: cloned_tests,
                                                                                                                                                                                                                                                                                        +                                 status: harness_status.structured_clone() });
                                                                                                                                                                                                                                                                                        +        });
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WindowTestEnvironment.prototype.next_default_test_name = function() {
                                                                                                                                                                                                                                                                                        +        //Don't use document.title to work around an Opera bug in XHTML documents
                                                                                                                                                                                                                                                                                        +        var title = document.getElementsByTagName("title")[0];
                                                                                                                                                                                                                                                                                        +        var prefix = (title && title.firstChild && title.firstChild.data) || "Untitled";
                                                                                                                                                                                                                                                                                        +        var suffix = this.name_counter > 0 ? " " + this.name_counter : "";
                                                                                                                                                                                                                                                                                        +        this.name_counter++;
                                                                                                                                                                                                                                                                                        +        return prefix + suffix;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WindowTestEnvironment.prototype.on_new_harness_properties = function(properties) {
                                                                                                                                                                                                                                                                                        +        this.output_handler.setup(properties);
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WindowTestEnvironment.prototype.add_on_loaded_callback = function(callback) {
                                                                                                                                                                                                                                                                                        +        on_event(window, 'load', callback);
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WindowTestEnvironment.prototype.test_timeout = function() {
                                                                                                                                                                                                                                                                                        +        var metas = document.getElementsByTagName("meta");
                                                                                                                                                                                                                                                                                        +        for (var i = 0; i < metas.length; i++) {
                                                                                                                                                                                                                                                                                        +            if (metas[i].name == "timeout") {
                                                                                                                                                                                                                                                                                        +                if (metas[i].content == "long") {
                                                                                                                                                                                                                                                                                        +                    return settings.harness_timeout.long;
                                                                                                                                                                                                                                                                                        +                }
                                                                                                                                                                                                                                                                                        +                break;
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        return settings.harness_timeout.normal;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WindowTestEnvironment.prototype.global_scope = function() {
                                                                                                                                                                                                                                                                                        +        return window;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * Base TestEnvironment implementation for a generic web worker.
                                                                                                                                                                                                                                                                                        +     *
                                                                                                                                                                                                                                                                                        +     * Workers accumulate test results. One or more clients can connect and
                                                                                                                                                                                                                                                                                        +     * retrieve results from a worker at any time.
                                                                                                                                                                                                                                                                                        +     *
                                                                                                                                                                                                                                                                                        +     * WorkerTestEnvironment supports communicating with a client via a
                                                                                                                                                                                                                                                                                        +     * MessagePort.  The mechanism for determining the appropriate MessagePort
                                                                                                                                                                                                                                                                                        +     * for communicating with a client depends on the type of worker and is
                                                                                                                                                                                                                                                                                        +     * implemented by the various specializations of WorkerTestEnvironment
                                                                                                                                                                                                                                                                                        +     * below.
                                                                                                                                                                                                                                                                                        +     *
                                                                                                                                                                                                                                                                                        +     * A client document using testharness can use fetch_tests_from_worker() to
                                                                                                                                                                                                                                                                                        +     * retrieve results from a worker. See apisample16.html.
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +    function WorkerTestEnvironment() {
                                                                                                                                                                                                                                                                                        +        this.name_counter = 0;
                                                                                                                                                                                                                                                                                        +        this.all_loaded = true;
                                                                                                                                                                                                                                                                                        +        this.message_list = [];
                                                                                                                                                                                                                                                                                        +        this.message_ports = [];
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WorkerTestEnvironment.prototype._dispatch = function(message) {
                                                                                                                                                                                                                                                                                        +        this.message_list.push(message);
                                                                                                                                                                                                                                                                                        +        for (var i = 0; i < this.message_ports.length; ++i)
                                                                                                                                                                                                                                                                                        +        {
                                                                                                                                                                                                                                                                                        +            this.message_ports[i].postMessage(message);
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    // The only requirement is that port has a postMessage() method. It doesn't
                                                                                                                                                                                                                                                                                        +    // have to be an instance of a MessagePort, and often isn't.
                                                                                                                                                                                                                                                                                        +    WorkerTestEnvironment.prototype._add_message_port = function(port) {
                                                                                                                                                                                                                                                                                        +        this.message_ports.push(port);
                                                                                                                                                                                                                                                                                        +        for (var i = 0; i < this.message_list.length; ++i)
                                                                                                                                                                                                                                                                                        +        {
                                                                                                                                                                                                                                                                                        +            port.postMessage(this.message_list[i]);
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WorkerTestEnvironment.prototype.next_default_test_name = function() {
                                                                                                                                                                                                                                                                                        +        var suffix = this.name_counter > 0 ? " " + this.name_counter : "";
                                                                                                                                                                                                                                                                                        +        this.name_counter++;
                                                                                                                                                                                                                                                                                        +        return "Untitled" + suffix;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WorkerTestEnvironment.prototype.on_new_harness_properties = function() {};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WorkerTestEnvironment.prototype.on_tests_ready = function() {
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        add_start_callback(
                                                                                                                                                                                                                                                                                        +                function(properties) {
                                                                                                                                                                                                                                                                                        +                    this_obj._dispatch({
                                                                                                                                                                                                                                                                                        +                        type: "start",
                                                                                                                                                                                                                                                                                        +                        properties: properties,
                                                                                                                                                                                                                                                                                        +                    });
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +        add_test_state_callback(
                                                                                                                                                                                                                                                                                        +                function(test) {
                                                                                                                                                                                                                                                                                        +                    this_obj._dispatch({
                                                                                                                                                                                                                                                                                        +                        type: "test_state",
                                                                                                                                                                                                                                                                                        +                        test: test.structured_clone()
                                                                                                                                                                                                                                                                                        +                    });
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +        add_result_callback(
                                                                                                                                                                                                                                                                                        +                function(test) {
                                                                                                                                                                                                                                                                                        +                    this_obj._dispatch({
                                                                                                                                                                                                                                                                                        +                        type: "result",
                                                                                                                                                                                                                                                                                        +                        test: test.structured_clone()
                                                                                                                                                                                                                                                                                        +                    });
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +        add_completion_callback(
                                                                                                                                                                                                                                                                                        +                function(tests, harness_status) {
                                                                                                                                                                                                                                                                                        +                    this_obj._dispatch({
                                                                                                                                                                                                                                                                                        +                        type: "complete",
                                                                                                                                                                                                                                                                                        +                        tests: map(tests,
                                                                                                                                                                                                                                                                                        +                            function(test) {
                                                                                                                                                                                                                                                                                        +                                return test.structured_clone();
                                                                                                                                                                                                                                                                                        +                            }),
                                                                                                                                                                                                                                                                                        +                        status: harness_status.structured_clone()
                                                                                                                                                                                                                                                                                        +                    });
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WorkerTestEnvironment.prototype.add_on_loaded_callback = function() {};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WorkerTestEnvironment.prototype.test_timeout = function() {
                                                                                                                                                                                                                                                                                        +        // Tests running in a worker don't have a default timeout. I.e. all
                                                                                                                                                                                                                                                                                        +        // worker tests behave as if settings.explicit_timeout is true.
                                                                                                                                                                                                                                                                                        +        return null;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    WorkerTestEnvironment.prototype.global_scope = function() {
                                                                                                                                                                                                                                                                                        +        return self;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * Dedicated web workers.
                                                                                                                                                                                                                                                                                        +     * https://html.spec.whatwg.org/multipage/workers.html#dedicatedworkerglobalscope
                                                                                                                                                                                                                                                                                        +     *
                                                                                                                                                                                                                                                                                        +     * This class is used as the test_environment when testharness is running
                                                                                                                                                                                                                                                                                        +     * inside a dedicated worker.
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +    function DedicatedWorkerTestEnvironment() {
                                                                                                                                                                                                                                                                                        +        WorkerTestEnvironment.call(this);
                                                                                                                                                                                                                                                                                        +        // self is an instance of DedicatedWorkerGlobalScope which exposes
                                                                                                                                                                                                                                                                                        +        // a postMessage() method for communicating via the message channel
                                                                                                                                                                                                                                                                                        +        // established when the worker is created.
                                                                                                                                                                                                                                                                                        +        this._add_message_port(self);
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    DedicatedWorkerTestEnvironment.prototype = Object.create(WorkerTestEnvironment.prototype);
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    DedicatedWorkerTestEnvironment.prototype.on_tests_ready = function() {
                                                                                                                                                                                                                                                                                        +        WorkerTestEnvironment.prototype.on_tests_ready.call(this);
                                                                                                                                                                                                                                                                                        +        // In the absence of an onload notification, we a require dedicated
                                                                                                                                                                                                                                                                                        +        // workers to explicitly signal when the tests are done.
                                                                                                                                                                                                                                                                                        +        tests.wait_for_finish = true;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * Shared web workers.
                                                                                                                                                                                                                                                                                        +     * https://html.spec.whatwg.org/multipage/workers.html#sharedworkerglobalscope
                                                                                                                                                                                                                                                                                        +     *
                                                                                                                                                                                                                                                                                        +     * This class is used as the test_environment when testharness is running
                                                                                                                                                                                                                                                                                        +     * inside a shared web worker.
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +    function SharedWorkerTestEnvironment() {
                                                                                                                                                                                                                                                                                        +        WorkerTestEnvironment.call(this);
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        // Shared workers receive message ports via the 'onconnect' event for
                                                                                                                                                                                                                                                                                        +        // each connection.
                                                                                                                                                                                                                                                                                        +        self.addEventListener("connect",
                                                                                                                                                                                                                                                                                        +                function(message_event) {
                                                                                                                                                                                                                                                                                        +                    this_obj._add_message_port(message_event.source);
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    SharedWorkerTestEnvironment.prototype = Object.create(WorkerTestEnvironment.prototype);
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    SharedWorkerTestEnvironment.prototype.on_tests_ready = function() {
                                                                                                                                                                                                                                                                                        +        WorkerTestEnvironment.prototype.on_tests_ready.call(this);
                                                                                                                                                                                                                                                                                        +        // In the absence of an onload notification, we a require shared
                                                                                                                                                                                                                                                                                        +        // workers to explicitly signal when the tests are done.
                                                                                                                                                                                                                                                                                        +        tests.wait_for_finish = true;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * Service workers.
                                                                                                                                                                                                                                                                                        +     * http://www.w3.org/TR/service-workers/
                                                                                                                                                                                                                                                                                        +     *
                                                                                                                                                                                                                                                                                        +     * This class is used as the test_environment when testharness is running
                                                                                                                                                                                                                                                                                        +     * inside a service worker.
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +    function ServiceWorkerTestEnvironment() {
                                                                                                                                                                                                                                                                                        +        WorkerTestEnvironment.call(this);
                                                                                                                                                                                                                                                                                        +        this.all_loaded = false;
                                                                                                                                                                                                                                                                                        +        this.on_loaded_callback = null;
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        self.addEventListener("message",
                                                                                                                                                                                                                                                                                        +                function(event) {
                                                                                                                                                                                                                                                                                        +                    if (event.data.type && event.data.type === "connect") {
                                                                                                                                                                                                                                                                                        +                        this_obj._add_message_port(event.ports[0]);
                                                                                                                                                                                                                                                                                        +                        event.ports[0].start();
                                                                                                                                                                                                                                                                                        +                    }
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        // The oninstall event is received after the service worker script and
                                                                                                                                                                                                                                                                                        +        // all imported scripts have been fetched and executed. It's the
                                                                                                                                                                                                                                                                                        +        // equivalent of an onload event for a document. All tests should have
                                                                                                                                                                                                                                                                                        +        // been added by the time this event is received, thus it's not
                                                                                                                                                                                                                                                                                        +        // necessary to wait until the onactivate event.
                                                                                                                                                                                                                                                                                        +        on_event(self, "install",
                                                                                                                                                                                                                                                                                        +                function(event) {
                                                                                                                                                                                                                                                                                        +                    this_obj.all_loaded = true;
                                                                                                                                                                                                                                                                                        +                    if (this_obj.on_loaded_callback) {
                                                                                                                                                                                                                                                                                        +                        this_obj.on_loaded_callback();
                                                                                                                                                                                                                                                                                        +                    }
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    ServiceWorkerTestEnvironment.prototype = Object.create(WorkerTestEnvironment.prototype);
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    ServiceWorkerTestEnvironment.prototype.add_on_loaded_callback = function(callback) {
                                                                                                                                                                                                                                                                                        +        if (this.all_loaded) {
                                                                                                                                                                                                                                                                                        +            callback();
                                                                                                                                                                                                                                                                                        +        } else {
                                                                                                                                                                                                                                                                                        +            this.on_loaded_callback = callback;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function create_test_environment() {
                                                                                                                                                                                                                                                                                        +        if ('document' in self) {
                                                                                                                                                                                                                                                                                        +            return new WindowTestEnvironment();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if ('DedicatedWorkerGlobalScope' in self &&
                                                                                                                                                                                                                                                                                        +            self instanceof DedicatedWorkerGlobalScope) {
                                                                                                                                                                                                                                                                                        +            return new DedicatedWorkerTestEnvironment();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if ('SharedWorkerGlobalScope' in self &&
                                                                                                                                                                                                                                                                                        +            self instanceof SharedWorkerGlobalScope) {
                                                                                                                                                                                                                                                                                        +            return new SharedWorkerTestEnvironment();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if ('ServiceWorkerGlobalScope' in self &&
                                                                                                                                                                                                                                                                                        +            self instanceof ServiceWorkerGlobalScope) {
                                                                                                                                                                                                                                                                                        +            return new ServiceWorkerTestEnvironment();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        throw new Error("Unsupported test environment");
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    var test_environment = create_test_environment();
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function is_shared_worker(worker) {
                                                                                                                                                                                                                                                                                        +        return 'SharedWorker' in self && worker instanceof SharedWorker;
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function is_service_worker(worker) {
                                                                                                                                                                                                                                                                                        +        return 'ServiceWorker' in self && worker instanceof ServiceWorker;
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * API functions
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function test(func, name, properties)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        var test_name = name ? name : test_environment.next_default_test_name();
                                                                                                                                                                                                                                                                                        +        properties = properties ? properties : {};
                                                                                                                                                                                                                                                                                        +        var test_obj = new Test(test_name, properties);
                                                                                                                                                                                                                                                                                        +        test_obj.step(func, test_obj, test_obj);
                                                                                                                                                                                                                                                                                        +        if (test_obj.phase === test_obj.phases.STARTED) {
                                                                                                                                                                                                                                                                                        +            test_obj.done();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function async_test(func, name, properties)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        if (typeof func !== "function") {
                                                                                                                                                                                                                                                                                        +            properties = name;
                                                                                                                                                                                                                                                                                        +            name = func;
                                                                                                                                                                                                                                                                                        +            func = null;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        var test_name = name ? name : test_environment.next_default_test_name();
                                                                                                                                                                                                                                                                                        +        properties = properties ? properties : {};
                                                                                                                                                                                                                                                                                        +        var test_obj = new Test(test_name, properties);
                                                                                                                                                                                                                                                                                        +        if (func) {
                                                                                                                                                                                                                                                                                        +            test_obj.step(func, test_obj, test_obj);
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        return test_obj;
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function promise_test(func, name, properties) {
                                                                                                                                                                                                                                                                                        +        var test = async_test(name, properties);
                                                                                                                                                                                                                                                                                        +        Promise.resolve(test.step(func, test, test))
                                                                                                                                                                                                                                                                                        +            .then(
                                                                                                                                                                                                                                                                                        +                function() {
                                                                                                                                                                                                                                                                                        +                    test.done();
                                                                                                                                                                                                                                                                                        +                })
                                                                                                                                                                                                                                                                                        +            .catch(test.step_func(
                                                                                                                                                                                                                                                                                        +                function(value) {
                                                                                                                                                                                                                                                                                        +                    if (value instanceof AssertionError) {
                                                                                                                                                                                                                                                                                        +                        throw value;
                                                                                                                                                                                                                                                                                        +                    }
                                                                                                                                                                                                                                                                                        +                    assert(false, "promise_test", null,
                                                                                                                                                                                                                                                                                        +                           "Unhandled rejection with value: ${value}", {value:value});
                                                                                                                                                                                                                                                                                        +                }));
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function promise_rejects(test, expected, promise) {
                                                                                                                                                                                                                                                                                        +        return promise.then(test.unreached_func("Should have rejected.")).catch(function(e) {
                                                                                                                                                                                                                                                                                        +            assert_throws(expected, function() { throw e });
                                                                                                                                                                                                                                                                                        +        });
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function setup(func_or_properties, maybe_properties)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        var func = null;
                                                                                                                                                                                                                                                                                        +        var properties = {};
                                                                                                                                                                                                                                                                                        +        if (arguments.length === 2) {
                                                                                                                                                                                                                                                                                        +            func = func_or_properties;
                                                                                                                                                                                                                                                                                        +            properties = maybe_properties;
                                                                                                                                                                                                                                                                                        +        } else if (func_or_properties instanceof Function) {
                                                                                                                                                                                                                                                                                        +            func = func_or_properties;
                                                                                                                                                                                                                                                                                        +        } else {
                                                                                                                                                                                                                                                                                        +            properties = func_or_properties;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        tests.setup(func, properties);
                                                                                                                                                                                                                                                                                        +        test_environment.on_new_harness_properties(properties);
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function done() {
                                                                                                                                                                                                                                                                                        +        if (tests.tests.length === 0) {
                                                                                                                                                                                                                                                                                        +            tests.set_file_is_test();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if (tests.file_is_test) {
                                                                                                                                                                                                                                                                                        +            tests.tests[0].done();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        tests.end_wait();
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function generate_tests(func, args, properties) {
                                                                                                                                                                                                                                                                                        +        forEach(args, function(x, i)
                                                                                                                                                                                                                                                                                        +                {
                                                                                                                                                                                                                                                                                        +                    var name = x[0];
                                                                                                                                                                                                                                                                                        +                    test(function()
                                                                                                                                                                                                                                                                                        +                         {
                                                                                                                                                                                                                                                                                        +                             func.apply(this, x.slice(1));
                                                                                                                                                                                                                                                                                        +                         },
                                                                                                                                                                                                                                                                                        +                         name,
                                                                                                                                                                                                                                                                                        +                         Array.isArray(properties) ? properties[i] : properties);
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function on_event(object, event, callback)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        object.addEventListener(event, callback, false);
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    expose(test, 'test');
                                                                                                                                                                                                                                                                                        +    expose(async_test, 'async_test');
                                                                                                                                                                                                                                                                                        +    expose(promise_test, 'promise_test');
                                                                                                                                                                                                                                                                                        +    expose(promise_rejects, 'promise_rejects');
                                                                                                                                                                                                                                                                                        +    expose(generate_tests, 'generate_tests');
                                                                                                                                                                                                                                                                                        +    expose(setup, 'setup');
                                                                                                                                                                                                                                                                                        +    expose(done, 'done');
                                                                                                                                                                                                                                                                                        +    expose(on_event, 'on_event');
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * Return a string truncated to the given length, with ... added at the end
                                                                                                                                                                                                                                                                                        +     * if it was longer.
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +    function truncate(s, len)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        if (s.length > len) {
                                                                                                                                                                                                                                                                                        +            return s.substring(0, len - 3) + "...";
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        return s;
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * Return true if object is probably a Node object.
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +    function is_node(object)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        // I use duck-typing instead of instanceof, because
                                                                                                                                                                                                                                                                                        +        // instanceof doesn't work if the node is from another window (like an
                                                                                                                                                                                                                                                                                        +        // iframe's contentWindow):
                                                                                                                                                                                                                                                                                        +        // http://www.w3.org/Bugs/Public/show_bug.cgi?id=12295
                                                                                                                                                                                                                                                                                        +        if ("nodeType" in object &&
                                                                                                                                                                                                                                                                                        +            "nodeName" in object &&
                                                                                                                                                                                                                                                                                        +            "nodeValue" in object &&
                                                                                                                                                                                                                                                                                        +            "childNodes" in object) {
                                                                                                                                                                                                                                                                                        +            try {
                                                                                                                                                                                                                                                                                        +                object.nodeType;
                                                                                                                                                                                                                                                                                        +            } catch (e) {
                                                                                                                                                                                                                                                                                        +                // The object is probably Node.prototype or another prototype
                                                                                                                                                                                                                                                                                        +                // object that inherits from it, and not a Node instance.
                                                                                                                                                                                                                                                                                        +                return false;
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +            return true;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        return false;
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * Convert a value to a nice, human-readable string
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +    function format_value(val, seen)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        if (!seen) {
                                                                                                                                                                                                                                                                                        +            seen = [];
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if (typeof val === "object" && val !== null) {
                                                                                                                                                                                                                                                                                        +            if (seen.indexOf(val) >= 0) {
                                                                                                                                                                                                                                                                                        +                return "[...]";
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +            seen.push(val);
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if (Array.isArray(val)) {
                                                                                                                                                                                                                                                                                        +            return "[" + val.map(function(x) {return format_value(x, seen);}).join(", ") + "]";
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        switch (typeof val) {
                                                                                                                                                                                                                                                                                        +        case "string":
                                                                                                                                                                                                                                                                                        +            val = val.replace("\\", "\\\\");
                                                                                                                                                                                                                                                                                        +            for (var i = 0; i < 32; i++) {
                                                                                                                                                                                                                                                                                        +                var replace = "\\";
                                                                                                                                                                                                                                                                                        +                switch (i) {
                                                                                                                                                                                                                                                                                        +                case 0: replace += "0"; break;
                                                                                                                                                                                                                                                                                        +                case 1: replace += "x01"; break;
                                                                                                                                                                                                                                                                                        +                case 2: replace += "x02"; break;
                                                                                                                                                                                                                                                                                        +                case 3: replace += "x03"; break;
                                                                                                                                                                                                                                                                                        +                case 4: replace += "x04"; break;
                                                                                                                                                                                                                                                                                        +                case 5: replace += "x05"; break;
                                                                                                                                                                                                                                                                                        +                case 6: replace += "x06"; break;
                                                                                                                                                                                                                                                                                        +                case 7: replace += "x07"; break;
                                                                                                                                                                                                                                                                                        +                case 8: replace += "b"; break;
                                                                                                                                                                                                                                                                                        +                case 9: replace += "t"; break;
                                                                                                                                                                                                                                                                                        +                case 10: replace += "n"; break;
                                                                                                                                                                                                                                                                                        +                case 11: replace += "v"; break;
                                                                                                                                                                                                                                                                                        +                case 12: replace += "f"; break;
                                                                                                                                                                                                                                                                                        +                case 13: replace += "r"; break;
                                                                                                                                                                                                                                                                                        +                case 14: replace += "x0e"; break;
                                                                                                                                                                                                                                                                                        +                case 15: replace += "x0f"; break;
                                                                                                                                                                                                                                                                                        +                case 16: replace += "x10"; break;
                                                                                                                                                                                                                                                                                        +                case 17: replace += "x11"; break;
                                                                                                                                                                                                                                                                                        +                case 18: replace += "x12"; break;
                                                                                                                                                                                                                                                                                        +                case 19: replace += "x13"; break;
                                                                                                                                                                                                                                                                                        +                case 20: replace += "x14"; break;
                                                                                                                                                                                                                                                                                        +                case 21: replace += "x15"; break;
                                                                                                                                                                                                                                                                                        +                case 22: replace += "x16"; break;
                                                                                                                                                                                                                                                                                        +                case 23: replace += "x17"; break;
                                                                                                                                                                                                                                                                                        +                case 24: replace += "x18"; break;
                                                                                                                                                                                                                                                                                        +                case 25: replace += "x19"; break;
                                                                                                                                                                                                                                                                                        +                case 26: replace += "x1a"; break;
                                                                                                                                                                                                                                                                                        +                case 27: replace += "x1b"; break;
                                                                                                                                                                                                                                                                                        +                case 28: replace += "x1c"; break;
                                                                                                                                                                                                                                                                                        +                case 29: replace += "x1d"; break;
                                                                                                                                                                                                                                                                                        +                case 30: replace += "x1e"; break;
                                                                                                                                                                                                                                                                                        +                case 31: replace += "x1f"; break;
                                                                                                                                                                                                                                                                                        +                }
                                                                                                                                                                                                                                                                                        +                val = val.replace(RegExp(String.fromCharCode(i), "g"), replace);
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +            return '"' + val.replace(/"/g, '\\"') + '"';
                                                                                                                                                                                                                                                                                        +        case "boolean":
                                                                                                                                                                                                                                                                                        +        case "undefined":
                                                                                                                                                                                                                                                                                        +            return String(val);
                                                                                                                                                                                                                                                                                        +        case "number":
                                                                                                                                                                                                                                                                                        +            // In JavaScript, -0 === 0 and String(-0) == "0", so we have to
                                                                                                                                                                                                                                                                                        +            // special-case.
                                                                                                                                                                                                                                                                                        +            if (val === -0 && 1/val === -Infinity) {
                                                                                                                                                                                                                                                                                        +                return "-0";
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +            return String(val);
                                                                                                                                                                                                                                                                                        +        case "object":
                                                                                                                                                                                                                                                                                        +            if (val === null) {
                                                                                                                                                                                                                                                                                        +                return "null";
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            // Special-case Node objects, since those come up a lot in my tests.  I
                                                                                                                                                                                                                                                                                        +            // ignore namespaces.
                                                                                                                                                                                                                                                                                        +            if (is_node(val)) {
                                                                                                                                                                                                                                                                                        +                switch (val.nodeType) {
                                                                                                                                                                                                                                                                                        +                case Node.ELEMENT_NODE:
                                                                                                                                                                                                                                                                                        +                    var ret = "<" + val.localName;
                                                                                                                                                                                                                                                                                        +                    for (var i = 0; i < val.attributes.length; i++) {
                                                                                                                                                                                                                                                                                        +                        ret += " " + val.attributes[i].name + '="' + val.attributes[i].value + '"';
                                                                                                                                                                                                                                                                                        +                    }
                                                                                                                                                                                                                                                                                        +                    ret += ">" + val.innerHTML + "";
                                                                                                                                                                                                                                                                                        +                    return "Element node " + truncate(ret, 60);
                                                                                                                                                                                                                                                                                        +                case Node.TEXT_NODE:
                                                                                                                                                                                                                                                                                        +                    return 'Text node "' + truncate(val.data, 60) + '"';
                                                                                                                                                                                                                                                                                        +                case Node.PROCESSING_INSTRUCTION_NODE:
                                                                                                                                                                                                                                                                                        +                    return "ProcessingInstruction node with target " + format_value(truncate(val.target, 60)) + " and data " + format_value(truncate(val.data, 60));
                                                                                                                                                                                                                                                                                        +                case Node.COMMENT_NODE:
                                                                                                                                                                                                                                                                                        +                    return "Comment node ";
                                                                                                                                                                                                                                                                                        +                case Node.DOCUMENT_NODE:
                                                                                                                                                                                                                                                                                        +                    return "Document node with " + val.childNodes.length + (val.childNodes.length == 1 ? " child" : " children");
                                                                                                                                                                                                                                                                                        +                case Node.DOCUMENT_TYPE_NODE:
                                                                                                                                                                                                                                                                                        +                    return "DocumentType node";
                                                                                                                                                                                                                                                                                        +                case Node.DOCUMENT_FRAGMENT_NODE:
                                                                                                                                                                                                                                                                                        +                    return "DocumentFragment node with " + val.childNodes.length + (val.childNodes.length == 1 ? " child" : " children");
                                                                                                                                                                                                                                                                                        +                default:
                                                                                                                                                                                                                                                                                        +                    return "Node object of unknown type";
                                                                                                                                                                                                                                                                                        +                }
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        /* falls through */
                                                                                                                                                                                                                                                                                        +        default:
                                                                                                                                                                                                                                                                                        +            return typeof val + ' "' + truncate(String(val), 60) + '"';
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(format_value, "format_value");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * Assertions
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_true(actual, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        assert(actual === true, "assert_true", description,
                                                                                                                                                                                                                                                                                        +                                "expected true got ${actual}", {actual:actual});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_true, "assert_true");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_false(actual, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        assert(actual === false, "assert_false", description,
                                                                                                                                                                                                                                                                                        +                                 "expected false got ${actual}", {actual:actual});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_false, "assert_false");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function same_value(x, y) {
                                                                                                                                                                                                                                                                                        +        if (y !== y) {
                                                                                                                                                                                                                                                                                        +            //NaN case
                                                                                                                                                                                                                                                                                        +            return x !== x;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if (x === 0 && y === 0) {
                                                                                                                                                                                                                                                                                        +            //Distinguish +0 and -0
                                                                                                                                                                                                                                                                                        +            return 1/x === 1/y;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        return x === y;
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_equals(actual, expected, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +         /*
                                                                                                                                                                                                                                                                                        +          * Test if two primitives are equal or two objects
                                                                                                                                                                                                                                                                                        +          * are the same object
                                                                                                                                                                                                                                                                                        +          */
                                                                                                                                                                                                                                                                                        +        if (typeof actual != typeof expected) {
                                                                                                                                                                                                                                                                                        +            assert(false, "assert_equals", description,
                                                                                                                                                                                                                                                                                        +                          "expected (" + typeof expected + ") ${expected} but got (" + typeof actual + ") ${actual}",
                                                                                                                                                                                                                                                                                        +                          {expected:expected, actual:actual});
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        assert(same_value(actual, expected), "assert_equals", description,
                                                                                                                                                                                                                                                                                        +                                             "expected ${expected} but got ${actual}",
                                                                                                                                                                                                                                                                                        +                                             {expected:expected, actual:actual});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_equals, "assert_equals");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_not_equals(actual, expected, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +         /*
                                                                                                                                                                                                                                                                                        +          * Test if two primitives are unequal or two objects
                                                                                                                                                                                                                                                                                        +          * are different objects
                                                                                                                                                                                                                                                                                        +          */
                                                                                                                                                                                                                                                                                        +        assert(!same_value(actual, expected), "assert_not_equals", description,
                                                                                                                                                                                                                                                                                        +                                              "got disallowed value ${actual}",
                                                                                                                                                                                                                                                                                        +                                              {actual:actual});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_not_equals, "assert_not_equals");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_in_array(actual, expected, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        assert(expected.indexOf(actual) != -1, "assert_in_array", description,
                                                                                                                                                                                                                                                                                        +                                               "value ${actual} not in array ${expected}",
                                                                                                                                                                                                                                                                                        +                                               {actual:actual, expected:expected});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_in_array, "assert_in_array");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_object_equals(actual, expected, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +         //This needs to be improved a great deal
                                                                                                                                                                                                                                                                                        +         function check_equal(actual, expected, stack)
                                                                                                                                                                                                                                                                                        +         {
                                                                                                                                                                                                                                                                                        +             stack.push(actual);
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +             var p;
                                                                                                                                                                                                                                                                                        +             for (p in actual) {
                                                                                                                                                                                                                                                                                        +                 assert(expected.hasOwnProperty(p), "assert_object_equals", description,
                                                                                                                                                                                                                                                                                        +                                                    "unexpected property ${p}", {p:p});
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +                 if (typeof actual[p] === "object" && actual[p] !== null) {
                                                                                                                                                                                                                                                                                        +                     if (stack.indexOf(actual[p]) === -1) {
                                                                                                                                                                                                                                                                                        +                         check_equal(actual[p], expected[p], stack);
                                                                                                                                                                                                                                                                                        +                     }
                                                                                                                                                                                                                                                                                        +                 } else {
                                                                                                                                                                                                                                                                                        +                     assert(same_value(actual[p], expected[p]), "assert_object_equals", description,
                                                                                                                                                                                                                                                                                        +                                                       "property ${p} expected ${expected} got ${actual}",
                                                                                                                                                                                                                                                                                        +                                                       {p:p, expected:expected, actual:actual});
                                                                                                                                                                                                                                                                                        +                 }
                                                                                                                                                                                                                                                                                        +             }
                                                                                                                                                                                                                                                                                        +             for (p in expected) {
                                                                                                                                                                                                                                                                                        +                 assert(actual.hasOwnProperty(p),
                                                                                                                                                                                                                                                                                        +                        "assert_object_equals", description,
                                                                                                                                                                                                                                                                                        +                        "expected property ${p} missing", {p:p});
                                                                                                                                                                                                                                                                                        +             }
                                                                                                                                                                                                                                                                                        +             stack.pop();
                                                                                                                                                                                                                                                                                        +         }
                                                                                                                                                                                                                                                                                        +         check_equal(actual, expected, []);
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_object_equals, "assert_object_equals");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_array_equals(actual, expected, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        assert(actual.length === expected.length,
                                                                                                                                                                                                                                                                                        +               "assert_array_equals", description,
                                                                                                                                                                                                                                                                                        +               "lengths differ, expected ${expected} got ${actual}",
                                                                                                                                                                                                                                                                                        +               {expected:expected.length, actual:actual.length});
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        for (var i = 0; i < actual.length; i++) {
                                                                                                                                                                                                                                                                                        +            assert(actual.hasOwnProperty(i) === expected.hasOwnProperty(i),
                                                                                                                                                                                                                                                                                        +                   "assert_array_equals", description,
                                                                                                                                                                                                                                                                                        +                   "property ${i}, property expected to be ${expected} but was ${actual}",
                                                                                                                                                                                                                                                                                        +                   {i:i, expected:expected.hasOwnProperty(i) ? "present" : "missing",
                                                                                                                                                                                                                                                                                        +                   actual:actual.hasOwnProperty(i) ? "present" : "missing"});
                                                                                                                                                                                                                                                                                        +            assert(same_value(expected[i], actual[i]),
                                                                                                                                                                                                                                                                                        +                   "assert_array_equals", description,
                                                                                                                                                                                                                                                                                        +                   "property ${i}, expected ${expected} but got ${actual}",
                                                                                                                                                                                                                                                                                        +                   {i:i, expected:expected[i], actual:actual[i]});
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_array_equals, "assert_array_equals");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_approx_equals(actual, expected, epsilon, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        /*
                                                                                                                                                                                                                                                                                        +         * Test if two primitive numbers are equal withing +/- epsilon
                                                                                                                                                                                                                                                                                        +         */
                                                                                                                                                                                                                                                                                        +        assert(typeof actual === "number",
                                                                                                                                                                                                                                                                                        +               "assert_approx_equals", description,
                                                                                                                                                                                                                                                                                        +               "expected a number but got a ${type_actual}",
                                                                                                                                                                                                                                                                                        +               {type_actual:typeof actual});
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        assert(Math.abs(actual - expected) <= epsilon,
                                                                                                                                                                                                                                                                                        +               "assert_approx_equals", description,
                                                                                                                                                                                                                                                                                        +               "expected ${expected} +/- ${epsilon} but got ${actual}",
                                                                                                                                                                                                                                                                                        +               {expected:expected, actual:actual, epsilon:epsilon});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_approx_equals, "assert_approx_equals");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_less_than(actual, expected, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        /*
                                                                                                                                                                                                                                                                                        +         * Test if a primitive number is less than another
                                                                                                                                                                                                                                                                                        +         */
                                                                                                                                                                                                                                                                                        +        assert(typeof actual === "number",
                                                                                                                                                                                                                                                                                        +               "assert_less_than", description,
                                                                                                                                                                                                                                                                                        +               "expected a number but got a ${type_actual}",
                                                                                                                                                                                                                                                                                        +               {type_actual:typeof actual});
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        assert(actual < expected,
                                                                                                                                                                                                                                                                                        +               "assert_less_than", description,
                                                                                                                                                                                                                                                                                        +               "expected a number less than ${expected} but got ${actual}",
                                                                                                                                                                                                                                                                                        +               {expected:expected, actual:actual});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_less_than, "assert_less_than");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_greater_than(actual, expected, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        /*
                                                                                                                                                                                                                                                                                        +         * Test if a primitive number is greater than another
                                                                                                                                                                                                                                                                                        +         */
                                                                                                                                                                                                                                                                                        +        assert(typeof actual === "number",
                                                                                                                                                                                                                                                                                        +               "assert_greater_than", description,
                                                                                                                                                                                                                                                                                        +               "expected a number but got a ${type_actual}",
                                                                                                                                                                                                                                                                                        +               {type_actual:typeof actual});
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        assert(actual > expected,
                                                                                                                                                                                                                                                                                        +               "assert_greater_than", description,
                                                                                                                                                                                                                                                                                        +               "expected a number greater than ${expected} but got ${actual}",
                                                                                                                                                                                                                                                                                        +               {expected:expected, actual:actual});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_greater_than, "assert_greater_than");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_between_exclusive(actual, lower, upper, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        /*
                                                                                                                                                                                                                                                                                        +         * Test if a primitive number is between two others
                                                                                                                                                                                                                                                                                        +         */
                                                                                                                                                                                                                                                                                        +        assert(typeof actual === "number",
                                                                                                                                                                                                                                                                                        +               "assert_between_exclusive", description,
                                                                                                                                                                                                                                                                                        +               "expected a number but got a ${type_actual}",
                                                                                                                                                                                                                                                                                        +               {type_actual:typeof actual});
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        assert(actual > lower && actual < upper,
                                                                                                                                                                                                                                                                                        +               "assert_between_exclusive", description,
                                                                                                                                                                                                                                                                                        +               "expected a number greater than ${lower} " +
                                                                                                                                                                                                                                                                                        +               "and less than ${upper} but got ${actual}",
                                                                                                                                                                                                                                                                                        +               {lower:lower, upper:upper, actual:actual});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_between_exclusive, "assert_between_exclusive");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_less_than_equal(actual, expected, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        /*
                                                                                                                                                                                                                                                                                        +         * Test if a primitive number is less than or equal to another
                                                                                                                                                                                                                                                                                        +         */
                                                                                                                                                                                                                                                                                        +        assert(typeof actual === "number",
                                                                                                                                                                                                                                                                                        +               "assert_less_than_equal", description,
                                                                                                                                                                                                                                                                                        +               "expected a number but got a ${type_actual}",
                                                                                                                                                                                                                                                                                        +               {type_actual:typeof actual});
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        assert(actual <= expected,
                                                                                                                                                                                                                                                                                        +               "assert_less_than_equal", description,
                                                                                                                                                                                                                                                                                        +               "expected a number less than or equal to ${expected} but got ${actual}",
                                                                                                                                                                                                                                                                                        +               {expected:expected, actual:actual});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_less_than_equal, "assert_less_than_equal");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_greater_than_equal(actual, expected, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        /*
                                                                                                                                                                                                                                                                                        +         * Test if a primitive number is greater than or equal to another
                                                                                                                                                                                                                                                                                        +         */
                                                                                                                                                                                                                                                                                        +        assert(typeof actual === "number",
                                                                                                                                                                                                                                                                                        +               "assert_greater_than_equal", description,
                                                                                                                                                                                                                                                                                        +               "expected a number but got a ${type_actual}",
                                                                                                                                                                                                                                                                                        +               {type_actual:typeof actual});
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        assert(actual >= expected,
                                                                                                                                                                                                                                                                                        +               "assert_greater_than_equal", description,
                                                                                                                                                                                                                                                                                        +               "expected a number greater than or equal to ${expected} but got ${actual}",
                                                                                                                                                                                                                                                                                        +               {expected:expected, actual:actual});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_greater_than_equal, "assert_greater_than_equal");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_between_inclusive(actual, lower, upper, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        /*
                                                                                                                                                                                                                                                                                        +         * Test if a primitive number is between to two others or equal to either of them
                                                                                                                                                                                                                                                                                        +         */
                                                                                                                                                                                                                                                                                        +        assert(typeof actual === "number",
                                                                                                                                                                                                                                                                                        +               "assert_between_inclusive", description,
                                                                                                                                                                                                                                                                                        +               "expected a number but got a ${type_actual}",
                                                                                                                                                                                                                                                                                        +               {type_actual:typeof actual});
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        assert(actual >= lower && actual <= upper,
                                                                                                                                                                                                                                                                                        +               "assert_between_inclusive", description,
                                                                                                                                                                                                                                                                                        +               "expected a number greater than or equal to ${lower} " +
                                                                                                                                                                                                                                                                                        +               "and less than or equal to ${upper} but got ${actual}",
                                                                                                                                                                                                                                                                                        +               {lower:lower, upper:upper, actual:actual});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_between_inclusive, "assert_between_inclusive");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_regexp_match(actual, expected, description) {
                                                                                                                                                                                                                                                                                        +        /*
                                                                                                                                                                                                                                                                                        +         * Test if a string (actual) matches a regexp (expected)
                                                                                                                                                                                                                                                                                        +         */
                                                                                                                                                                                                                                                                                        +        assert(expected.test(actual),
                                                                                                                                                                                                                                                                                        +               "assert_regexp_match", description,
                                                                                                                                                                                                                                                                                        +               "expected ${expected} but got ${actual}",
                                                                                                                                                                                                                                                                                        +               {expected:expected, actual:actual});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_regexp_match, "assert_regexp_match");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_class_string(object, class_string, description) {
                                                                                                                                                                                                                                                                                        +        assert_equals({}.toString.call(object), "[object " + class_string + "]",
                                                                                                                                                                                                                                                                                        +                      description);
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_class_string, "assert_class_string");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function _assert_own_property(name) {
                                                                                                                                                                                                                                                                                        +        return function(object, property_name, description)
                                                                                                                                                                                                                                                                                        +        {
                                                                                                                                                                                                                                                                                        +            assert(object.hasOwnProperty(property_name),
                                                                                                                                                                                                                                                                                        +                   name, description,
                                                                                                                                                                                                                                                                                        +                   "expected property ${p} missing", {p:property_name});
                                                                                                                                                                                                                                                                                        +        };
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(_assert_own_property("assert_exists"), "assert_exists");
                                                                                                                                                                                                                                                                                        +    expose(_assert_own_property("assert_own_property"), "assert_own_property");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_not_exists(object, property_name, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        assert(!object.hasOwnProperty(property_name),
                                                                                                                                                                                                                                                                                        +               "assert_not_exists", description,
                                                                                                                                                                                                                                                                                        +               "unexpected property ${p} found", {p:property_name});
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_not_exists, "assert_not_exists");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function _assert_inherits(name) {
                                                                                                                                                                                                                                                                                        +        return function (object, property_name, description)
                                                                                                                                                                                                                                                                                        +        {
                                                                                                                                                                                                                                                                                        +            assert(typeof object === "object",
                                                                                                                                                                                                                                                                                        +                   name, description,
                                                                                                                                                                                                                                                                                        +                   "provided value is not an object");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            assert("hasOwnProperty" in object,
                                                                                                                                                                                                                                                                                        +                   name, description,
                                                                                                                                                                                                                                                                                        +                   "provided value is an object but has no hasOwnProperty method");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            assert(!object.hasOwnProperty(property_name),
                                                                                                                                                                                                                                                                                        +                   name, description,
                                                                                                                                                                                                                                                                                        +                   "property ${p} found on object expected in prototype chain",
                                                                                                                                                                                                                                                                                        +                   {p:property_name});
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            assert(property_name in object,
                                                                                                                                                                                                                                                                                        +                   name, description,
                                                                                                                                                                                                                                                                                        +                   "property ${p} not found in prototype chain",
                                                                                                                                                                                                                                                                                        +                   {p:property_name});
                                                                                                                                                                                                                                                                                        +        };
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(_assert_inherits("assert_inherits"), "assert_inherits");
                                                                                                                                                                                                                                                                                        +    expose(_assert_inherits("assert_idl_attribute"), "assert_idl_attribute");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_readonly(object, property_name, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +         var initial_value = object[property_name];
                                                                                                                                                                                                                                                                                        +         try {
                                                                                                                                                                                                                                                                                        +             //Note that this can have side effects in the case where
                                                                                                                                                                                                                                                                                        +             //the property has PutForwards
                                                                                                                                                                                                                                                                                        +             object[property_name] = initial_value + "a"; //XXX use some other value here?
                                                                                                                                                                                                                                                                                        +             assert(same_value(object[property_name], initial_value),
                                                                                                                                                                                                                                                                                        +                    "assert_readonly", description,
                                                                                                                                                                                                                                                                                        +                    "changing property ${p} succeeded",
                                                                                                                                                                                                                                                                                        +                    {p:property_name});
                                                                                                                                                                                                                                                                                        +         } finally {
                                                                                                                                                                                                                                                                                        +             object[property_name] = initial_value;
                                                                                                                                                                                                                                                                                        +         }
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_readonly, "assert_readonly");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_throws(code, func, description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        try {
                                                                                                                                                                                                                                                                                        +            func.call(this);
                                                                                                                                                                                                                                                                                        +            assert(false, "assert_throws", description,
                                                                                                                                                                                                                                                                                        +                   "${func} did not throw", {func:func});
                                                                                                                                                                                                                                                                                        +        } catch (e) {
                                                                                                                                                                                                                                                                                        +            if (e instanceof AssertionError) {
                                                                                                                                                                                                                                                                                        +                throw e;
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +            if (code === null) {
                                                                                                                                                                                                                                                                                        +                return;
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +            if (typeof code === "object") {
                                                                                                                                                                                                                                                                                        +                assert(typeof e == "object" && "name" in e && e.name == code.name,
                                                                                                                                                                                                                                                                                        +                       "assert_throws", description,
                                                                                                                                                                                                                                                                                        +                       "${func} threw ${actual} (${actual_name}) expected ${expected} (${expected_name})",
                                                                                                                                                                                                                                                                                        +                                    {func:func, actual:e, actual_name:e.name,
                                                                                                                                                                                                                                                                                        +                                     expected:code,
                                                                                                                                                                                                                                                                                        +                                     expected_name:code.name});
                                                                                                                                                                                                                                                                                        +                return;
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            var code_name_map = {
                                                                                                                                                                                                                                                                                        +                INDEX_SIZE_ERR: 'IndexSizeError',
                                                                                                                                                                                                                                                                                        +                HIERARCHY_REQUEST_ERR: 'HierarchyRequestError',
                                                                                                                                                                                                                                                                                        +                WRONG_DOCUMENT_ERR: 'WrongDocumentError',
                                                                                                                                                                                                                                                                                        +                INVALID_CHARACTER_ERR: 'InvalidCharacterError',
                                                                                                                                                                                                                                                                                        +                NO_MODIFICATION_ALLOWED_ERR: 'NoModificationAllowedError',
                                                                                                                                                                                                                                                                                        +                NOT_FOUND_ERR: 'NotFoundError',
                                                                                                                                                                                                                                                                                        +                NOT_SUPPORTED_ERR: 'NotSupportedError',
                                                                                                                                                                                                                                                                                        +                INVALID_STATE_ERR: 'InvalidStateError',
                                                                                                                                                                                                                                                                                        +                SYNTAX_ERR: 'SyntaxError',
                                                                                                                                                                                                                                                                                        +                INVALID_MODIFICATION_ERR: 'InvalidModificationError',
                                                                                                                                                                                                                                                                                        +                NAMESPACE_ERR: 'NamespaceError',
                                                                                                                                                                                                                                                                                        +                INVALID_ACCESS_ERR: 'InvalidAccessError',
                                                                                                                                                                                                                                                                                        +                TYPE_MISMATCH_ERR: 'TypeMismatchError',
                                                                                                                                                                                                                                                                                        +                SECURITY_ERR: 'SecurityError',
                                                                                                                                                                                                                                                                                        +                NETWORK_ERR: 'NetworkError',
                                                                                                                                                                                                                                                                                        +                ABORT_ERR: 'AbortError',
                                                                                                                                                                                                                                                                                        +                URL_MISMATCH_ERR: 'URLMismatchError',
                                                                                                                                                                                                                                                                                        +                QUOTA_EXCEEDED_ERR: 'QuotaExceededError',
                                                                                                                                                                                                                                                                                        +                TIMEOUT_ERR: 'TimeoutError',
                                                                                                                                                                                                                                                                                        +                INVALID_NODE_TYPE_ERR: 'InvalidNodeTypeError',
                                                                                                                                                                                                                                                                                        +                DATA_CLONE_ERR: 'DataCloneError'
                                                                                                                                                                                                                                                                                        +            };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            var name = code in code_name_map ? code_name_map[code] : code;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            var name_code_map = {
                                                                                                                                                                                                                                                                                        +                IndexSizeError: 1,
                                                                                                                                                                                                                                                                                        +                HierarchyRequestError: 3,
                                                                                                                                                                                                                                                                                        +                WrongDocumentError: 4,
                                                                                                                                                                                                                                                                                        +                InvalidCharacterError: 5,
                                                                                                                                                                                                                                                                                        +                NoModificationAllowedError: 7,
                                                                                                                                                                                                                                                                                        +                NotFoundError: 8,
                                                                                                                                                                                                                                                                                        +                NotSupportedError: 9,
                                                                                                                                                                                                                                                                                        +                InvalidStateError: 11,
                                                                                                                                                                                                                                                                                        +                SyntaxError: 12,
                                                                                                                                                                                                                                                                                        +                InvalidModificationError: 13,
                                                                                                                                                                                                                                                                                        +                NamespaceError: 14,
                                                                                                                                                                                                                                                                                        +                InvalidAccessError: 15,
                                                                                                                                                                                                                                                                                        +                TypeMismatchError: 17,
                                                                                                                                                                                                                                                                                        +                SecurityError: 18,
                                                                                                                                                                                                                                                                                        +                NetworkError: 19,
                                                                                                                                                                                                                                                                                        +                AbortError: 20,
                                                                                                                                                                                                                                                                                        +                URLMismatchError: 21,
                                                                                                                                                                                                                                                                                        +                QuotaExceededError: 22,
                                                                                                                                                                                                                                                                                        +                TimeoutError: 23,
                                                                                                                                                                                                                                                                                        +                InvalidNodeTypeError: 24,
                                                                                                                                                                                                                                                                                        +                DataCloneError: 25,
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +                EncodingError: 0,
                                                                                                                                                                                                                                                                                        +                NotReadableError: 0,
                                                                                                                                                                                                                                                                                        +                UnknownError: 0,
                                                                                                                                                                                                                                                                                        +                ConstraintError: 0,
                                                                                                                                                                                                                                                                                        +                DataError: 0,
                                                                                                                                                                                                                                                                                        +                TransactionInactiveError: 0,
                                                                                                                                                                                                                                                                                        +                ReadOnlyError: 0,
                                                                                                                                                                                                                                                                                        +                VersionError: 0,
                                                                                                                                                                                                                                                                                        +                OperationError: 0,
                                                                                                                                                                                                                                                                                        +            };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            if (!(name in name_code_map)) {
                                                                                                                                                                                                                                                                                        +                throw new AssertionError('Test bug: unrecognized DOMException code "' + code + '" passed to assert_throws()');
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            var required_props = { code: name_code_map[name] };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            if (required_props.code === 0 ||
                                                                                                                                                                                                                                                                                        +               (typeof e == "object" &&
                                                                                                                                                                                                                                                                                        +                "name" in e &&
                                                                                                                                                                                                                                                                                        +                e.name !== e.name.toUpperCase() &&
                                                                                                                                                                                                                                                                                        +                e.name !== "DOMException")) {
                                                                                                                                                                                                                                                                                        +                // New style exception: also test the name property.
                                                                                                                                                                                                                                                                                        +                required_props.name = name;
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            //We'd like to test that e instanceof the appropriate interface,
                                                                                                                                                                                                                                                                                        +            //but we can't, because we don't know what window it was created
                                                                                                                                                                                                                                                                                        +            //in.  It might be an instanceof the appropriate interface on some
                                                                                                                                                                                                                                                                                        +            //unknown other window.  TODO: Work around this somehow?
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            assert(typeof e == "object",
                                                                                                                                                                                                                                                                                        +                   "assert_throws", description,
                                                                                                                                                                                                                                                                                        +                   "${func} threw ${e} with type ${type}, not an object",
                                                                                                                                                                                                                                                                                        +                   {func:func, e:e, type:typeof e});
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            for (var prop in required_props) {
                                                                                                                                                                                                                                                                                        +                assert(typeof e == "object" && prop in e && e[prop] == required_props[prop],
                                                                                                                                                                                                                                                                                        +                       "assert_throws", description,
                                                                                                                                                                                                                                                                                        +                       "${func} threw ${e} that is not a DOMException " + code + ": property ${prop} is equal to ${actual}, expected ${expected}",
                                                                                                                                                                                                                                                                                        +                       {func:func, e:e, prop:prop, actual:e[prop], expected:required_props[prop]});
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_throws, "assert_throws");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_unreached(description) {
                                                                                                                                                                                                                                                                                        +         assert(false, "assert_unreached", description,
                                                                                                                                                                                                                                                                                        +                "Reached unreachable code");
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_unreached, "assert_unreached");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function assert_any(assert_func, actual, expected_array)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        var args = [].slice.call(arguments, 3);
                                                                                                                                                                                                                                                                                        +        var errors = [];
                                                                                                                                                                                                                                                                                        +        var passed = false;
                                                                                                                                                                                                                                                                                        +        forEach(expected_array,
                                                                                                                                                                                                                                                                                        +                function(expected)
                                                                                                                                                                                                                                                                                        +                {
                                                                                                                                                                                                                                                                                        +                    try {
                                                                                                                                                                                                                                                                                        +                        assert_func.apply(this, [actual, expected].concat(args));
                                                                                                                                                                                                                                                                                        +                        passed = true;
                                                                                                                                                                                                                                                                                        +                    } catch (e) {
                                                                                                                                                                                                                                                                                        +                        errors.push(e.message);
                                                                                                                                                                                                                                                                                        +                    }
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +        if (!passed) {
                                                                                                                                                                                                                                                                                        +            throw new AssertionError(errors.join("\n\n"));
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(assert_any, "assert_any");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function Test(name, properties)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        if (tests.file_is_test && tests.tests.length) {
                                                                                                                                                                                                                                                                                        +            throw new Error("Tried to create a test with file_is_test");
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this.name = name;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.phase = this.phases.INITIAL;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.status = this.NOTRUN;
                                                                                                                                                                                                                                                                                        +        this.timeout_id = null;
                                                                                                                                                                                                                                                                                        +        this.index = null;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.properties = properties;
                                                                                                                                                                                                                                                                                        +        var timeout = properties.timeout ? properties.timeout : settings.test_timeout;
                                                                                                                                                                                                                                                                                        +        if (timeout !== null) {
                                                                                                                                                                                                                                                                                        +            this.timeout_length = timeout * tests.timeout_multiplier;
                                                                                                                                                                                                                                                                                        +        } else {
                                                                                                                                                                                                                                                                                        +            this.timeout_length = null;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.message = null;
                                                                                                                                                                                                                                                                                        +        this.stack = null;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.steps = [];
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.cleanup_callbacks = [];
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        tests.push(this);
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.statuses = {
                                                                                                                                                                                                                                                                                        +        PASS:0,
                                                                                                                                                                                                                                                                                        +        FAIL:1,
                                                                                                                                                                                                                                                                                        +        TIMEOUT:2,
                                                                                                                                                                                                                                                                                        +        NOTRUN:3
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype = merge({}, Test.statuses);
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.phases = {
                                                                                                                                                                                                                                                                                        +        INITIAL:0,
                                                                                                                                                                                                                                                                                        +        STARTED:1,
                                                                                                                                                                                                                                                                                        +        HAS_RESULT:2,
                                                                                                                                                                                                                                                                                        +        COMPLETE:3
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.structured_clone = function()
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        if (!this._structured_clone) {
                                                                                                                                                                                                                                                                                        +            var msg = this.message;
                                                                                                                                                                                                                                                                                        +            msg = msg ? String(msg) : msg;
                                                                                                                                                                                                                                                                                        +            this._structured_clone = merge({
                                                                                                                                                                                                                                                                                        +                name:String(this.name),
                                                                                                                                                                                                                                                                                        +                properties:merge({}, this.properties),
                                                                                                                                                                                                                                                                                        +            }, Test.statuses);
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this._structured_clone.status = this.status;
                                                                                                                                                                                                                                                                                        +        this._structured_clone.message = this.message;
                                                                                                                                                                                                                                                                                        +        this._structured_clone.stack = this.stack;
                                                                                                                                                                                                                                                                                        +        this._structured_clone.index = this.index;
                                                                                                                                                                                                                                                                                        +        return this._structured_clone;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.step = function(func, this_obj)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        if (this.phase > this.phases.STARTED) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this.phase = this.phases.STARTED;
                                                                                                                                                                                                                                                                                        +        //If we don't get a result before the harness times out that will be a test timout
                                                                                                                                                                                                                                                                                        +        this.set_status(this.TIMEOUT, "Test timed out");
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        tests.started = true;
                                                                                                                                                                                                                                                                                        +        tests.notify_test_state(this);
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        if (this.timeout_id === null) {
                                                                                                                                                                                                                                                                                        +            this.set_timeout();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.steps.push(func);
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        if (arguments.length === 1) {
                                                                                                                                                                                                                                                                                        +            this_obj = this;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        try {
                                                                                                                                                                                                                                                                                        +            return func.apply(this_obj, Array.prototype.slice.call(arguments, 2));
                                                                                                                                                                                                                                                                                        +        } catch (e) {
                                                                                                                                                                                                                                                                                        +            if (this.phase >= this.phases.HAS_RESULT) {
                                                                                                                                                                                                                                                                                        +                return;
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +            var message = String((typeof e === "object" && e !== null) ? e.message : e);
                                                                                                                                                                                                                                                                                        +            var stack = e.stack ? e.stack : null;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            this.set_status(this.FAIL, message, stack);
                                                                                                                                                                                                                                                                                        +            this.phase = this.phases.HAS_RESULT;
                                                                                                                                                                                                                                                                                        +            this.done();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.step_func = function(func, this_obj)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        var test_this = this;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        if (arguments.length === 1) {
                                                                                                                                                                                                                                                                                        +            this_obj = test_this;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        return function()
                                                                                                                                                                                                                                                                                        +        {
                                                                                                                                                                                                                                                                                        +            return test_this.step.apply(test_this, [func, this_obj].concat(
                                                                                                                                                                                                                                                                                        +                Array.prototype.slice.call(arguments)));
                                                                                                                                                                                                                                                                                        +        };
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.step_func_done = function(func, this_obj)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        var test_this = this;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        if (arguments.length === 1) {
                                                                                                                                                                                                                                                                                        +            this_obj = test_this;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        return function()
                                                                                                                                                                                                                                                                                        +        {
                                                                                                                                                                                                                                                                                        +            if (func) {
                                                                                                                                                                                                                                                                                        +                test_this.step.apply(test_this, [func, this_obj].concat(
                                                                                                                                                                                                                                                                                        +                    Array.prototype.slice.call(arguments)));
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +            test_this.done();
                                                                                                                                                                                                                                                                                        +        };
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.unreached_func = function(description)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        return this.step_func(function() {
                                                                                                                                                                                                                                                                                        +            assert_unreached(description);
                                                                                                                                                                                                                                                                                        +        });
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.add_cleanup = function(callback) {
                                                                                                                                                                                                                                                                                        +        this.cleanup_callbacks.push(callback);
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.force_timeout = function() {
                                                                                                                                                                                                                                                                                        +        this.set_status(this.TIMEOUT);
                                                                                                                                                                                                                                                                                        +        this.phase = this.phases.HAS_RESULT;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.set_timeout = function()
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        if (this.timeout_length !== null) {
                                                                                                                                                                                                                                                                                        +            var this_obj = this;
                                                                                                                                                                                                                                                                                        +            this.timeout_id = setTimeout(function()
                                                                                                                                                                                                                                                                                        +                                         {
                                                                                                                                                                                                                                                                                        +                                             this_obj.timeout();
                                                                                                                                                                                                                                                                                        +                                         }, this.timeout_length);
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.set_status = function(status, message, stack)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        this.status = status;
                                                                                                                                                                                                                                                                                        +        this.message = message;
                                                                                                                                                                                                                                                                                        +        this.stack = stack ? stack : null;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.timeout = function()
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        this.timeout_id = null;
                                                                                                                                                                                                                                                                                        +        this.set_status(this.TIMEOUT, "Test timed out");
                                                                                                                                                                                                                                                                                        +        this.phase = this.phases.HAS_RESULT;
                                                                                                                                                                                                                                                                                        +        this.done();
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.done = function()
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        if (this.phase == this.phases.COMPLETE) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        if (this.phase <= this.phases.STARTED) {
                                                                                                                                                                                                                                                                                        +            this.set_status(this.PASS, null);
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.phase = this.phases.COMPLETE;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        clearTimeout(this.timeout_id);
                                                                                                                                                                                                                                                                                        +        tests.result(this);
                                                                                                                                                                                                                                                                                        +        this.cleanup();
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Test.prototype.cleanup = function() {
                                                                                                                                                                                                                                                                                        +        forEach(this.cleanup_callbacks,
                                                                                                                                                                                                                                                                                        +                function(cleanup_callback) {
                                                                                                                                                                                                                                                                                        +                    cleanup_callback();
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * A RemoteTest object mirrors a Test object on a remote worker. The
                                                                                                                                                                                                                                                                                        +     * associated RemoteWorker updates the RemoteTest object in response to
                                                                                                                                                                                                                                                                                        +     * received events. In turn, the RemoteTest object replicates these events
                                                                                                                                                                                                                                                                                        +     * on the local document. This allows listeners (test result reporting
                                                                                                                                                                                                                                                                                        +     * etc..) to transparently handle local and remote events.
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +    function RemoteTest(clone) {
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        Object.keys(clone).forEach(
                                                                                                                                                                                                                                                                                        +                function(key) {
                                                                                                                                                                                                                                                                                        +                    this_obj[key] = clone[key];
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +        this.index = null;
                                                                                                                                                                                                                                                                                        +        this.phase = this.phases.INITIAL;
                                                                                                                                                                                                                                                                                        +        this.update_state_from(clone);
                                                                                                                                                                                                                                                                                        +        tests.push(this);
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    RemoteTest.prototype.structured_clone = function() {
                                                                                                                                                                                                                                                                                        +        var clone = {};
                                                                                                                                                                                                                                                                                        +        Object.keys(this).forEach(
                                                                                                                                                                                                                                                                                        +                function(key) {
                                                                                                                                                                                                                                                                                        +                    if (typeof(this[key]) === "object") {
                                                                                                                                                                                                                                                                                        +                        clone[key] = merge({}, this[key]);
                                                                                                                                                                                                                                                                                        +                    } else {
                                                                                                                                                                                                                                                                                        +                        clone[key] = this[key];
                                                                                                                                                                                                                                                                                        +                    }
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +        clone.phases = merge({}, this.phases);
                                                                                                                                                                                                                                                                                        +        return clone;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    RemoteTest.prototype.cleanup = function() {};
                                                                                                                                                                                                                                                                                        +    RemoteTest.prototype.phases = Test.prototype.phases;
                                                                                                                                                                                                                                                                                        +    RemoteTest.prototype.update_state_from = function(clone) {
                                                                                                                                                                                                                                                                                        +        this.status = clone.status;
                                                                                                                                                                                                                                                                                        +        this.message = clone.message;
                                                                                                                                                                                                                                                                                        +        this.stack = clone.stack;
                                                                                                                                                                                                                                                                                        +        if (this.phase === this.phases.INITIAL) {
                                                                                                                                                                                                                                                                                        +            this.phase = this.phases.STARTED;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +    RemoteTest.prototype.done = function() {
                                                                                                                                                                                                                                                                                        +        this.phase = this.phases.COMPLETE;
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * A RemoteWorker listens for test events from a worker. These events are
                                                                                                                                                                                                                                                                                        +     * then used to construct and maintain RemoteTest objects that mirror the
                                                                                                                                                                                                                                                                                        +     * tests running on the remote worker.
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +    function RemoteWorker(worker) {
                                                                                                                                                                                                                                                                                        +        this.running = true;
                                                                                                                                                                                                                                                                                        +        this.tests = new Array();
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        worker.onerror = function(error) { this_obj.worker_error(error); };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        var message_port;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        if (is_service_worker(worker)) {
                                                                                                                                                                                                                                                                                        +            // The ServiceWorker's implicit MessagePort is currently not
                                                                                                                                                                                                                                                                                        +            // reliably accessible from the ServiceWorkerGlobalScope due to
                                                                                                                                                                                                                                                                                        +            // Blink setting MessageEvent.source to null for messages sent via
                                                                                                                                                                                                                                                                                        +            // ServiceWorker.postMessage(). Until that's resolved, create an
                                                                                                                                                                                                                                                                                        +            // explicit MessageChannel and pass one end to the worker.
                                                                                                                                                                                                                                                                                        +            var message_channel = new MessageChannel();
                                                                                                                                                                                                                                                                                        +            message_port = message_channel.port1;
                                                                                                                                                                                                                                                                                        +            message_port.start();
                                                                                                                                                                                                                                                                                        +            worker.postMessage({type: "connect"}, [message_channel.port2]);
                                                                                                                                                                                                                                                                                        +        } else if (is_shared_worker(worker)) {
                                                                                                                                                                                                                                                                                        +            message_port = worker.port;
                                                                                                                                                                                                                                                                                        +        } else {
                                                                                                                                                                                                                                                                                        +            message_port = worker;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        // Keeping a reference to the worker until worker_done() is seen
                                                                                                                                                                                                                                                                                        +        // prevents the Worker object and its MessageChannel from going away
                                                                                                                                                                                                                                                                                        +        // before all the messages are dispatched.
                                                                                                                                                                                                                                                                                        +        this.worker = worker;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        message_port.onmessage =
                                                                                                                                                                                                                                                                                        +            function(message) {
                                                                                                                                                                                                                                                                                        +                if (this_obj.running && (message.data.type in this_obj.message_handlers)) {
                                                                                                                                                                                                                                                                                        +                    this_obj.message_handlers[message.data.type].call(this_obj, message.data);
                                                                                                                                                                                                                                                                                        +                }
                                                                                                                                                                                                                                                                                        +            };
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    RemoteWorker.prototype.worker_error = function(error) {
                                                                                                                                                                                                                                                                                        +        var message = error.message || String(error);
                                                                                                                                                                                                                                                                                        +        var filename = (error.filename ? " " + error.filename: "");
                                                                                                                                                                                                                                                                                        +        // FIXME: Display worker error states separately from main document
                                                                                                                                                                                                                                                                                        +        // error state.
                                                                                                                                                                                                                                                                                        +        this.worker_done({
                                                                                                                                                                                                                                                                                        +            status: {
                                                                                                                                                                                                                                                                                        +                status: tests.status.ERROR,
                                                                                                                                                                                                                                                                                        +                message: "Error in worker" + filename + ": " + message,
                                                                                                                                                                                                                                                                                        +                stack: e.stack
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +        });
                                                                                                                                                                                                                                                                                        +        error.preventDefault();
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    RemoteWorker.prototype.test_state = function(data) {
                                                                                                                                                                                                                                                                                        +        var remote_test = this.tests[data.test.index];
                                                                                                                                                                                                                                                                                        +        if (!remote_test) {
                                                                                                                                                                                                                                                                                        +            remote_test = new RemoteTest(data.test);
                                                                                                                                                                                                                                                                                        +            this.tests[data.test.index] = remote_test;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        remote_test.update_state_from(data.test);
                                                                                                                                                                                                                                                                                        +        tests.notify_test_state(remote_test);
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    RemoteWorker.prototype.test_done = function(data) {
                                                                                                                                                                                                                                                                                        +        var remote_test = this.tests[data.test.index];
                                                                                                                                                                                                                                                                                        +        remote_test.update_state_from(data.test);
                                                                                                                                                                                                                                                                                        +        remote_test.done();
                                                                                                                                                                                                                                                                                        +        tests.result(remote_test);
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    RemoteWorker.prototype.worker_done = function(data) {
                                                                                                                                                                                                                                                                                        +        if (tests.status.status === null &&
                                                                                                                                                                                                                                                                                        +            data.status.status !== data.status.OK) {
                                                                                                                                                                                                                                                                                        +            tests.status.status = data.status.status;
                                                                                                                                                                                                                                                                                        +            tests.status.message = data.status.message;
                                                                                                                                                                                                                                                                                        +            tests.status.stack = data.status.stack;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this.running = false;
                                                                                                                                                                                                                                                                                        +        this.worker = null;
                                                                                                                                                                                                                                                                                        +        if (tests.all_done()) {
                                                                                                                                                                                                                                                                                        +            tests.complete();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    RemoteWorker.prototype.message_handlers = {
                                                                                                                                                                                                                                                                                        +        test_state: RemoteWorker.prototype.test_state,
                                                                                                                                                                                                                                                                                        +        result: RemoteWorker.prototype.test_done,
                                                                                                                                                                                                                                                                                        +        complete: RemoteWorker.prototype.worker_done
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * Harness
                                                                                                                                                                                                                                                                                        +     */
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function TestsStatus()
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        this.status = null;
                                                                                                                                                                                                                                                                                        +        this.message = null;
                                                                                                                                                                                                                                                                                        +        this.stack = null;
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    TestsStatus.statuses = {
                                                                                                                                                                                                                                                                                        +        OK:0,
                                                                                                                                                                                                                                                                                        +        ERROR:1,
                                                                                                                                                                                                                                                                                        +        TIMEOUT:2
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    TestsStatus.prototype = merge({}, TestsStatus.statuses);
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    TestsStatus.prototype.structured_clone = function()
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        if (!this._structured_clone) {
                                                                                                                                                                                                                                                                                        +            var msg = this.message;
                                                                                                                                                                                                                                                                                        +            msg = msg ? String(msg) : msg;
                                                                                                                                                                                                                                                                                        +            this._structured_clone = merge({
                                                                                                                                                                                                                                                                                        +                status:this.status,
                                                                                                                                                                                                                                                                                        +                message:msg,
                                                                                                                                                                                                                                                                                        +                stack:this.stack
                                                                                                                                                                                                                                                                                        +            }, TestsStatus.statuses);
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        return this._structured_clone;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function Tests()
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        this.tests = [];
                                                                                                                                                                                                                                                                                        +        this.num_pending = 0;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.phases = {
                                                                                                                                                                                                                                                                                        +            INITIAL:0,
                                                                                                                                                                                                                                                                                        +            SETUP:1,
                                                                                                                                                                                                                                                                                        +            HAVE_TESTS:2,
                                                                                                                                                                                                                                                                                        +            HAVE_RESULTS:3,
                                                                                                                                                                                                                                                                                        +            COMPLETE:4
                                                                                                                                                                                                                                                                                        +        };
                                                                                                                                                                                                                                                                                        +        this.phase = this.phases.INITIAL;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.properties = {};
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.wait_for_finish = false;
                                                                                                                                                                                                                                                                                        +        this.processing_callbacks = false;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.allow_uncaught_exception = false;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.file_is_test = false;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.timeout_multiplier = 1;
                                                                                                                                                                                                                                                                                        +        this.timeout_length = test_environment.test_timeout();
                                                                                                                                                                                                                                                                                        +        this.timeout_id = null;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.start_callbacks = [];
                                                                                                                                                                                                                                                                                        +        this.test_state_callbacks = [];
                                                                                                                                                                                                                                                                                        +        this.test_done_callbacks = [];
                                                                                                                                                                                                                                                                                        +        this.all_done_callbacks = [];
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.pending_workers = [];
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.status = new TestsStatus();
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        test_environment.add_on_loaded_callback(function() {
                                                                                                                                                                                                                                                                                        +            if (this_obj.all_done()) {
                                                                                                                                                                                                                                                                                        +                this_obj.complete();
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +        });
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.set_timeout();
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.setup = function(func, properties)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        if (this.phase >= this.phases.HAVE_RESULTS) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        if (this.phase < this.phases.SETUP) {
                                                                                                                                                                                                                                                                                        +            this.phase = this.phases.SETUP;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.properties = properties;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        for (var p in properties) {
                                                                                                                                                                                                                                                                                        +            if (properties.hasOwnProperty(p)) {
                                                                                                                                                                                                                                                                                        +                var value = properties[p];
                                                                                                                                                                                                                                                                                        +                if (p == "allow_uncaught_exception") {
                                                                                                                                                                                                                                                                                        +                    this.allow_uncaught_exception = value;
                                                                                                                                                                                                                                                                                        +                } else if (p == "explicit_done" && value) {
                                                                                                                                                                                                                                                                                        +                    this.wait_for_finish = true;
                                                                                                                                                                                                                                                                                        +                } else if (p == "explicit_timeout" && value) {
                                                                                                                                                                                                                                                                                        +                    this.timeout_length = null;
                                                                                                                                                                                                                                                                                        +                    if (this.timeout_id)
                                                                                                                                                                                                                                                                                        +                    {
                                                                                                                                                                                                                                                                                        +                        clearTimeout(this.timeout_id);
                                                                                                                                                                                                                                                                                        +                    }
                                                                                                                                                                                                                                                                                        +                } else if (p == "timeout_multiplier") {
                                                                                                                                                                                                                                                                                        +                    this.timeout_multiplier = value;
                                                                                                                                                                                                                                                                                        +                }
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        if (func) {
                                                                                                                                                                                                                                                                                        +            try {
                                                                                                                                                                                                                                                                                        +                func();
                                                                                                                                                                                                                                                                                        +            } catch (e) {
                                                                                                                                                                                                                                                                                        +                this.status.status = this.status.ERROR;
                                                                                                                                                                                                                                                                                        +                this.status.message = String(e);
                                                                                                                                                                                                                                                                                        +                this.status.stack = e.stack ? e.stack : null;
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this.set_timeout();
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.set_file_is_test = function() {
                                                                                                                                                                                                                                                                                        +        if (this.tests.length > 0) {
                                                                                                                                                                                                                                                                                        +            throw new Error("Tried to set file as test after creating a test");
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this.wait_for_finish = true;
                                                                                                                                                                                                                                                                                        +        this.file_is_test = true;
                                                                                                                                                                                                                                                                                        +        // Create the test, which will add it to the list of tests
                                                                                                                                                                                                                                                                                        +        async_test();
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.set_timeout = function() {
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        clearTimeout(this.timeout_id);
                                                                                                                                                                                                                                                                                        +        if (this.timeout_length !== null) {
                                                                                                                                                                                                                                                                                        +            this.timeout_id = setTimeout(function() {
                                                                                                                                                                                                                                                                                        +                                             this_obj.timeout();
                                                                                                                                                                                                                                                                                        +                                         }, this.timeout_length);
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.timeout = function() {
                                                                                                                                                                                                                                                                                        +        if (this.status.status === null) {
                                                                                                                                                                                                                                                                                        +            this.status.status = this.status.TIMEOUT;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this.complete();
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.end_wait = function()
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        this.wait_for_finish = false;
                                                                                                                                                                                                                                                                                        +        if (this.all_done()) {
                                                                                                                                                                                                                                                                                        +            this.complete();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.push = function(test)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        if (this.phase < this.phases.HAVE_TESTS) {
                                                                                                                                                                                                                                                                                        +            this.start();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this.num_pending++;
                                                                                                                                                                                                                                                                                        +        test.index = this.tests.push(test);
                                                                                                                                                                                                                                                                                        +        this.notify_test_state(test);
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.notify_test_state = function(test) {
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        forEach(this.test_state_callbacks,
                                                                                                                                                                                                                                                                                        +                function(callback) {
                                                                                                                                                                                                                                                                                        +                    callback(test, this_obj);
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.all_done = function() {
                                                                                                                                                                                                                                                                                        +        return (this.tests.length > 0 && test_environment.all_loaded &&
                                                                                                                                                                                                                                                                                        +                this.num_pending === 0 && !this.wait_for_finish &&
                                                                                                                                                                                                                                                                                        +                !this.processing_callbacks &&
                                                                                                                                                                                                                                                                                        +                !this.pending_workers.some(function(w) { return w.running; }));
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.start = function() {
                                                                                                                                                                                                                                                                                        +        this.phase = this.phases.HAVE_TESTS;
                                                                                                                                                                                                                                                                                        +        this.notify_start();
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.notify_start = function() {
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        forEach (this.start_callbacks,
                                                                                                                                                                                                                                                                                        +                 function(callback)
                                                                                                                                                                                                                                                                                        +                 {
                                                                                                                                                                                                                                                                                        +                     callback(this_obj.properties);
                                                                                                                                                                                                                                                                                        +                 });
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.result = function(test)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        if (this.phase > this.phases.HAVE_RESULTS) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this.phase = this.phases.HAVE_RESULTS;
                                                                                                                                                                                                                                                                                        +        this.num_pending--;
                                                                                                                                                                                                                                                                                        +        this.notify_result(test);
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.notify_result = function(test) {
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        this.processing_callbacks = true;
                                                                                                                                                                                                                                                                                        +        forEach(this.test_done_callbacks,
                                                                                                                                                                                                                                                                                        +                function(callback)
                                                                                                                                                                                                                                                                                        +                {
                                                                                                                                                                                                                                                                                        +                    callback(test, this_obj);
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +        this.processing_callbacks = false;
                                                                                                                                                                                                                                                                                        +        if (this_obj.all_done()) {
                                                                                                                                                                                                                                                                                        +            this_obj.complete();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.complete = function() {
                                                                                                                                                                                                                                                                                        +        if (this.phase === this.phases.COMPLETE) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this.phase = this.phases.COMPLETE;
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        this.tests.forEach(
                                                                                                                                                                                                                                                                                        +            function(x)
                                                                                                                                                                                                                                                                                        +            {
                                                                                                                                                                                                                                                                                        +                if (x.phase < x.phases.COMPLETE) {
                                                                                                                                                                                                                                                                                        +                    this_obj.notify_result(x);
                                                                                                                                                                                                                                                                                        +                    x.cleanup();
                                                                                                                                                                                                                                                                                        +                    x.phase = x.phases.COMPLETE;
                                                                                                                                                                                                                                                                                        +                }
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +        );
                                                                                                                                                                                                                                                                                        +        this.notify_complete();
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.notify_complete = function() {
                                                                                                                                                                                                                                                                                        +        var this_obj = this;
                                                                                                                                                                                                                                                                                        +        if (this.status.status === null) {
                                                                                                                                                                                                                                                                                        +            this.status.status = this.status.OK;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        forEach (this.all_done_callbacks,
                                                                                                                                                                                                                                                                                        +                 function(callback)
                                                                                                                                                                                                                                                                                        +                 {
                                                                                                                                                                                                                                                                                        +                     callback(this_obj.tests, this_obj.status);
                                                                                                                                                                                                                                                                                        +                 });
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Tests.prototype.fetch_tests_from_worker = function(worker) {
                                                                                                                                                                                                                                                                                        +        if (this.phase >= this.phases.COMPLETE) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        this.pending_workers.push(new RemoteWorker(worker));
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function fetch_tests_from_worker(port) {
                                                                                                                                                                                                                                                                                        +        tests.fetch_tests_from_worker(port);
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(fetch_tests_from_worker, 'fetch_tests_from_worker');
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function timeout() {
                                                                                                                                                                                                                                                                                        +        if (tests.timeout_length === null) {
                                                                                                                                                                                                                                                                                        +            tests.timeout();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +    expose(timeout, 'timeout');
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function add_start_callback(callback) {
                                                                                                                                                                                                                                                                                        +        tests.start_callbacks.push(callback);
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function add_test_state_callback(callback) {
                                                                                                                                                                                                                                                                                        +        tests.test_state_callbacks.push(callback);
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function add_result_callback(callback)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +        tests.test_done_callbacks.push(callback);
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function add_completion_callback(callback)
                                                                                                                                                                                                                                                                                        +    {
                                                                                                                                                                                                                                                                                        +       tests.all_done_callbacks.push(callback);
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    expose(add_start_callback, 'add_start_callback');
                                                                                                                                                                                                                                                                                        +    expose(add_test_state_callback, 'add_test_state_callback');
                                                                                                                                                                                                                                                                                        +    expose(add_result_callback, 'add_result_callback');
                                                                                                                                                                                                                                                                                        +    expose(add_completion_callback, 'add_completion_callback');
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    /*
                                                                                                                                                                                                                                                                                        +     * Output listener
                                                                                                                                                                                                                                                                                        +    */
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    function Output() {
                                                                                                                                                                                                                                                                                        +        this.output_document = document;
                                                                                                                                                                                                                                                                                        +        this.output_node = null;
                                                                                                                                                                                                                                                                                        +        this.enabled = settings.output;
                                                                                                                                                                                                                                                                                        +        this.phase = this.INITIAL;
                                                                                                                                                                                                                                                                                        +    }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Output.prototype.INITIAL = 0;
                                                                                                                                                                                                                                                                                        +    Output.prototype.STARTED = 1;
                                                                                                                                                                                                                                                                                        +    Output.prototype.HAVE_RESULTS = 2;
                                                                                                                                                                                                                                                                                        +    Output.prototype.COMPLETE = 3;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Output.prototype.setup = function(properties) {
                                                                                                                                                                                                                                                                                        +        if (this.phase > this.INITIAL) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        //If output is disabled in testharnessreport.js the test shouldn't be
                                                                                                                                                                                                                                                                                        +        //able to override that
                                                                                                                                                                                                                                                                                        +        this.enabled = this.enabled && (properties.hasOwnProperty("output") ?
                                                                                                                                                                                                                                                                                        +                                        properties.output : settings.output);
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Output.prototype.init = function(properties) {
                                                                                                                                                                                                                                                                                        +        if (this.phase >= this.STARTED) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if (properties.output_document) {
                                                                                                                                                                                                                                                                                        +            this.output_document = properties.output_document;
                                                                                                                                                                                                                                                                                        +        } else {
                                                                                                                                                                                                                                                                                        +            this.output_document = document;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this.phase = this.STARTED;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Output.prototype.resolve_log = function() {
                                                                                                                                                                                                                                                                                        +        var output_document;
                                                                                                                                                                                                                                                                                        +        if (typeof this.output_document === "function") {
                                                                                                                                                                                                                                                                                        +            output_document = this.output_document.apply(undefined);
                                                                                                                                                                                                                                                                                        +        } else {
                                                                                                                                                                                                                                                                                        +            output_document = this.output_document;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if (!output_document) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        var node = output_document.getElementById("log");
                                                                                                                                                                                                                                                                                        +        if (!node) {
                                                                                                                                                                                                                                                                                        +            if (!document.body || document.readyState == "loading") {
                                                                                                                                                                                                                                                                                        +                return;
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +            node = output_document.createElement("div");
                                                                                                                                                                                                                                                                                        +            node.id = "log";
                                                                                                                                                                                                                                                                                        +            output_document.body.appendChild(node);
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this.output_document = output_document;
                                                                                                                                                                                                                                                                                        +        this.output_node = node;
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Output.prototype.show_status = function() {
                                                                                                                                                                                                                                                                                        +        if (this.phase < this.STARTED) {
                                                                                                                                                                                                                                                                                        +            this.init();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if (!this.enabled) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if (this.phase < this.HAVE_RESULTS) {
                                                                                                                                                                                                                                                                                        +            this.resolve_log();
                                                                                                                                                                                                                                                                                        +            this.phase = this.HAVE_RESULTS;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        var done_count = tests.tests.length - tests.num_pending;
                                                                                                                                                                                                                                                                                        +        if (this.output_node) {
                                                                                                                                                                                                                                                                                        +            if (done_count < 100 ||
                                                                                                                                                                                                                                                                                        +                (done_count < 1000 && done_count % 100 === 0) ||
                                                                                                                                                                                                                                                                                        +                done_count % 1000 === 0) {
                                                                                                                                                                                                                                                                                        +                this.output_node.textContent = "Running, " +
                                                                                                                                                                                                                                                                                        +                    done_count + " complete, " +
                                                                                                                                                                                                                                                                                        +                    tests.num_pending + " remain";
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +    };
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +    Output.prototype.show_results = function (tests, harness_status) {
                                                                                                                                                                                                                                                                                        +        if (this.phase >= this.COMPLETE) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if (!this.enabled) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        if (!this.output_node) {
                                                                                                                                                                                                                                                                                        +            this.resolve_log();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        this.phase = this.COMPLETE;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        var log = this.output_node;
                                                                                                                                                                                                                                                                                        +        if (!log) {
                                                                                                                                                                                                                                                                                        +            return;
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +        var output_document = this.output_document;
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        while (log.lastChild) {
                                                                                                                                                                                                                                                                                        +            log.removeChild(log.lastChild);
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        var script_prefix = null;
                                                                                                                                                                                                                                                                                        +        var scripts = document.getElementsByTagName("script");
                                                                                                                                                                                                                                                                                        +        for (var i = 0; i < scripts.length; i++) {
                                                                                                                                                                                                                                                                                        +            var src;
                                                                                                                                                                                                                                                                                        +            if (scripts[i].src) {
                                                                                                                                                                                                                                                                                        +                src = scripts[i].src;
                                                                                                                                                                                                                                                                                        +            } else if (scripts[i].href) {
                                                                                                                                                                                                                                                                                        +                //SVG case
                                                                                                                                                                                                                                                                                        +                src = scripts[i].href.baseVal;
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +            var matches = src && src.match(/^(.*\/|)testharness\.js$/);
                                                                                                                                                                                                                                                                                        +            if (matches) {
                                                                                                                                                                                                                                                                                        +                script_prefix = matches[1];
                                                                                                                                                                                                                                                                                        +                break;
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        if (script_prefix !== null) {
                                                                                                                                                                                                                                                                                        +            var stylesheet = output_document.createElementNS(xhtml_ns, "link");
                                                                                                                                                                                                                                                                                        +            stylesheet.setAttribute("rel", "stylesheet");
                                                                                                                                                                                                                                                                                        +            stylesheet.setAttribute("href", script_prefix + "testharness.css");
                                                                                                                                                                                                                                                                                        +            var heads = output_document.getElementsByTagName("head");
                                                                                                                                                                                                                                                                                        +            if (heads.length) {
                                                                                                                                                                                                                                                                                        +                heads[0].appendChild(stylesheet);
                                                                                                                                                                                                                                                                                        +            }
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        var status_text_harness = {};
                                                                                                                                                                                                                                                                                        +        status_text_harness[harness_status.OK] = "OK";
                                                                                                                                                                                                                                                                                        +        status_text_harness[harness_status.ERROR] = "Error";
                                                                                                                                                                                                                                                                                        +        status_text_harness[harness_status.TIMEOUT] = "Timeout";
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        var status_text = {};
                                                                                                                                                                                                                                                                                        +        status_text[Test.prototype.PASS] = "Pass";
                                                                                                                                                                                                                                                                                        +        status_text[Test.prototype.FAIL] = "Fail";
                                                                                                                                                                                                                                                                                        +        status_text[Test.prototype.TIMEOUT] = "Timeout";
                                                                                                                                                                                                                                                                                        +        status_text[Test.prototype.NOTRUN] = "Not Run";
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        var status_number = {};
                                                                                                                                                                                                                                                                                        +        forEach(tests,
                                                                                                                                                                                                                                                                                        +                function(test) {
                                                                                                                                                                                                                                                                                        +                    var status = status_text[test.status];
                                                                                                                                                                                                                                                                                        +                    if (status_number.hasOwnProperty(status)) {
                                                                                                                                                                                                                                                                                        +                        status_number[status] += 1;
                                                                                                                                                                                                                                                                                        +                    } else {
                                                                                                                                                                                                                                                                                        +                        status_number[status] = 1;
                                                                                                                                                                                                                                                                                        +                    }
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        function status_class(status)
                                                                                                                                                                                                                                                                                        +        {
                                                                                                                                                                                                                                                                                        +            return status.replace(/\s/g, '').toLowerCase();
                                                                                                                                                                                                                                                                                        +        }
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        var summary_template = ["section", {"id":"summary"},
                                                                                                                                                                                                                                                                                        +                                ["h2", {}, "Summary"],
                                                                                                                                                                                                                                                                                        +                                function()
                                                                                                                                                                                                                                                                                        +                                {
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +                                    var status = status_text_harness[harness_status.status];
                                                                                                                                                                                                                                                                                        +                                    var rv = [["section", {},
                                                                                                                                                                                                                                                                                        +                                               ["p", {},
                                                                                                                                                                                                                                                                                        +                                                "Harness status: ",
                                                                                                                                                                                                                                                                                        +                                                ["span", {"class":status_class(status)},
                                                                                                                                                                                                                                                                                        +                                                 status
                                                                                                                                                                                                                                                                                        +                                                ],
                                                                                                                                                                                                                                                                                        +                                               ]
                                                                                                                                                                                                                                                                                        +                                              ]];
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +                                    if (harness_status.status === harness_status.ERROR) {
                                                                                                                                                                                                                                                                                        +                                        rv[0].push(["pre", {}, harness_status.message]);
                                                                                                                                                                                                                                                                                        +                                        if (harness_status.stack) {
                                                                                                                                                                                                                                                                                        +                                            rv[0].push(["pre", {}, harness_status.stack]);
                                                                                                                                                                                                                                                                                        +                                        }
                                                                                                                                                                                                                                                                                        +                                    }
                                                                                                                                                                                                                                                                                        +                                    return rv;
                                                                                                                                                                                                                                                                                        +                                },
                                                                                                                                                                                                                                                                                        +                                ["p", {}, "Found ${num_tests} tests"],
                                                                                                                                                                                                                                                                                        +                                function() {
                                                                                                                                                                                                                                                                                        +                                    var rv = [["div", {}]];
                                                                                                                                                                                                                                                                                        +                                    var i = 0;
                                                                                                                                                                                                                                                                                        +                                    while (status_text.hasOwnProperty(i)) {
                                                                                                                                                                                                                                                                                        +                                        if (status_number.hasOwnProperty(status_text[i])) {
                                                                                                                                                                                                                                                                                        +                                            var status = status_text[i];
                                                                                                                                                                                                                                                                                        +                                            rv[0].push(["div", {"class":status_class(status)},
                                                                                                                                                                                                                                                                                        +                                                        ["label", {},
                                                                                                                                                                                                                                                                                        +                                                         ["input", {type:"checkbox", checked:"checked"}],
                                                                                                                                                                                                                                                                                        +                                                         status_number[status] + " " + status]]);
                                                                                                                                                                                                                                                                                        +                                        }
                                                                                                                                                                                                                                                                                        +                                        i++;
                                                                                                                                                                                                                                                                                        +                                    }
                                                                                                                                                                                                                                                                                        +                                    return rv;
                                                                                                                                                                                                                                                                                        +                                },
                                                                                                                                                                                                                                                                                        +                               ];
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        log.appendChild(render(summary_template, {num_tests:tests.length}, output_document));
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        forEach(output_document.querySelectorAll("section#summary label"),
                                                                                                                                                                                                                                                                                        +                function(element)
                                                                                                                                                                                                                                                                                        +                {
                                                                                                                                                                                                                                                                                        +                    on_event(element, "click",
                                                                                                                                                                                                                                                                                        +                             function(e)
                                                                                                                                                                                                                                                                                        +                             {
                                                                                                                                                                                                                                                                                        +                                 if (output_document.getElementById("results") === null) {
                                                                                                                                                                                                                                                                                        +                                     e.preventDefault();
                                                                                                                                                                                                                                                                                        +                                     return;
                                                                                                                                                                                                                                                                                        +                                 }
                                                                                                                                                                                                                                                                                        +                                 var result_class = element.parentNode.getAttribute("class");
                                                                                                                                                                                                                                                                                        +                                 var style_element = output_document.querySelector("style#hide-" + result_class);
                                                                                                                                                                                                                                                                                        +                                 var input_element = element.querySelector("input");
                                                                                                                                                                                                                                                                                        +                                 if (!style_element && !input_element.checked) {
                                                                                                                                                                                                                                                                                        +                                     style_element = output_document.createElementNS(xhtml_ns, "style");
                                                                                                                                                                                                                                                                                        +                                     style_element.id = "hide-" + result_class;
                                                                                                                                                                                                                                                                                        +                                     style_element.textContent = "table#results > tbody > tr."+result_class+"{display:none}";
                                                                                                                                                                                                                                                                                        +                                     output_document.body.appendChild(style_element);
                                                                                                                                                                                                                                                                                        +                                 } else if (style_element && input_element.checked) {
                                                                                                                                                                                                                                                                                        +                                     style_element.parentNode.removeChild(style_element);
                                                                                                                                                                                                                                                                                        +                                 }
                                                                                                                                                                                                                                                                                        +                             });
                                                                                                                                                                                                                                                                                        +                });
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +        // This use of innerHTML plus manual escaping is not recommended in
                                                                                                                                                                                                                                                                                        +        // general, but is necessary here for performance.  Using textContent
                                                                                                                                                                                                                                                                                        +        // on each individual  adds tens of seconds of execution time for
                                                                                                                                                                                                                                                                                        +        // large test suites (tens of thousands of tests).
                                                                                                                                                                                                                                                                                        +        function escape_html(s)
                                                                                                                                                                                                                                                                                        +        {
                                                                                                                                                                                                                                                                                        +            return s.replace(/\&/g, "&")
                                                                                                                                                                                                                                                                                        +                .replace(/" +
                                                                                                                                                                                                                                                                                        +            "ResultTest Name" +
                                                                                                                                                                                                                                                                                        +            (assertions ? "Assertion" : "") +
                                                                                                                                                                                                                                                                                        +            "Message" +
                                                                                                                                                                                                                                                                                        +            "";
                                                                                                                                                                                                                                                                                        +        for (var i = 0; i < tests.length; i++) {
                                                                                                                                                                                                                                                                                        +            html += '' +
                                                                                                                                                                                                                                                                                        +                escape_html(status_text[tests[i].status]) +
                                                                                                                                                                                                                                                                                        +                "" +
                                                                                                                                                                                                                                                                                        +                escape_html(tests[i].name) +
                                                                                                                                                                                                                                                                                        +                "" +
                                                                                                                                                                                                                                                                                        +                (assertions ? escape_html(get_assertion(tests[i])) + "" : "") +
                                                                                                                                                                                                                                                                                        +                escape_html(tests[i].message ? tests[i].message : " ") +
                                                                                                                                                                                                                                                                                        +                (tests[i].stack ? "
                                                                                                                                                                                                                                                                                        " +
                                                                                                                                                                                                                                                                                        +                 escape_html(tests[i].stack) +
                                                                                                                                                                                                                                                                                        +                 "
                                                                                                                                                                                                                                                                                        ": "") + + ""; + } + html += ""; + try { + log.lastChild.innerHTML = html; + } catch (e) { + log.appendChild(document.createElementNS(xhtml_ns, "p")) + .textContent = "Setting innerHTML for the log threw an exception."; + log.appendChild(document.createElementNS(xhtml_ns, "pre")) + .textContent = html; + } + }; + + /* + * Template code + * + * A template is just a javascript structure. An element is represented as: + * + * [tag_name, {attr_name:attr_value}, child1, child2] + * + * the children can either be strings (which act like text nodes), other templates or + * functions (see below) + * + * A text node is represented as + * + * ["{text}", value] + * + * String values have a simple substitution syntax; ${foo} represents a variable foo. + * + * It is possible to embed logic in templates by using a function in a place where a + * node would usually go. The function must either return part of a template or null. + * + * In cases where a set of nodes are required as output rather than a single node + * with children it is possible to just use a list + * [node1, node2, node3] + * + * Usage: + * + * render(template, substitutions) - take a template and an object mapping + * variable names to parameters and return either a DOM node or a list of DOM nodes + * + * substitute(template, substitutions) - take a template and variable mapping object, + * make the variable substitutions and return the substituted template + * + */ + + function is_single_node(template) + { + return typeof template[0] === "string"; + } + + function substitute(template, substitutions) + { + if (typeof template === "function") { + var replacement = template(substitutions); + if (!replacement) { + return null; + } + + return substitute(replacement, substitutions); + } + + if (is_single_node(template)) { + return substitute_single(template, substitutions); + } + + return filter(map(template, function(x) { + return substitute(x, substitutions); + }), function(x) {return x !== null;}); + } + + function substitute_single(template, substitutions) + { + var substitution_re = /\$\{([^ }]*)\}/g; + + function do_substitution(input) { + var components = input.split(substitution_re); + var rv = []; + for (var i = 0; i < components.length; i += 2) { + rv.push(components[i]); + if (components[i + 1]) { + rv.push(String(substitutions[components[i + 1]])); + } + } + return rv; + } + + function substitute_attrs(attrs, rv) + { + rv[1] = {}; + for (var name in template[1]) { + if (attrs.hasOwnProperty(name)) { + var new_name = do_substitution(name).join(""); + var new_value = do_substitution(attrs[name]).join(""); + rv[1][new_name] = new_value; + } + } + } + + function substitute_children(children, rv) + { + for (var i = 0; i < children.length; i++) { + if (children[i] instanceof Object) { + var replacement = substitute(children[i], substitutions); + if (replacement !== null) { + if (is_single_node(replacement)) { + rv.push(replacement); + } else { + extend(rv, replacement); + } + } + } else { + extend(rv, do_substitution(String(children[i]))); + } + } + return rv; + } + + var rv = []; + rv.push(do_substitution(String(template[0])).join("")); + + if (template[0] === "{text}") { + substitute_children(template.slice(1), rv); + } else { + substitute_attrs(template[1], rv); + substitute_children(template.slice(2), rv); + } + + return rv; + } + + function make_dom_single(template, doc) + { + var output_document = doc || document; + var element; + if (template[0] === "{text}") { + element = output_document.createTextNode(""); + for (var i = 1; i < template.length; i++) { + element.data += template[i]; + } + } else { + element = output_document.createElementNS(xhtml_ns, template[0]); + for (var name in template[1]) { + if (template[1].hasOwnProperty(name)) { + element.setAttribute(name, template[1][name]); + } + } + for (var i = 2; i < template.length; i++) { + if (template[i] instanceof Object) { + var sub_element = make_dom(template[i]); + element.appendChild(sub_element); + } else { + var text_node = output_document.createTextNode(template[i]); + element.appendChild(text_node); + } + } + } + + return element; + } + + function make_dom(template, substitutions, output_document) + { + if (is_single_node(template)) { + return make_dom_single(template, output_document); + } + + return map(template, function(x) { + return make_dom_single(x, output_document); + }); + } + + function render(template, substitutions, output_document) + { + return make_dom(substitute(template, substitutions), output_document); + } + + /* + * Utility funcions + */ + function assert(expected_true, function_name, description, error, substitutions) + { + if (tests.tests.length === 0) { + tests.set_file_is_test(); + } + if (expected_true !== true) { + var msg = make_message(function_name, description, + error, substitutions); + throw new AssertionError(msg); + } + } + + function AssertionError(message) + { + this.message = message; + this.stack = this.get_stack(); + } + + AssertionError.prototype = Object.create(Error.prototype); + + AssertionError.prototype.get_stack = function() { + var lines = new Error().stack.split("\n"); + var rv = []; + var re = /\/resources\/testharness\.js/; + var i = 0; + // Fire remove any preamble that doesn't match the regexp + while (!re.test(lines[i])) { + i++ + } + // Then remove top frames in testharness.js itself + while (re.test(lines[i])) { + i++ + } + return lines.slice(i).join("\n"); + } + + function make_message(function_name, description, error, substitutions) + { + for (var p in substitutions) { + if (substitutions.hasOwnProperty(p)) { + substitutions[p] = format_value(substitutions[p]); + } + } + var node_form = substitute(["{text}", "${function_name}: ${description}" + error], + merge({function_name:function_name, + description:(description?description + " ":"")}, + substitutions)); + return node_form.slice(1).join(""); + } + + function filter(array, callable, thisObj) { + var rv = []; + for (var i = 0; i < array.length; i++) { + if (array.hasOwnProperty(i)) { + var pass = callable.call(thisObj, array[i], i, array); + if (pass) { + rv.push(array[i]); + } + } + } + return rv; + } + + function map(array, callable, thisObj) + { + var rv = []; + rv.length = array.length; + for (var i = 0; i < array.length; i++) { + if (array.hasOwnProperty(i)) { + rv[i] = callable.call(thisObj, array[i], i, array); + } + } + return rv; + } + + function extend(array, items) + { + Array.prototype.push.apply(array, items); + } + + function forEach (array, callback, thisObj) + { + for (var i = 0; i < array.length; i++) { + if (array.hasOwnProperty(i)) { + callback.call(thisObj, array[i], i, array); + } + } + } + + function merge(a,b) + { + var rv = {}; + var p; + for (p in a) { + rv[p] = a[p]; + } + for (p in b) { + rv[p] = b[p]; + } + return rv; + } + + function expose(object, name) + { + var components = name.split("."); + var target = test_environment.global_scope(); + for (var i = 0; i < components.length - 1; i++) { + if (!(components[i] in target)) { + target[components[i]] = {}; + } + target = target[components[i]]; + } + target[components[components.length - 1]] = object; + } + + function is_same_origin(w) { + try { + 'random_prop' in w; + return true; + } catch (e) { + return false; + } + } + + function supports_post_message(w) + { + var supports; + var type; + // Given IE implements postMessage across nested iframes but not across + // windows or tabs, you can't infer cross-origin communication from the presence + // of postMessage on the current window object only. + // + // Touching the postMessage prop on a window can throw if the window is + // not from the same origin AND post message is not supported in that + // browser. So just doing an existence test here won't do, you also need + // to wrap it in a try..cacth block. + try { + type = typeof w.postMessage; + if (type === "function") { + supports = true; + } + + // IE8 supports postMessage, but implements it as a host object which + // returns "object" as its `typeof`. + else if (type === "object") { + supports = true; + } + + // This is the case where postMessage isn't supported AND accessing a + // window property across origins does NOT throw (e.g. old Safari browser). + else { + supports = false; + } + } catch (e) { + // This is the case where postMessage isn't supported AND accessing a + // window property across origins throws (e.g. old Firefox browser). + supports = false; + } + return supports; + } + + /** + * Setup globals + */ + + var tests = new Tests(); + + addEventListener("error", function(e) { + if (tests.file_is_test) { + var test = tests.tests[0]; + if (test.phase >= test.phases.HAS_RESULT) { + return; + } + test.set_status(test.FAIL, e.message, e.stack); + test.phase = test.phases.HAS_RESULT; + test.done(); + done(); + } else if (!tests.allow_uncaught_exception) { + tests.status.status = tests.status.ERROR; + tests.status.message = e.message; + tests.status.stack = e.stack; + } + }); + + test_environment.on_tests_ready(); + +})(); +// vim: set expandtab shiftwidth=4 tabstop=4: diff --git a/tests/wpt/web-platform-tests/resources/testharnessreport.js b/tests/wpt/web-platform-tests/resources/testharnessreport.js new file mode 100644 index 00000000000..f27f25a58ba --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/testharnessreport.js @@ -0,0 +1,21 @@ +/* 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/. */ + +var props = {output:%(output)d, + explicit_timeout: true}; + +if (window.opener && "timeout_multiplier" in window.opener) { + props["timeout_multiplier"] = window.opener.timeout_multiplier; +} + +if (window.opener && window.opener.explicit_timeout) { + props["explicit_timeout"] = window.opener.explicit_timeout; +} + +setup(props); +add_completion_callback(function() { + add_completion_callback(function(tests, status) { + window.opener.done(tests, status) + }) +}); diff --git a/tests/wpt/web-platform-tests/resources/webidl2/.gitignore b/tests/wpt/web-platform-tests/resources/webidl2/.gitignore new file mode 100644 index 00000000000..1d72980cd7e --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/.gitignore @@ -0,0 +1,4 @@ +scratch +node_modules +lib-cov +browser-tests.html diff --git a/tests/wpt/web-platform-tests/resources/webidl2/.gitmodules b/tests/wpt/web-platform-tests/resources/webidl2/.gitmodules new file mode 100644 index 00000000000..a3f5485cd33 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/.gitmodules @@ -0,0 +1,3 @@ +[submodule "test/widlproc"] + path = test/widlproc + url = https://github.com/dontcallmedom/widlproc.git diff --git a/tests/wpt/web-platform-tests/resources/webidl2/.travis.yml b/tests/wpt/web-platform-tests/resources/webidl2/.travis.yml new file mode 100644 index 00000000000..6e5919de39a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/.travis.yml @@ -0,0 +1,3 @@ +language: node_js +node_js: + - "0.10" diff --git a/tests/wpt/web-platform-tests/resources/webidl2/README.md b/tests/wpt/web-platform-tests/resources/webidl2/README.md new file mode 100644 index 00000000000..83aa27d71c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/README.md @@ -0,0 +1,725 @@ + +# WebIDL 2 + +[![NPM version](https://badge.fury.io/js/webidl2.png)](http://badge.fury.io/js/webidl2) + +Purpose +======= + +This is a parser for the [WebIDL](http://dev.w3.org/2006/webapi/WebIDL/) language. If +you don't know what that is, then you probably don't need it. It is meant to be used +both in Node and in the browser (the parser likely works in other JS environments, but +not the test suite). + +What of v1? +----------- +There was a previous incarnation of this project. I had written it in the most quick +and dirty manner that was handy because I required it as a dependency in an experiment. +As these things tend to happen, some people started using that, which then had to be +maintained. But since it was not built on solid foundations, it was painful to keep +up to date with the specification, which is a bit of a moving target. + +So I started from scratch. Compared to the previous version (which used a parser generator) +this one is about 6x less code (which translates to 4x smaller minified or 2x smaller +minizipped) and 4x faster. The test suite is reasonably complete (95% coverage), much more +than previously. This version is up to date with WebIDL, rather than a couple years' behind. +It also has *far* better error reporting. + +The AST you get from parsing is very similar to the one you got in v1, but some adjustments +have been made in order to be more systematic, and to map better to what's actually in the spec +now. If you used v1, you will need to tweak your code but the result ought to be simpler and +you ought to be able to be a fair bit less defensive against irregularities in the way +information is represented. + +Installation +============ + +Just the usual. For Node: + + npm install webidl2 + +In the browser: + + + +Documentation +============= + +The API to WebIDL2 is trivial: you parse a string of WebIDL and it returns a syntax tree. + +Parsing +------- +In Node, that happens with: + + var WebIDL2 = require("webidl2"); + var tree = WebIDL2.parse("string of WebIDL"); + +In the browser: + + + + +Errors +------ +When there is a syntax error in the WebIDL, it throws an exception object with the following +properties: + +* `message`: the error message +* `line`: the line at which the error occurred. +* `input`: a short peek at the text at the point where the error happened +* `tokens`: the five tokens at the point of error, as understood by the tokeniser + (this is the same content as `input`, but seen from the tokeniser's point of view) + +The exception also has a `toString()` method that hopefully should produce a decent +error message. + +AST (Abstract Syntax Tree) +-------------------------- +The `parse()` method returns a tree object representing the parse tree of the IDL. +Comment and white space are not represented in the AST. + +The root of this object is always an array of definitions (where definitions are +any of interfaces, exceptions, callbacks, etc. — anything that can occur at the root +of the IDL). + +### IDL Type + +This structure is used in many other places (operation return types, argument types, etc.). +It captures a WebIDL type with a number of options. Types look like this and are typically +attached to a field called `idlType`: + + { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + } + +Where the fields are as follows: + +* `sequence`: Boolean indicating whether this is a sequence or not. Deprecated. Use + `generic` instead. +* `generic`: String indicating the generic type (e.g. "Promise", "sequence"). `null` + otherwise. +* `nullable`: Boolean indicating whether this is nullable or not. +* `array`: Either `false` to indicate that it is not an array, or a number for the level of + array nesting. +* `union`: Boolean indicating whether this is a union type or not. +* `idlType`: Can be different things depending on context. In most cases, this will just + be a string with the type name. But the reason this field isn't called "typeName" is + because it can take more complex values. If the type is a union, then this contains an + array of the types it unites. If it is a generic type, it contains the IDL type + description for the type in the sequence, the eventual value of the promise, etc. + +#### Interactions between `nullable` and `array` + +A more complex data model for our AST would likely represent `Foo[][][]` as a series of +nested types four levels deep with three anonymous array types eventually containing a +`Foo` type. But experience shows that such structures are cumbersome to use, and so we +have a simpler model in which the depth of the array is specified with the `array` field. + +This is all fine and well, and in the vast majority of cases is actually simpler. But it +does run afoul of cases in which it is necessary to distinguish between `Foo[][][]?`, +`Foo?[][][]`, `Foo[][]?[]`, or even `Foo?[]?[]?[]?`. + +For this, when a type is an array type an additional `nullableArray` field is made available +that captures which of the arrays contain nullable elements. It contains booleans that are +true if the given array depth contains nullable elements, and false otherwise (mapping that to +the syntax, and item is true if there is a `?` preceding the `[]`). These examples ought to +clarify the model: + + Foo[][][]? + -> nullable: true + -> nullableArray: [false, false, false] + Foo?[][][] + -> nullable: false + -> nullableArray: [true, false, false] + Foo[][]?[] + -> nullable: false + -> nullableArray: [false, false, true] + Foo?[]?[]?[]? + -> nullable: true + -> nullableArray: [true, true, true] + +Of particular importance, please note that the overall type is only `nullable` if there is +a `?` at the end. + +### Interface +Interfaces look like this: + + { + "type": "interface", + "name": "Animal", + "partial": false, + "members": [...], + "inheritance": null, + "extAttrs": [...] + }, + { + "type": "interface", + "name": "Human", + "partial": false, + "members": [...], + "inheritance": "Animal", + "extAttrs": [...] + } + +The fields are as follows: + +* `type`: Always "interface". +* `name`: The name of the interface +* `partial`: A boolean indicating whether it's a partial interface. +* `members`: An array of interface members (attributes, operations, etc.). Empty if there are none. +* `inheritance`: A string giving the name of an interface this one inherits from, `null` otherwise. + **NOTE**: In v1 this was an array, but multiple inheritance is no longer supported so this didn't make + sense. +* `extAttrs`: A list of [extended attributes](#extended-attributes). + +### Callback Interfaces + +These are captured by the same structure as [Interfaces](#interface) except that +their `type` field is "callback interface". + +### Callback + +A callback looks like this: + + { + "type": "callback", + "name": "AsyncOperationCallback", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "arguments": [...], + "extAttrs": [] + } + +The fields are as follows: + +* `type`: Always "callback". +* `name`: The name of the callback. +* `idlType`: An [IDL Type](#idl-type) describing what the callback returns. +* `arguments`: A list of [arguments](#arguments), as in function paramters. +* `extAttrs`: A list of [extended attributes](#extended-attributes). + +### Dictionary + +A dictionary looks like this: + + { + "type": "dictionary", + "name": "PaintOptions", + "partial": false, + "members": [ + { + "type": "field", + "name": "fillPattern", + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "extAttrs": [], + "default": { + "type": "string", + "value": "black" + } + } + ], + "inheritance": null, + "extAttrs": [] + } + +The fields are as follows: + +* `type`: Always "dictionary". +* `name`: The dictionary name. +* `partial`: Boolean indicating whether it's a partial dictionary. +* `members`: An array of members (see below). +* `inheritance`: A string indicating which dictionary is being inherited from, `null` otherwise. +* `extAttrs`: A list of [extended attributes](#extended-attributes). + +All the members are fields as follows: + +* `type`: Always "field". +* `name`: The name of the field. +* `idlType`: An [IDL Type](#idl-type) describing what field's type. +* `extAttrs`: A list of [extended attributes](#extended-attributes). +* `default`: A [default value](#default-and-const-values), absent if there is none. + +### Exception + +An exception looks like this: + + { + "type": "exception", + "name": "HierarchyRequestError", + "members": [ + { + "type": "field", + "name": "code", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned short" + }, + "extAttrs": [] + } + ], + "inheritance": "DOMException", + "extAttrs": [] + } + +The fields are as follows: + +* `type`: Always "exception". +* `name`: The exception name. +* `members`: An array of members (constants or fields, where fields are described below). +* `inheritance`: A string indicating which exception is being inherited from, `null` otherwise. +* `extAttrs`: A list of [extended attributes](#extended-attributes). + +Members that aren't [constants](#constants) have the following fields: + +* `type`: Always "field". +* `name`: The field's name. +* `idlType`: An [IDL Type](#idl-type) describing what field's type. +* `extAttrs`: A list of [extended attributes](#extended-attributes). + +### Enum + +An enum looks like this: + + { + "type": "enum", + "name": "MealType", + "values": [ + "rice", + "noodles", + "other" + ], + "extAttrs": [] + } + +The fields are as follows: + +* `type`: Always "enum". +* `name`: The enum's name. +* `value`: An array of values (strings). +* `extAttrs`: A list of [extended attributes](#extended-attributes). + +### Typedef + +A typedef looks like this: + + { + "type": "typedef", + "typeExtAttrs": [], + "idlType": { + "sequence": true, + "generic": "sequence", + "nullable": false, + "array": false, + "union": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Point" + } + }, + "name": "PointSequence", + "extAttrs": [] + } + +The fields are as follows: + +* `type`: Always "typedef". +* `name`: The typedef's name. +* `idlType`: An [IDL Type](#idl-type) describing what typedef's type. +* `extAttrs`: A list of [extended attributes](#extended-attributes). +* `typeExtAttrs`: A list of [extended attributes](#extended-attributes) that apply to the +type rather than to the typedef as a whole. + +### Implements + +An implements definition looks like this: + + { + "type": "implements", + "target": "Node", + "implements": "EventTarget", + "extAttrs": [] + } + +The fields are as follows: + +* `type`: Always "implements". +* `target`: The interface that implements another. +* `implements`: The interface that is being implemented by the target. +* `extAttrs`: A list of [extended attributes](#extended-attributes). + +### Operation Member + +An operation looks like this: + + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "intersection", + "arguments": [ + { + "optional": false, + "variadic": true, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "long" + }, + "name": "ints" + } + ], + "extAttrs": [] + } + +The fields are as follows: + +* `type`: Always "operation". +* `getter`: True if a getter operation. +* `setter`: True if a setter operation. +* `creator`: True if a creator operation. +* `deleter`: True if a deleter operation. +* `legacycaller`: True if a legacycaller operation. +* `static`: True if a static operation. +* `stringifier`: True if a stringifier operation. +* `idlType`: An [IDL Type](#idl-type) of what the operation returns. If a stringifier, may be absent. +* `name`: The name of the operation. If a stringifier, may be `null`. +* `arguments`: An array of [arguments](#arguments) for the operation. +* `extAttrs`: A list of [extended attributes](#extended-attributes). + +### Attribute Member + +An attribute member looks like this: + + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "RegExp" + }, + "name": "regexp", + "extAttrs": [] + } + +The fields are as follows: + +* `type`: Always "attribute". +* `name`: The attribute's name. +* `static`: True if it's a static attribute. +* `stringifier`: True if it's a stringifier attribute. +* `inherit`: True if it's an inherit attribute. +* `readonly`: True if it's a read-only attribute. +* `idlType`: An [IDL Type](#idl-type) for the attribute. +* `extAttrs`: A list of [extended attributes](#extended-attributes). + +### Constant Member + +A constant member looks like this: + + { + "type": "const", + "nullable": false, + "idlType": "boolean", + "name": "DEBUG", + "value": { + "type": "boolean", + "value": false + }, + "extAttrs": [] + } + +The fields are as follows: + +* `type`: Always "const". +* `nullable`: Whether its type is nullable. +* `idlType`: The type of the constant (a simple type, the type name). +* `name`: The name of the constant. +* `value`: The constant value as described by [Const Values](#default-and-const-values) +* `extAttrs`: A list of [extended attributes](#extended-attributes). + +### Serializer Member + +Serializers come in many shapes, which are best understood by looking at the +examples below that map the IDL to the produced AST. + + // serializer; + { + "type": "serializer", + "extAttrs": [] + } + + // serializer DOMString serialize(); + { + "type": "serializer", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "operation": { + "name": "serialize", + "arguments": [] + }, + "extAttrs": [] + } + + // serializer = { from, to, amount, description }; + { + "type": "serializer", + "patternMap": true, + "names": [ + "from", + "to", + "amount", + "description" + ], + "extAttrs": [] + } + + // serializer = number; + { + "type": "serializer", + "name": "number", + "extAttrs": [] + } + + // serializer = [ name, number ]; + { + "type": "serializer", + "patternList": true, + "names": [ + "name", + "number" + ], + "extAttrs": [] + } + +The common fields are as follows: + +* `type`: Always "serializer". +* `extAttrs`: A list of [extended attributes](#extended-attributes). + +For a simple serializer, that's all there is. If the serializer is an operation, it will +have: + +* `idlType`: An [IDL Type](#idl-type) describing what the serializer returns. +* `operation`: An object with the following fields: + * `name`: The name of the operation. + * `arguments`: An array of [arguments](#arguments) for the operation. + +If the serializer is a pattern map: + +* `patternMap`: Always true. +* `names`: An array of names in the pattern map. + +If the serializer is a pattern list: + +* `patternList`: Always true. +* `names`: An array of names in the pattern list. + +Finally, if the serializer is a named serializer: + +* `name`: The serializer's name. + +### Iterator Member + +Iterator members look like this + + { + "type": "iterator", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Session2" + }, + "iteratorObject": "SessionIterator", + "extAttrs": [] + } + +* `type`: Always "iterator". +* `iteratorObject`: The string on the right-hand side; absent if there isn't one. +* the rest: same as on [operations](#operation-member). + +### Arguments + +The arguments (e.g. for an operation) look like this: + + "arguments": [ + { + "optional": false, + "variadic": true, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "long" + }, + "name": "ints" + } + ] + +The fields are as follows: + +* `optional`: True if the argument is optional. +* `variadic`: True if the argument is variadic. +* `idlType`: An [IDL Type](#idl-type) describing the type of the argument. +* `name`: The argument's name. +* `extAttrs`: A list of [extended attributes](#extended-attributes). + +### Extended Attributes + +Extended attributes are arrays of items that look like this: + + "extAttrs": [ + { + "name": "TreatNullAs", + "arguments": null, + "rhs": { + "type": "identifier", + "value": "EmptyString" + } + } + ] + +The fields are as follows: + +* `name`: The extended attribute's name. +* `arguments`: If the extended attribute takes arguments (e.g. `[Foo()]`) or if + its right-hand side does (e.g. `[NamedConstructor=Name(DOMString blah)]`) they + are listed here. Note that an empty arguments list will produce an empty array, + whereas the lack thereof will yield a `null`. If there is an `rhs` field then + they are the right-hand side's arguments, otherwise they apply to the extended + attribute directly. +* `rhs`: If there is a right-hand side, this will capture its `type` (always + "identifier" in practice, though it may be extended in the future) and its + `value`. +* `typePair`: If the extended attribute is a `MapClass` this will capture the + map's key type and value type respectively. + +### Default and Const Values + +Dictionary fields and operation arguments can take default values, and constants take +values, all of which have the following fields: + +* `type`: One of string, number, boolean, null, Infinity, or NaN. + +For string, number, and boolean: + +* `value`: The value of the given type. + +For Infinity: + +* `negative`: Boolean indicating whether this is negative Infinity or not. + + +Testing +======= + +In order to run the tests you need to ensure that the widlproc submodule inside `test` is +initialised and up to date: + + git submodule init + git submodule update + +Running +------- +The test runs with mocha and expect.js. Normally, running mocha in the root directory +should be enough once you're set up. + +Coverage +-------- +Current test coverage, as documented in `coverage.html`, is 95%. You can run your own +coverage analysis with: + + jscoverage lib lib-cov + +That will create the lib-cov directory with instrumented code; the test suite knows +to use that if needed. You can then run the tests with: + + JSCOV=1 mocha --reporter html-cov > coverage.html + +Note that I've been getting weirdly overescaped results from the html-cov reporter, +so you might wish to try this instead: + + JSCOV=1 mocha --reporter html-cov | sed "s/<//g" | sed "s/"/\"/g" > coverage.html + +Browser tests +------------- +In order to test in the browser, get inside `test/web` and run `make-web-tests.js`. This +will generate a `browser-tests.html` file that you can open in a browser. As of this +writing tests pass in the latest Firefox, Chrome, Opera, and Safari. Testing on IE +and older versions will happen progressively. + +TODO +==== + +* add some tests to address coverage limitations +* add a push API for processors that need to process things like comments diff --git a/tests/wpt/web-platform-tests/resources/webidl2/coverage.html b/tests/wpt/web-platform-tests/resources/webidl2/coverage.html new file mode 100644 index 00000000000..46e7ed324ec --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/coverage.html @@ -0,0 +1,341 @@ +Coverage +

                                                                                                                                                                                                                                                                                        Coverage

                                                                                                                                                                                                                                                                                        95%
                                                                                                                                                                                                                                                                                        572
                                                                                                                                                                                                                                                                                        548
                                                                                                                                                                                                                                                                                        24

                                                                                                                                                                                                                                                                                        webidl2.js

                                                                                                                                                                                                                                                                                        95%
                                                                                                                                                                                                                                                                                        572
                                                                                                                                                                                                                                                                                        548
                                                                                                                                                                                                                                                                                        24
                                                                                                                                                                                                                                                                                        LineHitsSource
                                                                                                                                                                                                                                                                                        1
                                                                                                                                                                                                                                                                                        2
                                                                                                                                                                                                                                                                                        31(function () {
                                                                                                                                                                                                                                                                                        41 var tokenise = function (str) {
                                                                                                                                                                                                                                                                                        547 var tokens = []
                                                                                                                                                                                                                                                                                        6 , re = {
                                                                                                                                                                                                                                                                                        7 "float": /^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][-+]?[0-9]+)?|[0-9]+[Ee][-+]?[0-9]+)/
                                                                                                                                                                                                                                                                                        8 , "integer": /^-?(0([Xx][0-9A-Fa-f]+|[0-7]*)|[1-9][0-9]*)/
                                                                                                                                                                                                                                                                                        9 , "identifier": /^[A-Z_a-z][0-9A-Z_a-z]*/
                                                                                                                                                                                                                                                                                        10 , "string": /^"[^"]*"/
                                                                                                                                                                                                                                                                                        11 , "whitespace": /^(?:[\t\n\r ]+|[\t\n\r ]*((\/\/.*|\/\*(.|\n|\r)*?\*\/)[\t\n\r ]*))+/
                                                                                                                                                                                                                                                                                        12 , "other": /^[^\t\n\r 0-9A-Z_a-z]/
                                                                                                                                                                                                                                                                                        13 }
                                                                                                                                                                                                                                                                                        14 , types = []
                                                                                                                                                                                                                                                                                        15 ;
                                                                                                                                                                                                                                                                                        16329 for (var k in re) types.push(k);
                                                                                                                                                                                                                                                                                        1747 while (str.length > 0) {
                                                                                                                                                                                                                                                                                        182914 var matched = false;
                                                                                                                                                                                                                                                                                        192914 for (var i = 0, n = types.length; i < n; i++) {
                                                                                                                                                                                                                                                                                        2013325 var type = types[i];
                                                                                                                                                                                                                                                                                        2113325 str = str.replace(re[type], function (tok) {
                                                                                                                                                                                                                                                                                        222914 tokens.push({ type: type, value: tok });
                                                                                                                                                                                                                                                                                        232914 matched = true;
                                                                                                                                                                                                                                                                                        242914 return "";
                                                                                                                                                                                                                                                                                        25 });
                                                                                                                                                                                                                                                                                        2616239 if (matched) break;
                                                                                                                                                                                                                                                                                        27 }
                                                                                                                                                                                                                                                                                        285828 if (matched) continue;
                                                                                                                                                                                                                                                                                        290 throw new Error("Token stream not progressing");
                                                                                                                                                                                                                                                                                        30 }
                                                                                                                                                                                                                                                                                        3147 return tokens;
                                                                                                                                                                                                                                                                                        32 };
                                                                                                                                                                                                                                                                                        33
                                                                                                                                                                                                                                                                                        341 var parse = function (tokens) {
                                                                                                                                                                                                                                                                                        3547 var line = 1;
                                                                                                                                                                                                                                                                                        3647 tokens = tokens.slice();
                                                                                                                                                                                                                                                                                        37
                                                                                                                                                                                                                                                                                        3847 var FLOAT = "float"
                                                                                                                                                                                                                                                                                        39 , INT = "integer"
                                                                                                                                                                                                                                                                                        40 , ID = "identifier"
                                                                                                                                                                                                                                                                                        41 , STR = "string"
                                                                                                                                                                                                                                                                                        42 , OTHER = "other"
                                                                                                                                                                                                                                                                                        43 ;
                                                                                                                                                                                                                                                                                        44
                                                                                                                                                                                                                                                                                        4547 var WebIDLParseError = function (str, line, input, tokens) {
                                                                                                                                                                                                                                                                                        460 this.message = str;
                                                                                                                                                                                                                                                                                        470 this.line = line;
                                                                                                                                                                                                                                                                                        480 this.input = input;
                                                                                                                                                                                                                                                                                        490 this.tokens = tokens;
                                                                                                                                                                                                                                                                                        50 };
                                                                                                                                                                                                                                                                                        5147 WebIDLParseError.prototype.toString = function () {
                                                                                                                                                                                                                                                                                        520 return this.message + ", line " + this.line + " (tokens: '" + this.input + "')\n" +
                                                                                                                                                                                                                                                                                        53 JSON.stringify(this.tokens, null, 4);
                                                                                                                                                                                                                                                                                        54 };
                                                                                                                                                                                                                                                                                        55
                                                                                                                                                                                                                                                                                        5647 var error = function (str) {
                                                                                                                                                                                                                                                                                        570 var tok = "", numTokens = 0, maxTokens = 5;
                                                                                                                                                                                                                                                                                        580 while (numTokens < maxTokens && tokens.length > numTokens) {
                                                                                                                                                                                                                                                                                        590 tok += tokens[numTokens].value;
                                                                                                                                                                                                                                                                                        600 numTokens++;
                                                                                                                                                                                                                                                                                        61 }
                                                                                                                                                                                                                                                                                        620 throw new WebIDLParseError(str, line, tok, tokens.slice(0, 5));
                                                                                                                                                                                                                                                                                        63 };
                                                                                                                                                                                                                                                                                        64
                                                                                                                                                                                                                                                                                        6547 var last_token = null;
                                                                                                                                                                                                                                                                                        66
                                                                                                                                                                                                                                                                                        6747 var consume = function (type, value) {
                                                                                                                                                                                                                                                                                        688778 if (!tokens.length || tokens[0].type !== type) return;
                                                                                                                                                                                                                                                                                        695470 if (typeof value === "undefined" || tokens[0].value === value) {
                                                                                                                                                                                                                                                                                        701738 last_token = tokens.shift();
                                                                                                                                                                                                                                                                                        711738 return last_token;
                                                                                                                                                                                                                                                                                        72 }
                                                                                                                                                                                                                                                                                        73 };
                                                                                                                                                                                                                                                                                        74
                                                                                                                                                                                                                                                                                        7547 var ws = function () {
                                                                                                                                                                                                                                                                                        766961 if (!tokens.length) return;
                                                                                                                                                                                                                                                                                        77 // console.log("tokens.length", tokens.length, tokens[0]);
                                                                                                                                                                                                                                                                                        786115 if (tokens[0].type === "whitespace") {
                                                                                                                                                                                                                                                                                        791172 var t = tokens.shift();
                                                                                                                                                                                                                                                                                        802294 t.value.replace(/\n/g, function (m) { line++; return m; });
                                                                                                                                                                                                                                                                                        811172 return t;
                                                                                                                                                                                                                                                                                        82 }
                                                                                                                                                                                                                                                                                        83 };
                                                                                                                                                                                                                                                                                        84
                                                                                                                                                                                                                                                                                        8547 var all_ws = function () {
                                                                                                                                                                                                                                                                                        865366 var t = { type: "whitespace", value: "" };
                                                                                                                                                                                                                                                                                        875366 while (true) {
                                                                                                                                                                                                                                                                                        886538 var w = ws();
                                                                                                                                                                                                                                                                                        8911904 if (!w) break;
                                                                                                                                                                                                                                                                                        901172 t.value += w.value;
                                                                                                                                                                                                                                                                                        91 }
                                                                                                                                                                                                                                                                                        926538 if (t.value.length > 0) return t;
                                                                                                                                                                                                                                                                                        93 };
                                                                                                                                                                                                                                                                                        94
                                                                                                                                                                                                                                                                                        9547 var integer_type = function () {
                                                                                                                                                                                                                                                                                        96273 var ret = "";
                                                                                                                                                                                                                                                                                        97273 all_ws();
                                                                                                                                                                                                                                                                                        98312 if (consume(ID, "unsigned")) ret = "unsigned ";
                                                                                                                                                                                                                                                                                        99273 all_ws();
                                                                                                                                                                                                                                                                                        100287 if (consume(ID, "short")) return ret + "short";
                                                                                                                                                                                                                                                                                        101259 if (consume(ID, "long")) {
                                                                                                                                                                                                                                                                                        10241 ret += "long";
                                                                                                                                                                                                                                                                                        10341 all_ws();
                                                                                                                                                                                                                                                                                        10443 if (consume(ID, "long")) return ret + " long";
                                                                                                                                                                                                                                                                                        10539 return ret;
                                                                                                                                                                                                                                                                                        106 }
                                                                                                                                                                                                                                                                                        107218 if (ret) error("Failed to parse integer type");
                                                                                                                                                                                                                                                                                        108 };
                                                                                                                                                                                                                                                                                        109
                                                                                                                                                                                                                                                                                        11047 var float_type = function () {
                                                                                                                                                                                                                                                                                        111218 var ret = "";
                                                                                                                                                                                                                                                                                        112218 all_ws();
                                                                                                                                                                                                                                                                                        113222 if (consume(ID, "unrestricted")) ret = "unrestricted ";
                                                                                                                                                                                                                                                                                        114218 all_ws();
                                                                                                                                                                                                                                                                                        115257 if (consume(ID, "float")) return ret + "float";
                                                                                                                                                                                                                                                                                        116182 if (consume(ID, "double")) return ret + "double";
                                                                                                                                                                                                                                                                                        117176 if (ret) error("Failed to parse float type");
                                                                                                                                                                                                                                                                                        118 };
                                                                                                                                                                                                                                                                                        119
                                                                                                                                                                                                                                                                                        12047 var primitive_type = function () {
                                                                                                                                                                                                                                                                                        121273 var num_type = integer_type() || float_type();
                                                                                                                                                                                                                                                                                        122370 if (num_type) return num_type;
                                                                                                                                                                                                                                                                                        123176 all_ws();
                                                                                                                                                                                                                                                                                        124186 if (consume(ID, "boolean")) return "boolean";
                                                                                                                                                                                                                                                                                        125167 if (consume(ID, "byte")) return "byte";
                                                                                                                                                                                                                                                                                        126168 if (consume(ID, "octet")) return "octet";
                                                                                                                                                                                                                                                                                        127 };
                                                                                                                                                                                                                                                                                        128
                                                                                                                                                                                                                                                                                        12947 var const_value = function () {
                                                                                                                                                                                                                                                                                        13017 if (consume(ID, "true")) return true;
                                                                                                                                                                                                                                                                                        13119 if (consume(ID, "false")) return false;
                                                                                                                                                                                                                                                                                        13217 if (consume(ID, "null")) return null;
                                                                                                                                                                                                                                                                                        13314 if (consume(ID, "Infinity")) return Infinity;
                                                                                                                                                                                                                                                                                        13413 if (consume(ID, "NaN")) return NaN;
                                                                                                                                                                                                                                                                                        13511 var ret = consume(FLOAT) || consume(INT);
                                                                                                                                                                                                                                                                                        13619 if (ret) return 1 * ret.value;
                                                                                                                                                                                                                                                                                        1373 var tok = consume(OTHER, "-");
                                                                                                                                                                                                                                                                                        1383 if (tok) {
                                                                                                                                                                                                                                                                                        1392 if (consume(ID, "Infinity")) return -Infinity;
                                                                                                                                                                                                                                                                                        1400 else tokens.unshift(tok);
                                                                                                                                                                                                                                                                                        141 }
                                                                                                                                                                                                                                                                                        142 };
                                                                                                                                                                                                                                                                                        143
                                                                                                                                                                                                                                                                                        14447 var type_suffix = function (obj) {
                                                                                                                                                                                                                                                                                        145249 while (true) {
                                                                                                                                                                                                                                                                                        146263 all_ws();
                                                                                                                                                                                                                                                                                        147263 if (consume(OTHER, "?")) {
                                                                                                                                                                                                                                                                                        14811 if (obj.nullable) error("Can't nullable more than once");
                                                                                                                                                                                                                                                                                        14911 obj.nullable = true;
                                                                                                                                                                                                                                                                                        150 }
                                                                                                                                                                                                                                                                                        151252 else if (consume(OTHER, "[")) {
                                                                                                                                                                                                                                                                                        1523 all_ws();
                                                                                                                                                                                                                                                                                        1533 consume(OTHER, "]") || error("Unterminated array type");
                                                                                                                                                                                                                                                                                        1545 if (!obj.array) obj.array = 1;
                                                                                                                                                                                                                                                                                        1551 else obj.array++;
                                                                                                                                                                                                                                                                                        156 }
                                                                                                                                                                                                                                                                                        157249 else return;
                                                                                                                                                                                                                                                                                        158 }
                                                                                                                                                                                                                                                                                        159 };
                                                                                                                                                                                                                                                                                        160
                                                                                                                                                                                                                                                                                        16147 var single_type = function () {
                                                                                                                                                                                                                                                                                        162261 var prim = primitive_type()
                                                                                                                                                                                                                                                                                        163 , ret = { sequence: false, nullable: false, array: false, union: false }
                                                                                                                                                                                                                                                                                        164 ;
                                                                                                                                                                                                                                                                                        165261 if (prim) {
                                                                                                                                                                                                                                                                                        16699 ret.idlType = prim;
                                                                                                                                                                                                                                                                                        167 }
                                                                                                                                                                                                                                                                                        168162 else if (consume(ID, "sequence")) {
                                                                                                                                                                                                                                                                                        1694 all_ws();
                                                                                                                                                                                                                                                                                        1704 if (!consume(OTHER, "<")) {
                                                                                                                                                                                                                                                                                        1710 ret.idlType = "sequence";
                                                                                                                                                                                                                                                                                        172 }
                                                                                                                                                                                                                                                                                        173 else {
                                                                                                                                                                                                                                                                                        1744 ret.sequence = true;
                                                                                                                                                                                                                                                                                        1754 ret.idlType = type() || error("Error parsing sequence type");
                                                                                                                                                                                                                                                                                        1764 all_ws();
                                                                                                                                                                                                                                                                                        1774 if (!consume(OTHER, ">")) error("Unterminated sequence");
                                                                                                                                                                                                                                                                                        1784 all_ws();
                                                                                                                                                                                                                                                                                        1795 if (consume(OTHER, "?")) ret.nullable = true;
                                                                                                                                                                                                                                                                                        1804 return ret;
                                                                                                                                                                                                                                                                                        181 }
                                                                                                                                                                                                                                                                                        182 }
                                                                                                                                                                                                                                                                                        183 else {
                                                                                                                                                                                                                                                                                        184158 var name = consume(ID);
                                                                                                                                                                                                                                                                                        185169 if (!name) return;
                                                                                                                                                                                                                                                                                        186147 ret.idlType = name.value;
                                                                                                                                                                                                                                                                                        187 }
                                                                                                                                                                                                                                                                                        188246 type_suffix(ret);
                                                                                                                                                                                                                                                                                        189246 if (ret.nullable && ret.idlType === "any") error("Type any cannot be made nullable");
                                                                                                                                                                                                                                                                                        190246 return ret;
                                                                                                                                                                                                                                                                                        191 };
                                                                                                                                                                                                                                                                                        192
                                                                                                                                                                                                                                                                                        19347 var union_type = function () {
                                                                                                                                                                                                                                                                                        19411 all_ws();
                                                                                                                                                                                                                                                                                        19519 if (!consume(OTHER, "(")) return;
                                                                                                                                                                                                                                                                                        1963 var ret = { sequence: false, nullable: false, array: false, union: true, idlType: [] };
                                                                                                                                                                                                                                                                                        1973 var fst = type() || error("Union type with no content");
                                                                                                                                                                                                                                                                                        1983 ret.idlType.push(fst);
                                                                                                                                                                                                                                                                                        1993 while (true) {
                                                                                                                                                                                                                                                                                        2007 all_ws();
                                                                                                                                                                                                                                                                                        20110 if (!consume(ID, "or")) break;
                                                                                                                                                                                                                                                                                        2024 var typ = type() || error("No type after 'or' in union type");
                                                                                                                                                                                                                                                                                        2034 ret.idlType.push(typ);
                                                                                                                                                                                                                                                                                        204 }
                                                                                                                                                                                                                                                                                        2053 if (!consume(OTHER, ")")) error("Unterminated union type");
                                                                                                                                                                                                                                                                                        2063 type_suffix(ret);
                                                                                                                                                                                                                                                                                        2073 return ret;
                                                                                                                                                                                                                                                                                        208 };
                                                                                                                                                                                                                                                                                        209
                                                                                                                                                                                                                                                                                        21047 var type = function () {
                                                                                                                                                                                                                                                                                        211261 return single_type() || union_type();
                                                                                                                                                                                                                                                                                        212 };
                                                                                                                                                                                                                                                                                        213
                                                                                                                                                                                                                                                                                        21447 var argument = function () {
                                                                                                                                                                                                                                                                                        21579 var ret = { optional: false, variadic: false };
                                                                                                                                                                                                                                                                                        21679 ret.extAttrs = extended_attrs();
                                                                                                                                                                                                                                                                                        21779 all_ws();
                                                                                                                                                                                                                                                                                        21879 if (consume(ID, "optional")) {
                                                                                                                                                                                                                                                                                        2192 ret.optional = true;
                                                                                                                                                                                                                                                                                        2202 all_ws();
                                                                                                                                                                                                                                                                                        221 }
                                                                                                                                                                                                                                                                                        22279 ret.type = type();
                                                                                                                                                                                                                                                                                        22387 if (!ret.type) return;
                                                                                                                                                                                                                                                                                        22471 if (!ret.optional) {
                                                                                                                                                                                                                                                                                        22569 all_ws();
                                                                                                                                                                                                                                                                                        22669 if (tokens.length >= 3 &&
                                                                                                                                                                                                                                                                                        227 tokens[0].type === "other" && tokens[0].value === "." &&
                                                                                                                                                                                                                                                                                        228 tokens[1].type === "other" && tokens[1].value === "." &&
                                                                                                                                                                                                                                                                                        229 tokens[2].type === "other" && tokens[2].value === "."
                                                                                                                                                                                                                                                                                        230 ) {
                                                                                                                                                                                                                                                                                        2314 tokens.shift();
                                                                                                                                                                                                                                                                                        2324 tokens.shift();
                                                                                                                                                                                                                                                                                        2334 tokens.shift();
                                                                                                                                                                                                                                                                                        2344 ret.variadic = true;
                                                                                                                                                                                                                                                                                        235 }
                                                                                                                                                                                                                                                                                        236 }
                                                                                                                                                                                                                                                                                        23771 all_ws();
                                                                                                                                                                                                                                                                                        23871 var name = consume(ID) || error("No name in argument");
                                                                                                                                                                                                                                                                                        23971 ret.name = name.value;
                                                                                                                                                                                                                                                                                        24071 if (ret.optional) {
                                                                                                                                                                                                                                                                                        2412 all_ws();
                                                                                                                                                                                                                                                                                        2422 ret["default"] = default_();
                                                                                                                                                                                                                                                                                        243 }
                                                                                                                                                                                                                                                                                        24471 return ret;
                                                                                                                                                                                                                                                                                        245 };
                                                                                                                                                                                                                                                                                        246
                                                                                                                                                                                                                                                                                        24747 var argument_list = function () {
                                                                                                                                                                                                                                                                                        24859 var arg = argument(), ret = [];
                                                                                                                                                                                                                                                                                        24967 if (!arg) return ret;
                                                                                                                                                                                                                                                                                        25051 ret.push(arg);
                                                                                                                                                                                                                                                                                        25151 while (true) {
                                                                                                                                                                                                                                                                                        25271 all_ws();
                                                                                                                                                                                                                                                                                        253122 if (!consume(OTHER, ",")) return ret;
                                                                                                                                                                                                                                                                                        25420 all_ws();
                                                                                                                                                                                                                                                                                        25520 var nxt = argument() || error("Trailing comma in arguments list");
                                                                                                                                                                                                                                                                                        25620 ret.push(nxt);
                                                                                                                                                                                                                                                                                        257 }
                                                                                                                                                                                                                                                                                        258 };
                                                                                                                                                                                                                                                                                        259
                                                                                                                                                                                                                                                                                        26047 var simple_extended_attr = function () {
                                                                                                                                                                                                                                                                                        26117 all_ws();
                                                                                                                                                                                                                                                                                        26217 var name = consume(ID);
                                                                                                                                                                                                                                                                                        26317 if (!name) return;
                                                                                                                                                                                                                                                                                        26417 var ret = {
                                                                                                                                                                                                                                                                                        265 name: name.value
                                                                                                                                                                                                                                                                                        266 , "arguments": null
                                                                                                                                                                                                                                                                                        267 };
                                                                                                                                                                                                                                                                                        26817 all_ws();
                                                                                                                                                                                                                                                                                        26917 var eq = consume(OTHER, "=");
                                                                                                                                                                                                                                                                                        27017 if (eq) {
                                                                                                                                                                                                                                                                                        2715 all_ws();
                                                                                                                                                                                                                                                                                        2725 ret.rhs = consume(ID);
                                                                                                                                                                                                                                                                                        2735 if (!ret.rhs) return error("No right hand side to extended attribute assignment");
                                                                                                                                                                                                                                                                                        274 }
                                                                                                                                                                                                                                                                                        27517 all_ws();
                                                                                                                                                                                                                                                                                        27617 if (consume(OTHER, "(")) {
                                                                                                                                                                                                                                                                                        2772 ret["arguments"] = argument_list();
                                                                                                                                                                                                                                                                                        2782 all_ws();
                                                                                                                                                                                                                                                                                        2792 consume(OTHER, ")") || error("Unclosed argument in extended attribute");
                                                                                                                                                                                                                                                                                        280 }
                                                                                                                                                                                                                                                                                        28117 return ret;
                                                                                                                                                                                                                                                                                        282 };
                                                                                                                                                                                                                                                                                        283
                                                                                                                                                                                                                                                                                        284 // Note: we parse something simpler than the official syntax. It's all that ever
                                                                                                                                                                                                                                                                                        285 // seems to be used
                                                                                                                                                                                                                                                                                        28647 var extended_attrs = function () {
                                                                                                                                                                                                                                                                                        287415 var eas = [];
                                                                                                                                                                                                                                                                                        288415 all_ws();
                                                                                                                                                                                                                                                                                        289815 if (!consume(OTHER, "[")) return eas;
                                                                                                                                                                                                                                                                                        29015 eas[0] = simple_extended_attr() || error("Extended attribute with not content");
                                                                                                                                                                                                                                                                                        29115 all_ws();
                                                                                                                                                                                                                                                                                        29215 while (consume(OTHER, ",")) {
                                                                                                                                                                                                                                                                                        2932 all_ws();
                                                                                                                                                                                                                                                                                        2942 eas.push(simple_extended_attr() || error("Trailing comma in extended attribute"));
                                                                                                                                                                                                                                                                                        2952 all_ws();
                                                                                                                                                                                                                                                                                        296 }
                                                                                                                                                                                                                                                                                        29715 consume(OTHER, "]") || error("No end of extended attribute");
                                                                                                                                                                                                                                                                                        29815 return eas;
                                                                                                                                                                                                                                                                                        299 };
                                                                                                                                                                                                                                                                                        300
                                                                                                                                                                                                                                                                                        30147 var default_ = function () {
                                                                                                                                                                                                                                                                                        30211 all_ws();
                                                                                                                                                                                                                                                                                        30311 if (consume(OTHER, "=")) {
                                                                                                                                                                                                                                                                                        3045 all_ws();
                                                                                                                                                                                                                                                                                        3055 var def = const_value();
                                                                                                                                                                                                                                                                                        3065 if (typeof def !== "undefined") {
                                                                                                                                                                                                                                                                                        3073 return def;
                                                                                                                                                                                                                                                                                        308 }
                                                                                                                                                                                                                                                                                        309 else {
                                                                                                                                                                                                                                                                                        3102 var str = consume(STR) || error("No value for default");
                                                                                                                                                                                                                                                                                        3112 return str;
                                                                                                                                                                                                                                                                                        312 }
                                                                                                                                                                                                                                                                                        313 }
                                                                                                                                                                                                                                                                                        314 };
                                                                                                                                                                                                                                                                                        315
                                                                                                                                                                                                                                                                                        31647 var const_ = function () {
                                                                                                                                                                                                                                                                                        317180 all_ws();
                                                                                                                                                                                                                                                                                        318348 if (!consume(ID, "const")) return;
                                                                                                                                                                                                                                                                                        31912 var ret = { type: "const", nullable: false };
                                                                                                                                                                                                                                                                                        32012 all_ws();
                                                                                                                                                                                                                                                                                        32112 var typ = primitive_type();
                                                                                                                                                                                                                                                                                        32212 if (!typ) {
                                                                                                                                                                                                                                                                                        3230 typ = consume(ID) || error("No type for const");
                                                                                                                                                                                                                                                                                        3240 typ = typ.value;
                                                                                                                                                                                                                                                                                        325 }
                                                                                                                                                                                                                                                                                        32612 ret.idlType = typ;
                                                                                                                                                                                                                                                                                        32712 all_ws();
                                                                                                                                                                                                                                                                                        32812 if (consume(OTHER, "?")) {
                                                                                                                                                                                                                                                                                        3291 ret.nullable = true;
                                                                                                                                                                                                                                                                                        3301 all_ws();
                                                                                                                                                                                                                                                                                        331 }
                                                                                                                                                                                                                                                                                        33212 var name = consume(ID) || error("No name for const");
                                                                                                                                                                                                                                                                                        33312 ret.name = name.value;
                                                                                                                                                                                                                                                                                        33412 all_ws();
                                                                                                                                                                                                                                                                                        33512 consume(OTHER, "=") || error("No value assignment for const");
                                                                                                                                                                                                                                                                                        33612 all_ws();
                                                                                                                                                                                                                                                                                        33712 var cnt = const_value();
                                                                                                                                                                                                                                                                                        33824 if (typeof cnt !== "undefined") ret.value = cnt;
                                                                                                                                                                                                                                                                                        3390 else error("No value for const");
                                                                                                                                                                                                                                                                                        34012 all_ws();
                                                                                                                                                                                                                                                                                        34112 consume(OTHER, ";") || error("Unterminated const");
                                                                                                                                                                                                                                                                                        34212 return ret;
                                                                                                                                                                                                                                                                                        343 };
                                                                                                                                                                                                                                                                                        344
                                                                                                                                                                                                                                                                                        34547 var inheritance = function () {
                                                                                                                                                                                                                                                                                        34689 all_ws();
                                                                                                                                                                                                                                                                                        34789 if (consume(OTHER, ":")) {
                                                                                                                                                                                                                                                                                        3489 all_ws();
                                                                                                                                                                                                                                                                                        3499 var inh = consume(ID) || error ("No type in inheritance");
                                                                                                                                                                                                                                                                                        3509 return inh.value;
                                                                                                                                                                                                                                                                                        351 }
                                                                                                                                                                                                                                                                                        352 };
                                                                                                                                                                                                                                                                                        353
                                                                                                                                                                                                                                                                                        35447 var operation_rest = function (ret) {
                                                                                                                                                                                                                                                                                        35556 all_ws();
                                                                                                                                                                                                                                                                                        35657 if (!ret) ret = {};
                                                                                                                                                                                                                                                                                        35756 var name = consume(ID);
                                                                                                                                                                                                                                                                                        35856 ret.name = name ? name.value : null;
                                                                                                                                                                                                                                                                                        35956 all_ws();
                                                                                                                                                                                                                                                                                        36056 consume(OTHER, "(") || error("Invalid operation");
                                                                                                                                                                                                                                                                                        36156 ret["arguments"] = argument_list();
                                                                                                                                                                                                                                                                                        36256 all_ws();
                                                                                                                                                                                                                                                                                        36356 consume(OTHER, ")") || error("Unterminated operation");
                                                                                                                                                                                                                                                                                        36456 all_ws();
                                                                                                                                                                                                                                                                                        36556 consume(OTHER, ";") || error("Unterminated operation");
                                                                                                                                                                                                                                                                                        36656 return ret;
                                                                                                                                                                                                                                                                                        367 };
                                                                                                                                                                                                                                                                                        368
                                                                                                                                                                                                                                                                                        36947 var callback = function () {
                                                                                                                                                                                                                                                                                        370144 all_ws();
                                                                                                                                                                                                                                                                                        371144 var ret;
                                                                                                                                                                                                                                                                                        372286 if (!consume(ID, "callback")) return;
                                                                                                                                                                                                                                                                                        3732 all_ws();
                                                                                                                                                                                                                                                                                        3742 var tok = consume(ID, "interface");
                                                                                                                                                                                                                                                                                        3752 if (tok) {
                                                                                                                                                                                                                                                                                        3761 tokens.unshift(tok);
                                                                                                                                                                                                                                                                                        3771 ret = interface_();
                                                                                                                                                                                                                                                                                        3781 ret.type = "callback interface";
                                                                                                                                                                                                                                                                                        3791 return ret;
                                                                                                                                                                                                                                                                                        380 }
                                                                                                                                                                                                                                                                                        3811 var name = consume(ID) || error("No name for callback");
                                                                                                                                                                                                                                                                                        3821 ret = { type: "callback", name: name.value };
                                                                                                                                                                                                                                                                                        3831 all_ws();
                                                                                                                                                                                                                                                                                        3841 consume(OTHER, "=") || error("No assignment in callback");
                                                                                                                                                                                                                                                                                        3851 all_ws();
                                                                                                                                                                                                                                                                                        3861 ret.idlType = return_type();
                                                                                                                                                                                                                                                                                        3871 all_ws();
                                                                                                                                                                                                                                                                                        3881 consume(OTHER, "(") || error("No arguments in callback");
                                                                                                                                                                                                                                                                                        3891 ret["arguments"] = argument_list();
                                                                                                                                                                                                                                                                                        3901 all_ws();
                                                                                                                                                                                                                                                                                        3911 consume(OTHER, ")") || error("Unterminated callback");
                                                                                                                                                                                                                                                                                        3921 all_ws();
                                                                                                                                                                                                                                                                                        3931 consume(OTHER, ";") || error("Unterminated callback");
                                                                                                                                                                                                                                                                                        3941 return ret;
                                                                                                                                                                                                                                                                                        395 };
                                                                                                                                                                                                                                                                                        396
                                                                                                                                                                                                                                                                                        39747 var attribute = function () {
                                                                                                                                                                                                                                                                                        398154 all_ws();
                                                                                                                                                                                                                                                                                        399154 var grabbed = []
                                                                                                                                                                                                                                                                                        400 , ret = {
                                                                                                                                                                                                                                                                                        401 type: "attribute"
                                                                                                                                                                                                                                                                                        402 , "static": false
                                                                                                                                                                                                                                                                                        403 , stringifier: false
                                                                                                                                                                                                                                                                                        404 , inherit: false
                                                                                                                                                                                                                                                                                        405 , readonly: false
                                                                                                                                                                                                                                                                                        406 };
                                                                                                                                                                                                                                                                                        407154 if (consume(ID, "static")) {
                                                                                                                                                                                                                                                                                        4082 ret["static"] = true;
                                                                                                                                                                                                                                                                                        4092 grabbed.push(last_token);
                                                                                                                                                                                                                                                                                        410 }
                                                                                                                                                                                                                                                                                        411152 else if (consume(ID, "stringifier")) {
                                                                                                                                                                                                                                                                                        4124 ret.stringifier = true;
                                                                                                                                                                                                                                                                                        4134 grabbed.push(last_token);
                                                                                                                                                                                                                                                                                        414 }
                                                                                                                                                                                                                                                                                        415154 var w = all_ws();
                                                                                                                                                                                                                                                                                        416159 if (w) grabbed.push(w);
                                                                                                                                                                                                                                                                                        417154 if (consume(ID, "inherit")) {
                                                                                                                                                                                                                                                                                        4181 if (ret["static"] || ret.stringifier) error("Cannot have a static or stringifier inherit");
                                                                                                                                                                                                                                                                                        4191 ret.inherit = true;
                                                                                                                                                                                                                                                                                        4201 grabbed.push(last_token);
                                                                                                                                                                                                                                                                                        4211 var w = all_ws();
                                                                                                                                                                                                                                                                                        4222 if (w) grabbed.push(w);
                                                                                                                                                                                                                                                                                        423 }
                                                                                                                                                                                                                                                                                        424154 if (consume(ID, "readonly")) {
                                                                                                                                                                                                                                                                                        42532 ret.readonly = true;
                                                                                                                                                                                                                                                                                        42632 grabbed.push(last_token);
                                                                                                                                                                                                                                                                                        42732 var w = all_ws();
                                                                                                                                                                                                                                                                                        42864 if (w) grabbed.push(w);
                                                                                                                                                                                                                                                                                        429 }
                                                                                                                                                                                                                                                                                        430154 if (!consume(ID, "attribute")) {
                                                                                                                                                                                                                                                                                        43160 tokens = grabbed.concat(tokens);
                                                                                                                                                                                                                                                                                        43260 return;
                                                                                                                                                                                                                                                                                        433 }
                                                                                                                                                                                                                                                                                        43494 all_ws();
                                                                                                                                                                                                                                                                                        43594 ret.idlType = type() || error("No type in attribute");
                                                                                                                                                                                                                                                                                        43694 if (ret.idlType.sequence) error("Attributes cannot accept sequence types");
                                                                                                                                                                                                                                                                                        43794 all_ws();
                                                                                                                                                                                                                                                                                        43894 var name = consume(ID) || error("No name in attribute");
                                                                                                                                                                                                                                                                                        43994 ret.name = name.value;
                                                                                                                                                                                                                                                                                        44094 all_ws();
                                                                                                                                                                                                                                                                                        44194 consume(OTHER, ";") || error("Unterminated attribute");
                                                                                                                                                                                                                                                                                        44294 return ret;
                                                                                                                                                                                                                                                                                        443 };
                                                                                                                                                                                                                                                                                        444
                                                                                                                                                                                                                                                                                        44547 var return_type = function () {
                                                                                                                                                                                                                                                                                        44661 var typ = type();
                                                                                                                                                                                                                                                                                        44761 if (!typ) {
                                                                                                                                                                                                                                                                                        4480 if (consume(ID, "void")) {
                                                                                                                                                                                                                                                                                        4490 return "void";
                                                                                                                                                                                                                                                                                        450 }
                                                                                                                                                                                                                                                                                        4510 else error("No return type");
                                                                                                                                                                                                                                                                                        452 }
                                                                                                                                                                                                                                                                                        45361 return typ;
                                                                                                                                                                                                                                                                                        454 };
                                                                                                                                                                                                                                                                                        455
                                                                                                                                                                                                                                                                                        45647 var operation = function () {
                                                                                                                                                                                                                                                                                        45760 all_ws();
                                                                                                                                                                                                                                                                                        45860 var ret = {
                                                                                                                                                                                                                                                                                        459 type: "operation"
                                                                                                                                                                                                                                                                                        460 , getter: false
                                                                                                                                                                                                                                                                                        461 , setter: false
                                                                                                                                                                                                                                                                                        462 , creator: false
                                                                                                                                                                                                                                                                                        463 , deleter: false
                                                                                                                                                                                                                                                                                        464 , legacycaller: false
                                                                                                                                                                                                                                                                                        465 , "static": false
                                                                                                                                                                                                                                                                                        466 , stringifier: false
                                                                                                                                                                                                                                                                                        467 };
                                                                                                                                                                                                                                                                                        46860 while (true) {
                                                                                                                                                                                                                                                                                        46978 all_ws();
                                                                                                                                                                                                                                                                                        47087 if (consume(ID, "getter")) ret.getter = true;
                                                                                                                                                                                                                                                                                        47174 else if (consume(ID, "setter")) ret.setter = true;
                                                                                                                                                                                                                                                                                        47265 else if (consume(ID, "creator")) ret.creator = true;
                                                                                                                                                                                                                                                                                        47365 else if (consume(ID, "deleter")) ret.deleter = true;
                                                                                                                                                                                                                                                                                        47462 else if (consume(ID, "legacycaller")) ret.legacycaller = true;
                                                                                                                                                                                                                                                                                        47560 else break;
                                                                                                                                                                                                                                                                                        476 }
                                                                                                                                                                                                                                                                                        47760 if (ret.getter || ret.setter || ret.creator || ret.deleter || ret.legacycaller) {
                                                                                                                                                                                                                                                                                        47817 all_ws();
                                                                                                                                                                                                                                                                                        47917 ret.idlType = return_type();
                                                                                                                                                                                                                                                                                        48017 operation_rest(ret);
                                                                                                                                                                                                                                                                                        48117 return ret;
                                                                                                                                                                                                                                                                                        482 }
                                                                                                                                                                                                                                                                                        48343 if (consume(ID, "static")) {
                                                                                                                                                                                                                                                                                        4841 ret["static"] = true;
                                                                                                                                                                                                                                                                                        4851 ret.idlType = return_type();
                                                                                                                                                                                                                                                                                        4861 operation_rest(ret);
                                                                                                                                                                                                                                                                                        4871 return ret;
                                                                                                                                                                                                                                                                                        488 }
                                                                                                                                                                                                                                                                                        48942 else if (consume(ID, "stringifier")) {
                                                                                                                                                                                                                                                                                        4903 ret.stringifier = true;
                                                                                                                                                                                                                                                                                        4913 all_ws();
                                                                                                                                                                                                                                                                                        4924 if (consume(OTHER, ";")) return ret;
                                                                                                                                                                                                                                                                                        4932 ret.idlType = return_type();
                                                                                                                                                                                                                                                                                        4942 operation_rest(ret);
                                                                                                                                                                                                                                                                                        4952 return ret;
                                                                                                                                                                                                                                                                                        496 }
                                                                                                                                                                                                                                                                                        49739 ret.idlType = return_type();
                                                                                                                                                                                                                                                                                        49839 all_ws();
                                                                                                                                                                                                                                                                                        49939 if (consume(ID, "iterator")) {
                                                                                                                                                                                                                                                                                        5004 all_ws();
                                                                                                                                                                                                                                                                                        5014 ret.type = "iterator";
                                                                                                                                                                                                                                                                                        5024 if (consume(ID, "object")) {
                                                                                                                                                                                                                                                                                        5031 ret.iteratorObject = "object";
                                                                                                                                                                                                                                                                                        504 }
                                                                                                                                                                                                                                                                                        5053 else if (consume(OTHER, "=")) {
                                                                                                                                                                                                                                                                                        5062 all_ws();
                                                                                                                                                                                                                                                                                        5072 var name = consume(ID) || error("No right hand side in iterator");
                                                                                                                                                                                                                                                                                        5082 ret.iteratorObject = name.value;
                                                                                                                                                                                                                                                                                        509 }
                                                                                                                                                                                                                                                                                        5104 all_ws();
                                                                                                                                                                                                                                                                                        5114 consume(OTHER, ";") || error("Unterminated iterator");
                                                                                                                                                                                                                                                                                        5124 return ret;
                                                                                                                                                                                                                                                                                        513 }
                                                                                                                                                                                                                                                                                        514 else {
                                                                                                                                                                                                                                                                                        51535 operation_rest(ret);
                                                                                                                                                                                                                                                                                        51635 return ret;
                                                                                                                                                                                                                                                                                        517 }
                                                                                                                                                                                                                                                                                        518 };
                                                                                                                                                                                                                                                                                        519
                                                                                                                                                                                                                                                                                        52047 var identifiers = function (arr) {
                                                                                                                                                                                                                                                                                        5215 while (true) {
                                                                                                                                                                                                                                                                                        52211 all_ws();
                                                                                                                                                                                                                                                                                        52311 if (consume(OTHER, ",")) {
                                                                                                                                                                                                                                                                                        5246 all_ws();
                                                                                                                                                                                                                                                                                        5256 var name = consume(ID) || error("Trailing comma in identifiers list");
                                                                                                                                                                                                                                                                                        5266 arr.push(name.value);
                                                                                                                                                                                                                                                                                        527 }
                                                                                                                                                                                                                                                                                        5285 else break;
                                                                                                                                                                                                                                                                                        529 }
                                                                                                                                                                                                                                                                                        530 };
                                                                                                                                                                                                                                                                                        531
                                                                                                                                                                                                                                                                                        53247 var serialiser = function () {
                                                                                                                                                                                                                                                                                        533164 all_ws();
                                                                                                                                                                                                                                                                                        534318 if (!consume(ID, "serializer")) return;
                                                                                                                                                                                                                                                                                        53510 var ret = { type: "serializer" };
                                                                                                                                                                                                                                                                                        53610 all_ws();
                                                                                                                                                                                                                                                                                        53710 if (consume(OTHER, "=")) {
                                                                                                                                                                                                                                                                                        5388 all_ws();
                                                                                                                                                                                                                                                                                        5398 if (consume(OTHER, "{")) {
                                                                                                                                                                                                                                                                                        5405 ret.patternMap = true;
                                                                                                                                                                                                                                                                                        5415 all_ws();
                                                                                                                                                                                                                                                                                        5425 var id = consume(ID);
                                                                                                                                                                                                                                                                                        5435 if (id && id.value === "getter") {
                                                                                                                                                                                                                                                                                        5441 ret.names = ["getter"];
                                                                                                                                                                                                                                                                                        545 }
                                                                                                                                                                                                                                                                                        5464 else if (id && id.value === "inherit") {
                                                                                                                                                                                                                                                                                        5472 ret.names = ["inherit"];
                                                                                                                                                                                                                                                                                        5482 identifiers(ret.names);
                                                                                                                                                                                                                                                                                        549 }
                                                                                                                                                                                                                                                                                        5502 else if (id) {
                                                                                                                                                                                                                                                                                        5512 ret.names = [id.value];
                                                                                                                                                                                                                                                                                        5522 identifiers(ret.names);
                                                                                                                                                                                                                                                                                        553 }
                                                                                                                                                                                                                                                                                        554 else {
                                                                                                                                                                                                                                                                                        5550 ret.names = [];
                                                                                                                                                                                                                                                                                        556 }
                                                                                                                                                                                                                                                                                        5575 all_ws();
                                                                                                                                                                                                                                                                                        5585 consume(OTHER, "}") || error("Unterminated serializer pattern map");
                                                                                                                                                                                                                                                                                        559 }
                                                                                                                                                                                                                                                                                        5603 else if (consume(OTHER, "[")) {
                                                                                                                                                                                                                                                                                        5612 ret.patternList = true;
                                                                                                                                                                                                                                                                                        5622 all_ws();
                                                                                                                                                                                                                                                                                        5632 var id = consume(ID);
                                                                                                                                                                                                                                                                                        5642 if (id && id.value === "getter") {
                                                                                                                                                                                                                                                                                        5651 ret.names = ["getter"];
                                                                                                                                                                                                                                                                                        566 }
                                                                                                                                                                                                                                                                                        5671 else if (id) {
                                                                                                                                                                                                                                                                                        5681 ret.names = [id.value];
                                                                                                                                                                                                                                                                                        5691 identifiers(ret.names);
                                                                                                                                                                                                                                                                                        570 }
                                                                                                                                                                                                                                                                                        571 else {
                                                                                                                                                                                                                                                                                        5720 ret.names = [];
                                                                                                                                                                                                                                                                                        573 }
                                                                                                                                                                                                                                                                                        5742 all_ws();
                                                                                                                                                                                                                                                                                        5752 consume(OTHER, "]") || error("Unterminated serializer pattern list");
                                                                                                                                                                                                                                                                                        576 }
                                                                                                                                                                                                                                                                                        577 else {
                                                                                                                                                                                                                                                                                        5781 var name = consume(ID) || error("Invalid serializer");
                                                                                                                                                                                                                                                                                        5791 ret.name = name.value;
                                                                                                                                                                                                                                                                                        580 }
                                                                                                                                                                                                                                                                                        5818 all_ws();
                                                                                                                                                                                                                                                                                        5828 consume(OTHER, ";") || error("Unterminated serializer");
                                                                                                                                                                                                                                                                                        5838 return ret;
                                                                                                                                                                                                                                                                                        584 }
                                                                                                                                                                                                                                                                                        5852 else if (consume(OTHER, ";")) {
                                                                                                                                                                                                                                                                                        586 // noop, just parsing
                                                                                                                                                                                                                                                                                        587 }
                                                                                                                                                                                                                                                                                        588 else {
                                                                                                                                                                                                                                                                                        5891 ret.idlType = return_type();
                                                                                                                                                                                                                                                                                        5901 all_ws();
                                                                                                                                                                                                                                                                                        5911 ret.operation = operation_rest();
                                                                                                                                                                                                                                                                                        592 }
                                                                                                                                                                                                                                                                                        5932 return ret;
                                                                                                                                                                                                                                                                                        594 };
                                                                                                                                                                                                                                                                                        595
                                                                                                                                                                                                                                                                                        59647 var interface_ = function (isPartial) {
                                                                                                                                                                                                                                                                                        597144 all_ws();
                                                                                                                                                                                                                                                                                        598210 if (!consume(ID, "interface")) return;
                                                                                                                                                                                                                                                                                        59978 all_ws();
                                                                                                                                                                                                                                                                                        60078 var name = consume(ID) || error("No name for interface");
                                                                                                                                                                                                                                                                                        60178 var ret = {
                                                                                                                                                                                                                                                                                        602 type: "interface"
                                                                                                                                                                                                                                                                                        603 , name: name.value
                                                                                                                                                                                                                                                                                        604 , partial: false
                                                                                                                                                                                                                                                                                        605 , members: []
                                                                                                                                                                                                                                                                                        606 };
                                                                                                                                                                                                                                                                                        607155 if (!isPartial) ret.inheritance = inheritance() || null;
                                                                                                                                                                                                                                                                                        60878 all_ws();
                                                                                                                                                                                                                                                                                        60978 consume(OTHER, "{") || error("Bodyless interface");
                                                                                                                                                                                                                                                                                        61078 while (true) {
                                                                                                                                                                                                                                                                                        611251 all_ws();
                                                                                                                                                                                                                                                                                        612251 if (consume(OTHER, "}")) {
                                                                                                                                                                                                                                                                                        61378 all_ws();
                                                                                                                                                                                                                                                                                        61478 consume(OTHER, ";") || error("Missing semicolon after interface");
                                                                                                                                                                                                                                                                                        61578 return ret;
                                                                                                                                                                                                                                                                                        616 }
                                                                                                                                                                                                                                                                                        617173 var ea = extended_attrs();
                                                                                                                                                                                                                                                                                        618173 all_ws();
                                                                                                                                                                                                                                                                                        619173 var cnt = const_();
                                                                                                                                                                                                                                                                                        620173 if (cnt) {
                                                                                                                                                                                                                                                                                        6219 cnt.extAttrs = ea;
                                                                                                                                                                                                                                                                                        6229 ret.members.push(cnt);
                                                                                                                                                                                                                                                                                        6239 continue;
                                                                                                                                                                                                                                                                                        624 }
                                                                                                                                                                                                                                                                                        625164 var mem = serialiser() || attribute() || operation() || error("Unknown member");
                                                                                                                                                                                                                                                                                        626164 mem.extAttrs = ea;
                                                                                                                                                                                                                                                                                        627164 ret.members.push(mem);
                                                                                                                                                                                                                                                                                        628 }
                                                                                                                                                                                                                                                                                        629 };
                                                                                                                                                                                                                                                                                        630
                                                                                                                                                                                                                                                                                        63147 var partial = function () {
                                                                                                                                                                                                                                                                                        63266 all_ws();
                                                                                                                                                                                                                                                                                        633130 if (!consume(ID, "partial")) return;
                                                                                                                                                                                                                                                                                        6342 var thing = dictionary(true) || interface_(true) || error("Partial doesn't apply to anything");
                                                                                                                                                                                                                                                                                        6352 thing.partial = true;
                                                                                                                                                                                                                                                                                        6362 return thing;
                                                                                                                                                                                                                                                                                        637 };
                                                                                                                                                                                                                                                                                        638
                                                                                                                                                                                                                                                                                        63947 var dictionary = function (isPartial) {
                                                                                                                                                                                                                                                                                        64066 all_ws();
                                                                                                                                                                                                                                                                                        641128 if (!consume(ID, "dictionary")) return;
                                                                                                                                                                                                                                                                                        6424 all_ws();
                                                                                                                                                                                                                                                                                        6434 var name = consume(ID) || error("No name for dictionary");
                                                                                                                                                                                                                                                                                        6444 var ret = {
                                                                                                                                                                                                                                                                                        645 type: "dictionary"
                                                                                                                                                                                                                                                                                        646 , name: name.value
                                                                                                                                                                                                                                                                                        647 , partial: false
                                                                                                                                                                                                                                                                                        648 , members: []
                                                                                                                                                                                                                                                                                        649 };
                                                                                                                                                                                                                                                                                        6507 if (!isPartial) ret.inheritance = inheritance() || null;
                                                                                                                                                                                                                                                                                        6514 all_ws();
                                                                                                                                                                                                                                                                                        6524 consume(OTHER, "{") || error("Bodyless dictionary");
                                                                                                                                                                                                                                                                                        6534 while (true) {
                                                                                                                                                                                                                                                                                        65413 all_ws();
                                                                                                                                                                                                                                                                                        65513 if (consume(OTHER, "}")) {
                                                                                                                                                                                                                                                                                        6564 all_ws();
                                                                                                                                                                                                                                                                                        6574 consume(OTHER, ";") || error("Missing semicolon after dictionary");
                                                                                                                                                                                                                                                                                        6584 return ret;
                                                                                                                                                                                                                                                                                        659 }
                                                                                                                                                                                                                                                                                        6609 var ea = extended_attrs();
                                                                                                                                                                                                                                                                                        6619 all_ws();
                                                                                                                                                                                                                                                                                        6629 var typ = type() || error("No type for dictionary member");
                                                                                                                                                                                                                                                                                        6639 all_ws();
                                                                                                                                                                                                                                                                                        6649 var name = consume(ID) || error("No name for dictionary member");
                                                                                                                                                                                                                                                                                        6659 ret.members.push({
                                                                                                                                                                                                                                                                                        666 type: "field"
                                                                                                                                                                                                                                                                                        667 , name: name.value
                                                                                                                                                                                                                                                                                        668 , idlType: typ
                                                                                                                                                                                                                                                                                        669 , extAttrs: ea
                                                                                                                                                                                                                                                                                        670 , "default": default_()
                                                                                                                                                                                                                                                                                        671 });
                                                                                                                                                                                                                                                                                        6729 all_ws();
                                                                                                                                                                                                                                                                                        6739 consume(OTHER, ";") || error("Unterminated dictionary member");
                                                                                                                                                                                                                                                                                        674 }
                                                                                                                                                                                                                                                                                        675 };
                                                                                                                                                                                                                                                                                        676
                                                                                                                                                                                                                                                                                        67747 var exception = function () {
                                                                                                                                                                                                                                                                                        67861 all_ws();
                                                                                                                                                                                                                                                                                        679113 if (!consume(ID, "exception")) return;
                                                                                                                                                                                                                                                                                        6809 all_ws();
                                                                                                                                                                                                                                                                                        6819 var name = consume(ID) || error("No name for exception");
                                                                                                                                                                                                                                                                                        6829 var ret = {
                                                                                                                                                                                                                                                                                        683 type: "exception"
                                                                                                                                                                                                                                                                                        684 , name: name.value
                                                                                                                                                                                                                                                                                        685 , members: []
                                                                                                                                                                                                                                                                                        686 };
                                                                                                                                                                                                                                                                                        6879 ret.inheritance = inheritance() || null;
                                                                                                                                                                                                                                                                                        6889 all_ws();
                                                                                                                                                                                                                                                                                        6899 consume(OTHER, "{") || error("Bodyless exception");
                                                                                                                                                                                                                                                                                        6909 while (true) {
                                                                                                                                                                                                                                                                                        69116 all_ws();
                                                                                                                                                                                                                                                                                        69216 if (consume(OTHER, "}")) {
                                                                                                                                                                                                                                                                                        6939 all_ws();
                                                                                                                                                                                                                                                                                        6949 consume(OTHER, ";") || error("Missing semicolon after exception");
                                                                                                                                                                                                                                                                                        6959 return ret;
                                                                                                                                                                                                                                                                                        696 }
                                                                                                                                                                                                                                                                                        6977 var ea = extended_attrs();
                                                                                                                                                                                                                                                                                        6987 all_ws();
                                                                                                                                                                                                                                                                                        6997 var cnt = const_();
                                                                                                                                                                                                                                                                                        7007 if (cnt) {
                                                                                                                                                                                                                                                                                        7013 cnt.extAttrs = ea;
                                                                                                                                                                                                                                                                                        7023 ret.members.push(cnt);
                                                                                                                                                                                                                                                                                        703 }
                                                                                                                                                                                                                                                                                        704 else {
                                                                                                                                                                                                                                                                                        7054 var typ = type();
                                                                                                                                                                                                                                                                                        7064 all_ws();
                                                                                                                                                                                                                                                                                        7074 var name = consume(ID);
                                                                                                                                                                                                                                                                                        7084 all_ws();
                                                                                                                                                                                                                                                                                        7094 if (!typ || !name || !consume(OTHER, ";")) error("Unknown member in exception body");
                                                                                                                                                                                                                                                                                        7104 ret.members.push({
                                                                                                                                                                                                                                                                                        711 type: "field"
                                                                                                                                                                                                                                                                                        712 , name: name.value
                                                                                                                                                                                                                                                                                        713 , idlType: typ
                                                                                                                                                                                                                                                                                        714 , extAttrs: ea
                                                                                                                                                                                                                                                                                        715 });
                                                                                                                                                                                                                                                                                        716 }
                                                                                                                                                                                                                                                                                        717 }
                                                                                                                                                                                                                                                                                        718 };
                                                                                                                                                                                                                                                                                        719
                                                                                                                                                                                                                                                                                        72047 var enum_ = function () {
                                                                                                                                                                                                                                                                                        72152 all_ws();
                                                                                                                                                                                                                                                                                        722103 if (!consume(ID, "enum")) return;
                                                                                                                                                                                                                                                                                        7231 all_ws();
                                                                                                                                                                                                                                                                                        7241 var name = consume(ID) || error("No name for enum");
                                                                                                                                                                                                                                                                                        7251 var ret = {
                                                                                                                                                                                                                                                                                        726 type: "enum"
                                                                                                                                                                                                                                                                                        727 , name: name.value
                                                                                                                                                                                                                                                                                        728 , values: []
                                                                                                                                                                                                                                                                                        729 };
                                                                                                                                                                                                                                                                                        7301 all_ws();
                                                                                                                                                                                                                                                                                        7311 consume(OTHER, "{") || error("No curly for enum");
                                                                                                                                                                                                                                                                                        7321 var saw_comma = false;
                                                                                                                                                                                                                                                                                        7331 while (true) {
                                                                                                                                                                                                                                                                                        7344 all_ws();
                                                                                                                                                                                                                                                                                        7354 if (consume(OTHER, "}")) {
                                                                                                                                                                                                                                                                                        7361 all_ws();
                                                                                                                                                                                                                                                                                        7371 if (saw_comma) error("Trailing comma in enum");
                                                                                                                                                                                                                                                                                        7381 consume(OTHER, ";") || error("No semicolon after enum");
                                                                                                                                                                                                                                                                                        7391 return ret;
                                                                                                                                                                                                                                                                                        740 }
                                                                                                                                                                                                                                                                                        7413 var val = consume(STR) || error("Unexpected value in enum");
                                                                                                                                                                                                                                                                                        7423 ret.values.push(val.value.replace(/"/g, ""));
                                                                                                                                                                                                                                                                                        7433 all_ws();
                                                                                                                                                                                                                                                                                        7443 if (consume(OTHER, ",")) {
                                                                                                                                                                                                                                                                                        7452 all_ws();
                                                                                                                                                                                                                                                                                        7462 saw_comma = true;
                                                                                                                                                                                                                                                                                        747 }
                                                                                                                                                                                                                                                                                        748 else {
                                                                                                                                                                                                                                                                                        7491 saw_comma = false;
                                                                                                                                                                                                                                                                                        750 }
                                                                                                                                                                                                                                                                                        751 }
                                                                                                                                                                                                                                                                                        752 };
                                                                                                                                                                                                                                                                                        753
                                                                                                                                                                                                                                                                                        75447 var typedef = function () {
                                                                                                                                                                                                                                                                                        75551 all_ws();
                                                                                                                                                                                                                                                                                        75699 if (!consume(ID, "typedef")) return;
                                                                                                                                                                                                                                                                                        7573 var ret = {
                                                                                                                                                                                                                                                                                        758 type: "typedef"
                                                                                                                                                                                                                                                                                        759 };
                                                                                                                                                                                                                                                                                        7603 all_ws();
                                                                                                                                                                                                                                                                                        7613 ret.extAttrs = extended_attrs();
                                                                                                                                                                                                                                                                                        7623 all_ws();
                                                                                                                                                                                                                                                                                        7633 ret.idlType = type() || error("No type in typedef");
                                                                                                                                                                                                                                                                                        7643 all_ws();
                                                                                                                                                                                                                                                                                        7653 var name = consume(ID) || error("No name in typedef");
                                                                                                                                                                                                                                                                                        7663 ret.name = name.value;
                                                                                                                                                                                                                                                                                        7673 all_ws();
                                                                                                                                                                                                                                                                                        7683 consume(OTHER, ";") || error("Unterminated typedef");
                                                                                                                                                                                                                                                                                        7693 return ret;
                                                                                                                                                                                                                                                                                        770 };
                                                                                                                                                                                                                                                                                        771
                                                                                                                                                                                                                                                                                        77247 var implements_ = function () {
                                                                                                                                                                                                                                                                                        77348 all_ws();
                                                                                                                                                                                                                                                                                        77448 var target = consume(ID);
                                                                                                                                                                                                                                                                                        77595 if (!target) return;
                                                                                                                                                                                                                                                                                        7761 var w = all_ws();
                                                                                                                                                                                                                                                                                        7771 if (consume(ID, "implements")) {
                                                                                                                                                                                                                                                                                        7781 var ret = {
                                                                                                                                                                                                                                                                                        779 type: "implements"
                                                                                                                                                                                                                                                                                        780 , target: target.value
                                                                                                                                                                                                                                                                                        781 };
                                                                                                                                                                                                                                                                                        7821 all_ws();
                                                                                                                                                                                                                                                                                        7831 var imp = consume(ID) || error("Incomplete implements statement");
                                                                                                                                                                                                                                                                                        7841 ret["implements"] = imp.value;
                                                                                                                                                                                                                                                                                        7851 all_ws();
                                                                                                                                                                                                                                                                                        7861 consume(OTHER, ";") || error("No terminating ; for implements statement");
                                                                                                                                                                                                                                                                                        7871 return ret;
                                                                                                                                                                                                                                                                                        788 }
                                                                                                                                                                                                                                                                                        789 else {
                                                                                                                                                                                                                                                                                        790 // rollback
                                                                                                                                                                                                                                                                                        7910 tokens.unshift(w);
                                                                                                                                                                                                                                                                                        7920 tokens.unshift(target);
                                                                                                                                                                                                                                                                                        793 }
                                                                                                                                                                                                                                                                                        794 };
                                                                                                                                                                                                                                                                                        795
                                                                                                                                                                                                                                                                                        79647 var definition = function () {
                                                                                                                                                                                                                                                                                        797144 return callback() ||
                                                                                                                                                                                                                                                                                        798 interface_() ||
                                                                                                                                                                                                                                                                                        799 partial() ||
                                                                                                                                                                                                                                                                                        800 dictionary() ||
                                                                                                                                                                                                                                                                                        801 exception() ||
                                                                                                                                                                                                                                                                                        802 enum_() ||
                                                                                                                                                                                                                                                                                        803 typedef() ||
                                                                                                                                                                                                                                                                                        804 implements_()
                                                                                                                                                                                                                                                                                        805 ;
                                                                                                                                                                                                                                                                                        806 };
                                                                                                                                                                                                                                                                                        807
                                                                                                                                                                                                                                                                                        80847 var definitions = function () {
                                                                                                                                                                                                                                                                                        80947 if (!tokens.length) return [];
                                                                                                                                                                                                                                                                                        81047 var defs = [];
                                                                                                                                                                                                                                                                                        81147 while (true) {
                                                                                                                                                                                                                                                                                        812144 var ea = extended_attrs()
                                                                                                                                                                                                                                                                                        813 , def = definition();
                                                                                                                                                                                                                                                                                        814144 if (!def) {
                                                                                                                                                                                                                                                                                        81547 if (ea.length) error("Stray extended attributes");
                                                                                                                                                                                                                                                                                        81647 break;
                                                                                                                                                                                                                                                                                        817 }
                                                                                                                                                                                                                                                                                        81897 def.extAttrs = ea;
                                                                                                                                                                                                                                                                                        81997 defs.push(def);
                                                                                                                                                                                                                                                                                        820 }
                                                                                                                                                                                                                                                                                        82147 return defs;
                                                                                                                                                                                                                                                                                        822 };
                                                                                                                                                                                                                                                                                        82347 var res = definitions();
                                                                                                                                                                                                                                                                                        82447 if (tokens.length) error("Unrecognised tokens");
                                                                                                                                                                                                                                                                                        82547 return res;
                                                                                                                                                                                                                                                                                        826 };
                                                                                                                                                                                                                                                                                        827
                                                                                                                                                                                                                                                                                        8281 var obj = {
                                                                                                                                                                                                                                                                                        829 parse: function (str) {
                                                                                                                                                                                                                                                                                        83047 var tokens = tokenise(str);
                                                                                                                                                                                                                                                                                        831 // console.log(tokens);
                                                                                                                                                                                                                                                                                        83247 return parse(tokens);
                                                                                                                                                                                                                                                                                        833 }
                                                                                                                                                                                                                                                                                        834 };
                                                                                                                                                                                                                                                                                        8351 if (typeof module !== "undefined" && module.exports) {
                                                                                                                                                                                                                                                                                        8361 module.exports = obj;
                                                                                                                                                                                                                                                                                        837 }
                                                                                                                                                                                                                                                                                        838 else {
                                                                                                                                                                                                                                                                                        8390 window.WebIDL2 = obj;
                                                                                                                                                                                                                                                                                        840 }
                                                                                                                                                                                                                                                                                        841}());
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/resources/webidl2/index.js b/tests/wpt/web-platform-tests/resources/webidl2/index.js new file mode 100644 index 00000000000..09f9eb46aa7 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/index.js @@ -0,0 +1 @@ +module.exports = require("./lib/webidl2.js"); diff --git a/tests/wpt/web-platform-tests/resources/webidl2/lib/webidl2.js b/tests/wpt/web-platform-tests/resources/webidl2/lib/webidl2.js new file mode 100644 index 00000000000..103a7f48bd8 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/lib/webidl2.js @@ -0,0 +1,924 @@ + + +(function () { + var tokenise = function (str) { + var tokens = [] + , re = { + "float": /^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][-+]?[0-9]+)?|[0-9]+[Ee][-+]?[0-9]+)/ + , "integer": /^-?(0([Xx][0-9A-Fa-f]+|[0-7]*)|[1-9][0-9]*)/ + , "identifier": /^[A-Z_a-z][0-9A-Z_a-z]*/ + , "string": /^"[^"]*"/ + , "whitespace": /^(?:[\t\n\r ]+|[\t\n\r ]*((\/\/.*|\/\*(.|\n|\r)*?\*\/)[\t\n\r ]*))+/ + , "other": /^[^\t\n\r 0-9A-Z_a-z]/ + } + , types = [] + ; + for (var k in re) types.push(k); + while (str.length > 0) { + var matched = false; + for (var i = 0, n = types.length; i < n; i++) { + var type = types[i]; + str = str.replace(re[type], function (tok) { + tokens.push({ type: type, value: tok }); + matched = true; + return ""; + }); + if (matched) break; + } + if (matched) continue; + throw new Error("Token stream not progressing"); + } + return tokens; + }; + + var parse = function (tokens, opt) { + var line = 1; + tokens = tokens.slice(); + + var FLOAT = "float" + , INT = "integer" + , ID = "identifier" + , STR = "string" + , OTHER = "other" + ; + + var WebIDLParseError = function (str, line, input, tokens) { + this.message = str; + this.line = line; + this.input = input; + this.tokens = tokens; + }; + WebIDLParseError.prototype.toString = function () { + return this.message + ", line " + this.line + " (tokens: '" + this.input + "')\n" + + JSON.stringify(this.tokens, null, 4); + }; + + var error = function (str) { + var tok = "", numTokens = 0, maxTokens = 5; + while (numTokens < maxTokens && tokens.length > numTokens) { + tok += tokens[numTokens].value; + numTokens++; + } + throw new WebIDLParseError(str, line, tok, tokens.slice(0, 5)); + }; + + var last_token = null; + + var consume = function (type, value) { + if (!tokens.length || tokens[0].type !== type) return; + if (typeof value === "undefined" || tokens[0].value === value) { + last_token = tokens.shift(); + if (type === ID) last_token.value = last_token.value.replace(/^_/, ""); + return last_token; + } + }; + + var ws = function () { + if (!tokens.length) return; + if (tokens[0].type === "whitespace") { + var t = tokens.shift(); + t.value.replace(/\n/g, function (m) { line++; return m; }); + return t; + } + }; + + var all_ws = function (store, pea) { // pea == post extended attribute, tpea = same for types + var t = { type: "whitespace", value: "" }; + while (true) { + var w = ws(); + if (!w) break; + t.value += w.value; + } + if (t.value.length > 0) { + if (store) { + var w = t.value + , re = { + "ws": /^([\t\n\r ]+)/ + , "line-comment": /^\/\/(.*)\n?/m + , "multiline-comment": /^\/\*((?:.|\n|\r)*?)\*\// + } + , wsTypes = [] + ; + for (var k in re) wsTypes.push(k); + while (w.length) { + var matched = false; + for (var i = 0, n = wsTypes.length; i < n; i++) { + var type = wsTypes[i]; + w = w.replace(re[type], function (tok, m1) { + store.push({ type: type + (pea ? ("-" + pea) : ""), value: m1 }); + matched = true; + return ""; + }); + if (matched) break; + } + if (matched) continue; + throw new Error("Surprising white space construct."); // this shouldn't happen + } + } + return t; + } + }; + + var integer_type = function () { + var ret = ""; + all_ws(); + if (consume(ID, "unsigned")) ret = "unsigned "; + all_ws(); + if (consume(ID, "short")) return ret + "short"; + if (consume(ID, "long")) { + ret += "long"; + all_ws(); + if (consume(ID, "long")) return ret + " long"; + return ret; + } + if (ret) error("Failed to parse integer type"); + }; + + var float_type = function () { + var ret = ""; + all_ws(); + if (consume(ID, "unrestricted")) ret = "unrestricted "; + all_ws(); + if (consume(ID, "float")) return ret + "float"; + if (consume(ID, "double")) return ret + "double"; + if (ret) error("Failed to parse float type"); + }; + + var primitive_type = function () { + var num_type = integer_type() || float_type(); + if (num_type) return num_type; + all_ws(); + if (consume(ID, "boolean")) return "boolean"; + if (consume(ID, "byte")) return "byte"; + if (consume(ID, "octet")) return "octet"; + }; + + var const_value = function () { + if (consume(ID, "true")) return { type: "boolean", value: true }; + if (consume(ID, "false")) return { type: "boolean", value: false }; + if (consume(ID, "null")) return { type: "null" }; + if (consume(ID, "Infinity")) return { type: "Infinity", negative: false }; + if (consume(ID, "NaN")) return { type: "NaN" }; + var ret = consume(FLOAT) || consume(INT); + if (ret) return { type: "number", value: 1 * ret.value }; + var tok = consume(OTHER, "-"); + if (tok) { + if (consume(ID, "Infinity")) return { type: "Infinity", negative: true }; + else tokens.unshift(tok); + } + }; + + var type_suffix = function (obj) { + while (true) { + all_ws(); + if (consume(OTHER, "?")) { + if (obj.nullable) error("Can't nullable more than once"); + obj.nullable = true; + } + else if (consume(OTHER, "[")) { + all_ws(); + consume(OTHER, "]") || error("Unterminated array type"); + if (!obj.array) { + obj.array = 1; + obj.nullableArray = [obj.nullable]; + } + else { + obj.array++; + obj.nullableArray.push(obj.nullable); + } + obj.nullable = false; + } + else return; + } + }; + + var single_type = function () { + var prim = primitive_type() + , ret = { sequence: false, generic: null, nullable: false, array: false, union: false } + , name + , value + ; + if (prim) { + ret.idlType = prim; + } + else if (name = consume(ID)) { + value = name.value; + all_ws(); + // Generic types + if (consume(OTHER, "<")) { + // backwards compat + if (value === "sequence") { + ret.sequence = true; + } + ret.generic = value; + ret.idlType = type() || error("Error parsing generic type " + value); + all_ws(); + if (!consume(OTHER, ">")) error("Unterminated generic type " + value); + all_ws(); + if (consume(OTHER, "?")) ret.nullable = true; + return ret; + } + else { + ret.idlType = value; + } + } + else { + return; + } + type_suffix(ret); + if (ret.nullable && !ret.array && ret.idlType === "any") error("Type any cannot be made nullable"); + return ret; + }; + + var union_type = function () { + all_ws(); + if (!consume(OTHER, "(")) return; + var ret = { sequence: false, generic: null, nullable: false, array: false, union: true, idlType: [] }; + var fst = type() || error("Union type with no content"); + ret.idlType.push(fst); + while (true) { + all_ws(); + if (!consume(ID, "or")) break; + var typ = type() || error("No type after 'or' in union type"); + ret.idlType.push(typ); + } + if (!consume(OTHER, ")")) error("Unterminated union type"); + type_suffix(ret); + return ret; + }; + + var type = function () { + return single_type() || union_type(); + }; + + var argument = function (store) { + var ret = { optional: false, variadic: false }; + ret.extAttrs = extended_attrs(store); + all_ws(store, "pea"); + var opt_token = consume(ID, "optional"); + if (opt_token) { + ret.optional = true; + all_ws(); + } + ret.idlType = type(); + if (!ret.idlType) { + if (opt_token) tokens.unshift(opt_token); + return; + } + var type_token = last_token; + if (!ret.optional) { + all_ws(); + if (tokens.length >= 3 && + tokens[0].type === "other" && tokens[0].value === "." && + tokens[1].type === "other" && tokens[1].value === "." && + tokens[2].type === "other" && tokens[2].value === "." + ) { + tokens.shift(); + tokens.shift(); + tokens.shift(); + ret.variadic = true; + } + } + all_ws(); + var name = consume(ID); + if (!name) { + if (opt_token) tokens.unshift(opt_token); + tokens.unshift(type_token); + return; + } + ret.name = name.value; + if (ret.optional) { + all_ws(); + ret["default"] = default_(); + } + return ret; + }; + + var argument_list = function (store) { + var ret = [] + , arg = argument(store ? ret : null) + ; + if (!arg) return; + ret.push(arg); + while (true) { + all_ws(store ? ret : null); + if (!consume(OTHER, ",")) return ret; + var nxt = argument(store ? ret : null) || error("Trailing comma in arguments list"); + ret.push(nxt); + } + }; + + var type_pair = function () { + all_ws(); + var k = type(); + if (!k) return; + all_ws() + if (!consume(OTHER, ",")) return; + all_ws(); + var v = type(); + if (!v) return; + return [k, v]; + }; + + var simple_extended_attr = function (store) { + all_ws(); + var name = consume(ID); + if (!name) return; + var ret = { + name: name.value + , "arguments": null + }; + all_ws(); + var eq = consume(OTHER, "="); + if (eq) { + all_ws(); + ret.rhs = consume(ID); + if (!ret.rhs) return error("No right hand side to extended attribute assignment"); + } + all_ws(); + if (consume(OTHER, "(")) { + var args, pair; + // [Constructor(DOMString str)] + if (args = argument_list(store)) { + ret["arguments"] = args; + } + // [MapClass(DOMString, DOMString)] + else if (pair = type_pair()) { + ret.typePair = pair; + } + // [Constructor()] + else { + ret["arguments"] = []; + } + all_ws(); + consume(OTHER, ")") || error("Unexpected token in extended attribute argument list or type pair"); + } + return ret; + }; + + // Note: we parse something simpler than the official syntax. It's all that ever + // seems to be used + var extended_attrs = function (store) { + var eas = []; + all_ws(store); + if (!consume(OTHER, "[")) return eas; + eas[0] = simple_extended_attr(store) || error("Extended attribute with not content"); + all_ws(); + while (consume(OTHER, ",")) { + eas.push(simple_extended_attr(store) || error("Trailing comma in extended attribute")); + all_ws(); + } + consume(OTHER, "]") || error("No end of extended attribute"); + return eas; + }; + + var default_ = function () { + all_ws(); + if (consume(OTHER, "=")) { + all_ws(); + var def = const_value(); + if (def) { + return def; + } + else { + var str = consume(STR) || error("No value for default"); + str.value = str.value.replace(/^"/, "").replace(/"$/, ""); + return str; + } + } + }; + + var const_ = function (store) { + all_ws(store, "pea"); + if (!consume(ID, "const")) return; + var ret = { type: "const", nullable: false }; + all_ws(); + var typ = primitive_type(); + if (!typ) { + typ = consume(ID) || error("No type for const"); + typ = typ.value; + } + ret.idlType = typ; + all_ws(); + if (consume(OTHER, "?")) { + ret.nullable = true; + all_ws(); + } + var name = consume(ID) || error("No name for const"); + ret.name = name.value; + all_ws(); + consume(OTHER, "=") || error("No value assignment for const"); + all_ws(); + var cnt = const_value(); + if (cnt) ret.value = cnt; + else error("No value for const"); + all_ws(); + consume(OTHER, ";") || error("Unterminated const"); + return ret; + }; + + var inheritance = function () { + all_ws(); + if (consume(OTHER, ":")) { + all_ws(); + var inh = consume(ID) || error ("No type in inheritance"); + return inh.value; + } + }; + + var operation_rest = function (ret, store) { + all_ws(); + if (!ret) ret = {}; + var name = consume(ID); + ret.name = name ? name.value : null; + all_ws(); + consume(OTHER, "(") || error("Invalid operation"); + ret["arguments"] = argument_list(store) || []; + all_ws(); + consume(OTHER, ")") || error("Unterminated operation"); + all_ws(); + consume(OTHER, ";") || error("Unterminated operation"); + return ret; + }; + + var callback = function (store) { + all_ws(store, "pea"); + var ret; + if (!consume(ID, "callback")) return; + all_ws(); + var tok = consume(ID, "interface"); + if (tok) { + tokens.unshift(tok); + ret = interface_(); + ret.type = "callback interface"; + return ret; + } + var name = consume(ID) || error("No name for callback"); + ret = { type: "callback", name: name.value }; + all_ws(); + consume(OTHER, "=") || error("No assignment in callback"); + all_ws(); + ret.idlType = return_type(); + all_ws(); + consume(OTHER, "(") || error("No arguments in callback"); + ret["arguments"] = argument_list(store) || []; + all_ws(); + consume(OTHER, ")") || error("Unterminated callback"); + all_ws(); + consume(OTHER, ";") || error("Unterminated callback"); + return ret; + }; + + var attribute = function (store) { + all_ws(store, "pea"); + var grabbed = [] + , ret = { + type: "attribute" + , "static": false + , stringifier: false + , inherit: false + , readonly: false + }; + if (consume(ID, "static")) { + ret["static"] = true; + grabbed.push(last_token); + } + else if (consume(ID, "stringifier")) { + ret.stringifier = true; + grabbed.push(last_token); + } + var w = all_ws(); + if (w) grabbed.push(w); + if (consume(ID, "inherit")) { + if (ret["static"] || ret.stringifier) error("Cannot have a static or stringifier inherit"); + ret.inherit = true; + grabbed.push(last_token); + var w = all_ws(); + if (w) grabbed.push(w); + } + if (consume(ID, "readonly")) { + ret.readonly = true; + grabbed.push(last_token); + var w = all_ws(); + if (w) grabbed.push(w); + } + if (!consume(ID, "attribute")) { + tokens = grabbed.concat(tokens); + return; + } + all_ws(); + ret.idlType = type() || error("No type in attribute"); + if (ret.idlType.sequence) error("Attributes cannot accept sequence types"); + all_ws(); + var name = consume(ID) || error("No name in attribute"); + ret.name = name.value; + all_ws(); + consume(OTHER, ";") || error("Unterminated attribute"); + return ret; + }; + + var return_type = function () { + var typ = type(); + if (!typ) { + if (consume(ID, "void")) { + return "void"; + } + else error("No return type"); + } + return typ; + }; + + var operation = function (store) { + all_ws(store, "pea"); + var ret = { + type: "operation" + , getter: false + , setter: false + , creator: false + , deleter: false + , legacycaller: false + , "static": false + , stringifier: false + }; + while (true) { + all_ws(); + if (consume(ID, "getter")) ret.getter = true; + else if (consume(ID, "setter")) ret.setter = true; + else if (consume(ID, "creator")) ret.creator = true; + else if (consume(ID, "deleter")) ret.deleter = true; + else if (consume(ID, "legacycaller")) ret.legacycaller = true; + else break; + } + if (ret.getter || ret.setter || ret.creator || ret.deleter || ret.legacycaller) { + all_ws(); + ret.idlType = return_type(); + operation_rest(ret, store); + return ret; + } + if (consume(ID, "static")) { + ret["static"] = true; + ret.idlType = return_type(); + operation_rest(ret, store); + return ret; + } + else if (consume(ID, "stringifier")) { + ret.stringifier = true; + all_ws(); + if (consume(OTHER, ";")) return ret; + ret.idlType = return_type(); + operation_rest(ret, store); + return ret; + } + ret.idlType = return_type(); + all_ws(); + if (consume(ID, "iterator")) { + all_ws(); + ret.type = "iterator"; + if (consume(ID, "object")) { + ret.iteratorObject = "object"; + } + else if (consume(OTHER, "=")) { + all_ws(); + var name = consume(ID) || error("No right hand side in iterator"); + ret.iteratorObject = name.value; + } + all_ws(); + consume(OTHER, ";") || error("Unterminated iterator"); + return ret; + } + else { + operation_rest(ret, store); + return ret; + } + }; + + var identifiers = function (arr) { + while (true) { + all_ws(); + if (consume(OTHER, ",")) { + all_ws(); + var name = consume(ID) || error("Trailing comma in identifiers list"); + arr.push(name.value); + } + else break; + } + }; + + var serialiser = function (store) { + all_ws(store, "pea"); + if (!consume(ID, "serializer")) return; + var ret = { type: "serializer" }; + all_ws(); + if (consume(OTHER, "=")) { + all_ws(); + if (consume(OTHER, "{")) { + ret.patternMap = true; + all_ws(); + var id = consume(ID); + if (id && id.value === "getter") { + ret.names = ["getter"]; + } + else if (id && id.value === "inherit") { + ret.names = ["inherit"]; + identifiers(ret.names); + } + else if (id) { + ret.names = [id.value]; + identifiers(ret.names); + } + else { + ret.names = []; + } + all_ws(); + consume(OTHER, "}") || error("Unterminated serializer pattern map"); + } + else if (consume(OTHER, "[")) { + ret.patternList = true; + all_ws(); + var id = consume(ID); + if (id && id.value === "getter") { + ret.names = ["getter"]; + } + else if (id) { + ret.names = [id.value]; + identifiers(ret.names); + } + else { + ret.names = []; + } + all_ws(); + consume(OTHER, "]") || error("Unterminated serializer pattern list"); + } + else { + var name = consume(ID) || error("Invalid serializer"); + ret.name = name.value; + } + all_ws(); + consume(OTHER, ";") || error("Unterminated serializer"); + return ret; + } + else if (consume(OTHER, ";")) { + // noop, just parsing + } + else { + ret.idlType = return_type(); + all_ws(); + ret.operation = operation_rest(null, store); + } + return ret; + }; + + var interface_ = function (isPartial, store) { + all_ws(isPartial ? null : store, "pea"); + if (!consume(ID, "interface")) return; + all_ws(); + var name = consume(ID) || error("No name for interface"); + var mems = [] + , ret = { + type: "interface" + , name: name.value + , partial: false + , members: mems + }; + if (!isPartial) ret.inheritance = inheritance() || null; + all_ws(); + consume(OTHER, "{") || error("Bodyless interface"); + while (true) { + all_ws(store ? mems : null); + if (consume(OTHER, "}")) { + all_ws(); + consume(OTHER, ";") || error("Missing semicolon after interface"); + return ret; + } + var ea = extended_attrs(store ? mems : null); + all_ws(); + var cnt = const_(store ? mems : null); + if (cnt) { + cnt.extAttrs = ea; + ret.members.push(cnt); + continue; + } + var mem = serialiser(store ? mems : null) || + attribute(store ? mems : null) || + operation(store ? mems : null) || + error("Unknown member"); + mem.extAttrs = ea; + ret.members.push(mem); + } + }; + + var partial = function (store) { + all_ws(store, "pea"); + if (!consume(ID, "partial")) return; + var thing = dictionary(true, store) || + interface_(true, store) || + error("Partial doesn't apply to anything"); + thing.partial = true; + return thing; + }; + + var dictionary = function (isPartial, store) { + all_ws(isPartial ? null : store, "pea"); + if (!consume(ID, "dictionary")) return; + all_ws(); + var name = consume(ID) || error("No name for dictionary"); + var mems = [] + , ret = { + type: "dictionary" + , name: name.value + , partial: false + , members: mems + }; + if (!isPartial) ret.inheritance = inheritance() || null; + all_ws(); + consume(OTHER, "{") || error("Bodyless dictionary"); + while (true) { + all_ws(store ? mems : null); + if (consume(OTHER, "}")) { + all_ws(); + consume(OTHER, ";") || error("Missing semicolon after dictionary"); + return ret; + } + var ea = extended_attrs(store ? mems : null); + all_ws(store ? mems : null, "pea"); + var typ = type() || error("No type for dictionary member"); + all_ws(); + var name = consume(ID) || error("No name for dictionary member"); + ret.members.push({ + type: "field" + , name: name.value + , idlType: typ + , extAttrs: ea + , "default": default_() + }); + all_ws(); + consume(OTHER, ";") || error("Unterminated dictionary member"); + } + }; + + var exception = function (store) { + all_ws(store, "pea"); + if (!consume(ID, "exception")) return; + all_ws(); + var name = consume(ID) || error("No name for exception"); + var mems = [] + , ret = { + type: "exception" + , name: name.value + , members: mems + }; + ret.inheritance = inheritance() || null; + all_ws(); + consume(OTHER, "{") || error("Bodyless exception"); + while (true) { + all_ws(store ? mems : null); + if (consume(OTHER, "}")) { + all_ws(); + consume(OTHER, ";") || error("Missing semicolon after exception"); + return ret; + } + var ea = extended_attrs(store ? mems : null); + all_ws(store ? mems : null, "pea"); + var cnt = const_(); + if (cnt) { + cnt.extAttrs = ea; + ret.members.push(cnt); + } + else { + var typ = type(); + all_ws(); + var name = consume(ID); + all_ws(); + if (!typ || !name || !consume(OTHER, ";")) error("Unknown member in exception body"); + ret.members.push({ + type: "field" + , name: name.value + , idlType: typ + , extAttrs: ea + }); + } + } + }; + + var enum_ = function (store) { + all_ws(store, "pea"); + if (!consume(ID, "enum")) return; + all_ws(); + var name = consume(ID) || error("No name for enum"); + var vals = [] + , ret = { + type: "enum" + , name: name.value + , values: vals + }; + all_ws(); + consume(OTHER, "{") || error("No curly for enum"); + var saw_comma = false; + while (true) { + all_ws(store ? vals : null); + if (consume(OTHER, "}")) { + all_ws(); + if (saw_comma) error("Trailing comma in enum"); + consume(OTHER, ";") || error("No semicolon after enum"); + return ret; + } + var val = consume(STR) || error("Unexpected value in enum"); + ret.values.push(val.value.replace(/"/g, "")); + all_ws(store ? vals : null); + if (consume(OTHER, ",")) { + if (store) vals.push({ type: "," }); + all_ws(store ? vals : null); + saw_comma = true; + } + else { + saw_comma = false; + } + } + }; + + var typedef = function (store) { + all_ws(store, "pea"); + if (!consume(ID, "typedef")) return; + var ret = { + type: "typedef" + }; + all_ws(); + ret.typeExtAttrs = extended_attrs(); + all_ws(store, "tpea"); + ret.idlType = type() || error("No type in typedef"); + all_ws(); + var name = consume(ID) || error("No name in typedef"); + ret.name = name.value; + all_ws(); + consume(OTHER, ";") || error("Unterminated typedef"); + return ret; + }; + + var implements_ = function (store) { + all_ws(store, "pea"); + var target = consume(ID); + if (!target) return; + var w = all_ws(); + if (consume(ID, "implements")) { + var ret = { + type: "implements" + , target: target.value + }; + all_ws(); + var imp = consume(ID) || error("Incomplete implements statement"); + ret["implements"] = imp.value; + all_ws(); + consume(OTHER, ";") || error("No terminating ; for implements statement"); + return ret; + } + else { + // rollback + tokens.unshift(w); + tokens.unshift(target); + } + }; + + var definition = function (store) { + return callback(store) || + interface_(false, store) || + partial(store) || + dictionary(false, store) || + exception(store) || + enum_(store) || + typedef(store) || + implements_(store) + ; + }; + + var definitions = function (store) { + if (!tokens.length) return []; + var defs = []; + while (true) { + var ea = extended_attrs(store ? defs : null) + , def = definition(store ? defs : null); + if (!def) { + if (ea.length) error("Stray extended attributes"); + break; + } + def.extAttrs = ea; + defs.push(def); + } + return defs; + }; + var res = definitions(opt.ws); + if (tokens.length) error("Unrecognised tokens"); + return res; + }; + + var inNode = typeof module !== "undefined" && module.exports + , obj = { + parse: function (str, opt) { + if (!opt) opt = {}; + var tokens = tokenise(str); + return parse(tokens, opt); + } + }; + + if (inNode) module.exports = obj; + else self.WebIDL2 = obj; +}()); diff --git a/tests/wpt/web-platform-tests/resources/webidl2/lib/writer.js b/tests/wpt/web-platform-tests/resources/webidl2/lib/writer.js new file mode 100644 index 00000000000..ba836373823 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/lib/writer.js @@ -0,0 +1,236 @@ + +(function () { + + var write = function (ast, opt) { + var curPea = "" + , curTPea = "" + , opt = opt || {} + , noop = function (str) { return str; } + , optNames = "type".split(" ") + , context = [] + ; + for (var i = 0, n = optNames.length; i < n; i++) { + var o = optNames[i]; + if (!opt[o]) opt[o] = noop; + } + + var literal = function (it) { + return it.value; + }; + var wsPea = function (it) { + curPea += it.value; + return ""; + }; + var wsTPea = function (it) { + curTPea += it.value; + return ""; + }; + var lineComment = function (it) { + return "//" + it.value + "\n"; + }; + var multilineComment = function (it) { + return "/*" + it.value + "*/"; + }; + var type = function (it) { + if (typeof it === "string") return opt.type(it); // XXX should maintain some context + if (it.union) return "(" + it.idlType.map(type).join(" or ") + ")"; + var ret = ""; + if (it.sequence) ret += "sequence<"; + ret += type(it.idlType); + if (it.array) { + for (var i = 0, n = it.nullableArray.length; i < n; i++) { + var val = it.nullableArray[i]; + if (val) ret += "?"; + ret += "[]"; + } + } + if (it.sequence) ret += ">"; + if (it.nullable) ret += "?"; + + return ret; + }; + var const_value = function (it) { + var tp = it. type; + if (tp === "boolean") return it.value ? "true" : "false"; + else if (tp === "null") return "null"; + else if (tp === "Infinity") return (it.negative ? "-" : "") + "Infinity"; + else if (tp === "NaN") return "NaN"; + else if (tp === "number") return it.value; + else return '"' + it.value + '"'; + }; + var argument = function (arg, pea) { + var ret = extended_attributes(arg.extAttrs, pea); + if (arg.optional) ret += "optional "; + ret += type(arg.idlType); + if (arg.variadic) ret += "..."; + ret += " " + arg.name; + if (arg["default"]) ret += " = " + const_value(arg["default"]); + return ret; + }; + var args = function (its) { + var res = "" + , pea = "" + ; + for (var i = 0, n = its.length; i < n; i++) { + var arg = its[i]; + if (arg.type === "ws") res += arg.value; + else if (arg.type === "ws-pea") pea += arg.value; + else { + res += argument(arg, pea); + if (i < n - 1) res += ","; + pea = ""; + } + } + return res; + }; + var make_ext_at = function (it) { + if (it["arguments"] === null) return it.name; + context.unshift(it); + var ret = it.name + "(" + (it["arguments"].length ? args(it["arguments"]) : "") + ")"; + context.shift(); // XXX need to add more contexts, but not more than needed for ReSpec + return ret; + }; + var extended_attributes = function (eats, pea) { + if (!eats || !eats.length) return ""; + return "[" + eats.map(make_ext_at).join(", ") + "]" + pea; + }; + + var modifiers = "getter setter creator deleter legacycaller stringifier static".split(" "); + var operation = function (it) { + var ret = extended_attributes(it.extAttrs, curPea); + curPea = ""; + if (it.stringifier && !it.idlType) return "stringifier;"; + for (var i = 0, n = modifiers.length; i < n; i++) { + var mod = modifiers[i]; + if (it[mod]) ret += mod + " "; + } + ret += type(it.idlType) + " "; + if (it.name) ret += it.name; + ret += "(" + args(it["arguments"]) + ");"; + return ret; + }; + + var attribute = function (it) { + var ret = extended_attributes(it.extAttrs, curPea); + curPea = ""; + if (it["static"]) ret += "static "; + if (it.stringifier) ret += "stringifier "; + if (it.readonly) ret += "readonly "; + if (it.inherit) ret += "inherit "; + ret += "attribute " + type(it.idlType) + " " + it.name + ";"; + return ret; + }; + + var interface_ = function (it) { + var ret = extended_attributes(it.extAttrs, curPea); + curPea = ""; + if (it.partial) ret += "partial "; + ret += "interface " + it.name + " "; + if (it.inheritance) ret += ": " + it.inheritance + " "; + ret += "{" + iterate(it.members) + "};"; + return ret; + }; + + var dictionary = function (it) { + var ret = extended_attributes(it.extAttrs, curPea); + curPea = ""; + if (it.partial) ret += "partial "; + ret += "dictionary " + it.name + " "; + ret += "{" + iterate(it.members) + "};"; + return ret; + }; + var field = function (it) { + var ret = extended_attributes(it.extAttrs, curPea); + curPea = ""; + ret += type(it.idlType) + " " + it.name; + if (it["default"]) ret += " = " + const_value(it["default"]); + ret += ";"; + return ret; + }; + var exception = function (it) { + var ret = extended_attributes(it.extAttrs, curPea); + curPea = ""; + ret += "exception " + it.name + " "; + if (it.inheritance) ret += ": " + it.inheritance + " "; + ret += "{" + iterate(it.members) + "};"; + return ret; + }; + var const_ = function (it) { + var ret = extended_attributes(it.extAttrs, curPea); + curPea = ""; + return ret + "const " + type(it.idlType) + " " + it.name + " = " + const_value(it.value) + ";"; + }; + var typedef = function (it) { + var ret = extended_attributes(it.extAttrs, curPea); + curPea = ""; + ret += "typedef " + extended_attributes(it.typeExtAttrs, curTPea); + curTPea = ""; + return ret + type(it.idlType) + " " + it.name + ";"; + }; + var implements_ = function (it) { + var ret = extended_attributes(it.extAttrs, curPea); + curPea = ""; + return ret + it.target + " implements " + it["implements"] + ";"; + }; + var callback = function (it) { + var ret = extended_attributes(it.extAttrs, curPea); + curPea = ""; + return ret + "callback " + it.name + " = " + type(it.idlType) + + "(" + args(it["arguments"]) + ");"; + }; + var enum_ = function (it) { + var ret = extended_attributes(it.extAttrs, curPea); + curPea = ""; + ret += "enum " + it.name + " {"; + for (var i = 0, n = it.values.length; i < n; i++) { + var v = it.values[i]; + if (typeof v === "string") ret += '"' + v + '"'; + else if (v.type === "ws") ret += v.value; + else if (v.type === ",") ret += ","; + } + return ret + "};"; + }; + + var table = { + ws: literal + , "ws-pea": wsPea + , "ws-tpea": wsTPea + , "line-comment": lineComment + , "multiline-comment": multilineComment + , "interface": interface_ + , operation: operation + , attribute: attribute + , dictionary: dictionary + , field: field + , exception: exception + , "const": const_ + , typedef: typedef + , "implements": implements_ + , callback: callback + , "enum": enum_ + }; + var dispatch = function (it) { + return table[it.type](it); + }; + var iterate = function (things) { + if (!things) return; + var ret = ""; + for (var i = 0, n = things.length; i < n; i++) ret += dispatch(things[i]); + return ret; + }; + return iterate(ast); + }; + + + var inNode = typeof module !== "undefined" && module.exports + , obj = { + write: function (ast, opt) { + if (!opt) opt = {}; + return write(ast, opt); + } + }; + + if (inNode) module.exports = obj; + else window.WebIDL2Writer = obj; + +}()); diff --git a/tests/wpt/web-platform-tests/resources/webidl2/package.json b/tests/wpt/web-platform-tests/resources/webidl2/package.json new file mode 100644 index 00000000000..5a0637ee110 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/package.json @@ -0,0 +1,22 @@ +{ + "name": "webidl2" +, "description": "A WebIDL Parser" +, "version": "2.0.4" +, "author": "Robin Berjon " +, "license": "MIT" +, "dependencies": { + } +, "devDependencies": { + "mocha": "1.7.4" + , "expect.js": "0.2.0" + , "underscore": "1.4.3" + , "jsondiffpatch": "0.0.5" + , "benchmark": "*" + , "microtime": "*" + } +, "scripts": { + "test": "mocha" + } +, "repository": "git://github.com/darobin/webidl2.js" +, "main": "index" +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid.js b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid.js new file mode 100644 index 00000000000..c9821803726 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid.js @@ -0,0 +1,42 @@ + +// NOTES: +// - the errors actually still need to be reviewed to check that they +// are fully correct interpretations of the IDLs + +var wp = process.env.JSCOV ? require("../lib-cov/webidl2") : require("../lib/webidl2") +, expect = require("expect.js") +, pth = require("path") +, fs = require("fs") +; +describe("Parses all of the invalid IDLs to check that they blow up correctly", function () { + var dir = pth.join(__dirname, "invalid/idl") + , skip = {} + , idls = fs.readdirSync(dir) + .filter(function (it) { return (/\.w?idl$/).test(it) && !skip[it]; }) + .map(function (it) { return pth.join(dir, it); }) + , errors = idls.map(function (it) { return pth.join(__dirname, "invalid", "json", pth.basename(it).replace(/\.w?idl/, ".json")); }) + ; + + for (var i = 0, n = idls.length; i < n; i++) { + var idl = idls[i], error = JSON.parse(fs.readFileSync(errors[i], "utf8")); + var func = (function (idl, err) { + return function () { + var error; + try { + var ast = wp.parse(fs.readFileSync(idl, "utf8")); + console.log(JSON.stringify(ast, null, 4)); + } + catch (e) { + error = e; + } + finally { + expect(error).to.be.ok(); + expect(error.message).to.equal(err.message); + expect(error.line).to.equal(err.line); + } + + }; + }(idl, error)); + it("should produce the right error for " + idl, func); + } +}); diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/enum.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/enum.widl new file mode 100644 index 00000000000..c355c3251c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/enum.widl @@ -0,0 +1 @@ +enum foo { 1, 2, 3}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/module.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/module.widl new file mode 100644 index 00000000000..a4c79fdf155 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/module.widl @@ -0,0 +1,25 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +module gfx { + + module geom { + interface Shape { /* ... */ }; + interface Rectangle : Shape { /* ... */ }; + interface Path : Shape { /* ... */ }; + }; + + interface GraphicsContext { + void fillShape(geom::Shape s); + void strokeShape(geom::Shape s); + }; +}; + +module gui { + + interface Widget { /* ... */ }; + + interface Window : Widget { + gfx::GraphicsContext getGraphicsContext(); + }; + + interface Button : Widget { /* ... */ }; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableany.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableany.widl new file mode 100644 index 00000000000..38957655523 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableany.widl @@ -0,0 +1,3 @@ +interface NonNullable { + attribute any? foo; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableobjects.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableobjects.widl new file mode 100644 index 00000000000..1deac5aeec9 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/nonnullableobjects.widl @@ -0,0 +1,5 @@ +interface Foo {}; + +interface NonNullable { + attribute Foo?? foo; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/raises.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/raises.widl new file mode 100644 index 00000000000..ff65522f2b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/raises.widl @@ -0,0 +1,18 @@ +// getraises and setraises are not longer valid Web IDL +interface Person { + + // An attribute that can raise an exception if it is set to an invalid value. + attribute DOMString name setraises (InvalidName); + + // An attribute whose value cannot be assigned to, and which can raise an + // exception some circumstances. + readonly attribute DOMString petName getraises (NoSuchPet); +}; + +exception SomeException { +}; + +interface ExceptionThrower { + // This attribute always throws a SomeException and never returns a value. + attribute long valueOf getraises(SomeException); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/scopedname.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/scopedname.widl new file mode 100644 index 00000000000..cfcb1ccc939 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/scopedname.widl @@ -0,0 +1,2 @@ +// scoped names are no longer valid in WebIDL + typedef gfx::geom::geom2d::Point Point; diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/sequenceAsAttribute.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/sequenceAsAttribute.widl new file mode 100644 index 00000000000..c23da82ac22 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/sequenceAsAttribute.widl @@ -0,0 +1,3 @@ +interface sequenceAsAttribute { + attribute sequence invalid; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/special-omittable.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/special-omittable.widl new file mode 100644 index 00000000000..bdfbfa70973 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/special-omittable.widl @@ -0,0 +1,8 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +// omittable is no longer a recognized keywoard as of 20110905 +interface Dictionary { + readonly attribute unsigned long propertyCount; + + omittable getter float getProperty(DOMString propertyName); + omittable setter void setProperty(DOMString propertyName, float propertyValue); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/stringconstants.idl b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/stringconstants.idl new file mode 100644 index 00000000000..44fd3ff136e --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/idl/stringconstants.idl @@ -0,0 +1,3 @@ +interface Util { + const DOMString hello = "world"; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/enum.json b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/enum.json new file mode 100644 index 00000000000..166115801c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/enum.json @@ -0,0 +1,4 @@ +{ + "message": "Unexpected value in enum" +, "line": 1 +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/module.json b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/module.json new file mode 100644 index 00000000000..3b0984d973f --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/module.json @@ -0,0 +1,4 @@ +{ + "message": "Unrecognised tokens" +, "line": 2 +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/nonnullableany.json b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/nonnullableany.json new file mode 100644 index 00000000000..cf5229e8e44 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/nonnullableany.json @@ -0,0 +1,4 @@ +{ + "message": "Type any cannot be made nullable" +, "line": 2 +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/nonnullableobjects.json b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/nonnullableobjects.json new file mode 100644 index 00000000000..23cbb3e5d18 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/nonnullableobjects.json @@ -0,0 +1,4 @@ +{ + "message": "Can't nullable more than once" +, "line": 4 +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/raises.json b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/raises.json new file mode 100644 index 00000000000..8b67afe4fc9 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/raises.json @@ -0,0 +1,4 @@ +{ + "message": "Unterminated attribute" +, "line": 5 +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/scopedname.json b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/scopedname.json new file mode 100644 index 00000000000..8e2cd803287 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/scopedname.json @@ -0,0 +1,4 @@ +{ + "message": "No name in typedef" +, "line": 2 +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/sequenceAsAttribute.json b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/sequenceAsAttribute.json new file mode 100644 index 00000000000..b714f5d9243 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/sequenceAsAttribute.json @@ -0,0 +1,4 @@ +{ + "message": "Attributes cannot accept sequence types" +, "line": 2 +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/special-omittable.json b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/special-omittable.json new file mode 100644 index 00000000000..7acb08834b0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/special-omittable.json @@ -0,0 +1,4 @@ +{ + "message": "Invalid operation" +, "line": 6 +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/stringconstants.json b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/stringconstants.json new file mode 100644 index 00000000000..d5bf1a8832c --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/invalid/json/stringconstants.json @@ -0,0 +1,4 @@ +{ + "message": "No value for const" +, "line": 2 +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/mocha.opts b/tests/wpt/web-platform-tests/resources/webidl2/test/mocha.opts new file mode 100644 index 00000000000..5ada47be16b --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/mocha.opts @@ -0,0 +1 @@ +--reporter spec diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax.js b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax.js new file mode 100644 index 00000000000..6f9de3637d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax.js @@ -0,0 +1,36 @@ + +var wp = process.env.JSCOV ? require("../lib-cov/webidl2") : require("../lib/webidl2") +, expect = require("expect.js") +, pth = require("path") +, fs = require("fs") +, jdp = require("jsondiffpatch") +, debug = true +; +describe("Parses all of the IDLs to produce the correct ASTs", function () { + var dir = pth.join(__dirname, "syntax/idl") + , skip = {} // use if we have a broken test + , idls = fs.readdirSync(dir) + .filter(function (it) { return (/\.widl$/).test(it) && !skip[it]; }) + .map(function (it) { return pth.join(dir, it); }) + , jsons = idls.map(function (it) { return pth.join(__dirname, "syntax/json", pth.basename(it).replace(".widl", ".json")); }) + ; + + for (var i = 0, n = idls.length; i < n; i++) { + var idl = idls[i], json = jsons[i]; + var func = (function (idl, json) { + return function () { + try { + var diff = jdp.diff(JSON.parse(fs.readFileSync(json, "utf8")), + wp.parse(fs.readFileSync(idl, "utf8"))); + if (diff && debug) console.log(JSON.stringify(diff, null, 4)); + expect(diff).to.be(undefined); + } + catch (e) { + console.log(e.toString()); + throw e; + } + }; + }(idl, json)); + it("should produce the same AST for " + idl, func); + } +}); diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/allowany.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/allowany.widl new file mode 100644 index 00000000000..2343bb96374 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/allowany.widl @@ -0,0 +1,6 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface B { + void g(); + void g(B b); + void g([AllowAny] DOMString s); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/array.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/array.widl new file mode 100644 index 00000000000..22e21fb6564 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/array.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[Constructor] +interface LotteryResults { + readonly attribute unsigned short[][] numbers; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/attributes.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/attributes.widl new file mode 100644 index 00000000000..7e1d691cbe2 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/attributes.widl @@ -0,0 +1,14 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +exception InvalidName { + DOMString reason; +}; + +exception NoSuchPet { }; + +interface Person { + + // A simple attribute that can be set to any value the range an unsigned + // short can take. + attribute unsigned short age; + +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/callback.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/callback.widl new file mode 100644 index 00000000000..d92f6a18c0a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/callback.widl @@ -0,0 +1,5 @@ +callback AsyncOperationCallback = void (DOMString status); + +callback interface EventHandler { + void eventOccurred(DOMString details); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/caller.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/caller.widl new file mode 100644 index 00000000000..92acb1c0176 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/caller.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface NumberQuadrupler { + // This operation simply returns four times the given number x. + legacycaller float compute(float x); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/constants.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/constants.widl new file mode 100644 index 00000000000..5e28ae9c116 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/constants.widl @@ -0,0 +1,18 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Util { + const boolean DEBUG = false; + const short negative = -1; + const octet LF = 10; + const unsigned long BIT_MASK = 0x0000fc00; + const float AVOGADRO = 6.022e23; + const unrestricted float sobig = Infinity; + const unrestricted double minusonedividedbyzero = -Infinity; + const short notanumber = NaN; +}; + +exception Error { + const short ERR_UNKNOWN = 0; + const short ERR_OUT_OF_MEMORY = 1; + + short errorCode; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/constructor.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/constructor.widl new file mode 100644 index 00000000000..f93ec08a6e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/constructor.widl @@ -0,0 +1,9 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[Constructor, + Constructor(float radius)] +interface Circle { + attribute float r; + attribute float cx; + attribute float cy; + readonly attribute float circumference; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/dictionary-inherits.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/dictionary-inherits.widl new file mode 100644 index 00000000000..48f8a0fdceb --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/dictionary-inherits.widl @@ -0,0 +1,9 @@ +dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + +dictionary WetPaintOptions : PaintOptions { + float hydrometry; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/dictionary.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/dictionary.widl new file mode 100644 index 00000000000..f46b7ba7806 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/dictionary.widl @@ -0,0 +1,11 @@ +// Extracted from Web IDL editors draft May 31 2011 +dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + +partial dictionary A { + long h; + long d; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/documentation-dos.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/documentation-dos.widl new file mode 100644 index 00000000000..fb801101f14 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/documentation-dos.widl @@ -0,0 +1,33 @@ +/** +* \brief Testing documentation features +* +* This is a +* single paragraph +* +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                          +*
                                                                                                                                                                                                                                                                                        • This
                                                                                                                                                                                                                                                                                        • +*
                                                                                                                                                                                                                                                                                        • is
                                                                                                                                                                                                                                                                                        • +*
                                                                                                                                                                                                                                                                                        • valid
                                                                                                                                                                                                                                                                                        • +*
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        This
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        valid
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        +* +* +* +* +* +* +* +* +*
                                                                                                                                                                                                                                                                                        thisis
                                                                                                                                                                                                                                                                                        valid
                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +*/ +interface Documentation {}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/documentation.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/documentation.widl new file mode 100644 index 00000000000..003e9226f67 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/documentation.widl @@ -0,0 +1,34 @@ +/** +* \brief Testing documentation features +* +* This is a +* single paragraph +* +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                          +*
                                                                                                                                                                                                                                                                                        • This
                                                                                                                                                                                                                                                                                        • +*
                                                                                                                                                                                                                                                                                        • is
                                                                                                                                                                                                                                                                                        • +*
                                                                                                                                                                                                                                                                                        • valid
                                                                                                                                                                                                                                                                                        • +*
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        This
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        valid
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        +* +* +* +* +* +* +* +* +*
                                                                                                                                                                                                                                                                                        thisis
                                                                                                                                                                                                                                                                                        valid
                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        Valid

                                                                                                                                                                                                                                                                                        +*/ +interface Documentation {}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/enum.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/enum.widl new file mode 100644 index 00000000000..851fca2e6f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/enum.widl @@ -0,0 +1,8 @@ +enum MealType { "rice", "noodles", "other" }; + +interface Meal { + attribute MealType type; + attribute float size; // in grams + + void initialize(MealType type, float size); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/equivalent-decl.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/equivalent-decl.widl new file mode 100644 index 00000000000..6b3e0eda284 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/equivalent-decl.widl @@ -0,0 +1,18 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float getProperty(DOMString propertyName); + setter void setProperty(DOMString propertyName, float propertyValue); +}; + + +interface Dictionary { + readonly attribute unsigned long propertyCount; + + float getProperty(DOMString propertyName); + void setProperty(DOMString propertyName, float propertyValue); + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/exception-inheritance.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/exception-inheritance.widl new file mode 100644 index 00000000000..258fdeba6f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/exception-inheritance.widl @@ -0,0 +1,7 @@ +// from http://lists.w3.org/Archives/Public/public-script-coord/2010OctDec/0112.html + exception DOMException { + unsigned short code; + }; + + exception HierarchyRequestError : DOMException { }; + exception NoModificationAllowedError : DOMException { }; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/exception.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/exception.widl new file mode 100644 index 00000000000..f4b6ae29e10 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/exception.widl @@ -0,0 +1,8 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dahut { + attribute DOMString type; +}; + +exception SomeException { +}; + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/generic.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/generic.widl new file mode 100644 index 00000000000..18c79a50d8d --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/generic.widl @@ -0,0 +1,17 @@ +interface Foo { + Promise>> bar(); +}; + +// Extracted from https://slightlyoff.github.io/ServiceWorker/spec/service_worker/ on 2014-05-08 + +interface ServiceWorkerClients { + Promise getServiced(); + Promise reloadAll(); +}; + +// Extracted from https://slightlyoff.github.io/ServiceWorker/spec/service_worker/ on 2014-05-13 + +interface FetchEvent : Event { + ResponsePromise default(); +}; + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/getter-setter.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/getter-setter.widl new file mode 100644 index 00000000000..bdf87e1c7c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/getter-setter.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/identifier-qualified-names.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/identifier-qualified-names.widl new file mode 100644 index 00000000000..33893d4c644 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/identifier-qualified-names.widl @@ -0,0 +1,44 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 + // Typedef identifier: "number" + // Qualified name: "::framework::number" + typedef float number; + + // Exception identifier: "FrameworkException" + // Qualified name: "::framework::FrameworkException" + exception FrameworkException { + + // Constant identifier: "ERR_NOT_FOUND" + // Qualified name: "::framework::FrameworkException::ERR_NOT_FOUND" + const long ERR_NOT_FOUND = 1; + + // Exception field identifier: "code" + long code; + }; + + // Interface identifier: "System" + // Qualified name: "::framework::System" + interface System { + + // Operation identifier: "createObject" + // Operation argument identifier: "interface" + object createObject(DOMString _interface); + + // Operation has no identifier; it declares a getter. + getter DOMString (DOMString keyName); + }; + + + // Interface identifier: "TextField" + // Qualified name: "::framework::gui::TextField" + interface TextField { + + // Attribute identifier: "const" + attribute boolean _const; + + // Attribute identifier: "value" + attribute DOMString? _value; + }; + +interface Foo { + void op(object interface); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/implements.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/implements.widl new file mode 100644 index 00000000000..7a310926f1c --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/implements.widl @@ -0,0 +1,14 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 + interface Node { + readonly attribute unsigned short nodeType; + // ... + }; + + interface EventTarget { + void addEventListener(DOMString type, + EventListener listener, + boolean useCapture); + // ... + }; + + Node implements EventTarget; diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/indexed-properties.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/indexed-properties.widl new file mode 100644 index 00000000000..acf0ed3bf84 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/indexed-properties.widl @@ -0,0 +1,12 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface OrderedMap { + readonly attribute unsigned long size; + + getter any getByIndex(unsigned long index); + setter void setByIndex(unsigned long index, any value); + deleter void removeByIndex(unsigned long index); + + getter any get(DOMString name); + setter creator void set(DOMString name, any value); + deleter void remove(DOMString name); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/inherits-getter.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/inherits-getter.widl new file mode 100644 index 00000000000..558e8116494 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/inherits-getter.widl @@ -0,0 +1,16 @@ +interface Animal { + + // A simple attribute that can be set to any string value. + readonly attribute DOMString name; +}; + +interface Person : Animal { + + // An attribute whose value cannot be assigned to. + readonly attribute unsigned short age; + + // An attribute that can raise an exception if it is set to an invalid value. + // Its getter behavior is inherited from Animal, and need not be specified + // the description of Person. + inherit attribute DOMString name; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/interface-inherits.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/interface-inherits.widl new file mode 100644 index 00000000000..7921def7727 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/interface-inherits.widl @@ -0,0 +1,12 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Animal { + attribute DOMString name; +}; + +interface Human : Animal { + attribute Dog pet; +}; + +interface Dog : Animal { + attribute Human owner; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/iterator.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/iterator.widl new file mode 100644 index 00000000000..3bf1b36dec6 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/iterator.widl @@ -0,0 +1,35 @@ +interface SessionManager { + Session getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session iterator; +}; + +interface Session { + readonly attribute DOMString username; + // ... +}; + +interface SessionManager2 { + Session2 getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session2 iterator = SessionIterator; +}; + +interface Session2 { + readonly attribute DOMString username; + // ... +}; + +interface SessionIterator { + readonly attribute unsigned long remainingSessions; +}; + + interface NodeList { + Node iterator = NodeIterator; + }; + + interface NodeIterator { + Node iterator object; + }; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/map.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/map.widl new file mode 100644 index 00000000000..19b54f80a61 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/map.widl @@ -0,0 +1,5 @@ +// Extracted from https://slightlyoff.github.io/ServiceWorker/spec/service_worker/ on 2014-05-06 + +[MapClass(DOMString, DOMString)] +interface HeaderMap { +}; diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/namedconstructor.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/namedconstructor.widl new file mode 100644 index 00000000000..c468b78f8e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/namedconstructor.widl @@ -0,0 +1,6 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[NamedConstructor=Audio, + NamedConstructor=Audio(DOMString src)] +interface HTMLAudioElement : HTMLMediaElement { + // ... +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/nointerfaceobject.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/nointerfaceobject.widl new file mode 100644 index 00000000000..c17d75ff8fd --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/nointerfaceobject.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[NoInterfaceObject] +interface Query { + any lookupEntry(unsigned long key); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/nullable.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/nullable.widl new file mode 100644 index 00000000000..ccbf625ff8a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/nullable.widl @@ -0,0 +1,9 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface MyConstants { + const boolean? ARE_WE_THERE_YET = false; +}; + +interface Node { + readonly attribute DOMString? namespaceURI; + // ... +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/nullableobjects.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/nullableobjects.widl new file mode 100644 index 00000000000..83d1d40b2ac --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/nullableobjects.widl @@ -0,0 +1,13 @@ +// Extracted from WebIDL spec 2011-05-23 + +interface A { + // ... +}; +interface B { + // ... +}; +interface C { + void f(A? x); + void f(B? x); + +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/operation-optional-arg.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/operation-optional-arg.widl new file mode 100644 index 00000000000..379053b45f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/operation-optional-arg.widl @@ -0,0 +1,4 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface ColorCreator { + object createColor(float v1, float v2, float v3, optional float alpha = 3.5); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/overloading.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/overloading.widl new file mode 100644 index 00000000000..ef1288a8877 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/overloading.widl @@ -0,0 +1,20 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface A { + // ... +}; + +interface B { + // ... +}; + +interface C { + void f(A x); + void f(B x); +}; + +interface A { + /* f1 */ void f(DOMString a); + /* f2 */ void f([AllowAny] DOMString a, DOMString b, float... c); + /* f3 */ void f(); + /* f4 */ void f(long a, DOMString b, optional DOMString c, float... d); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/overridebuiltins.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/overridebuiltins.widl new file mode 100644 index 00000000000..79211c29e84 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/overridebuiltins.widl @@ -0,0 +1,6 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[OverrideBuiltins] +interface StringMap2 { + readonly attribute unsigned long length; + getter DOMString lookup(DOMString key); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/partial-interface.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/partial-interface.widl new file mode 100644 index 00000000000..90e7e0ea421 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/partial-interface.widl @@ -0,0 +1,7 @@ +interface Foo { + attribute DOMString bar; +}; + +partial interface Foo { + attribute DOMString quux; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/primitives.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/primitives.widl new file mode 100644 index 00000000000..92939601a1a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/primitives.widl @@ -0,0 +1,19 @@ +interface Primitives { + attribute boolean truth; + attribute byte character; + attribute octet value; + attribute short number; + attribute unsigned short positive; + attribute long big; + attribute unsigned long bigpositive; + attribute long long bigbig; + attribute unsigned long long bigbigpositive; + attribute float real; + attribute double bigreal; + attribute unrestricted float realwithinfinity; + attribute unrestricted double bigrealwithinfinity; + attribute DOMString string; + attribute ByteString bytes; + attribute Date date; + attribute RegExp regexp; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/prototyperoot.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/prototyperoot.widl new file mode 100644 index 00000000000..30dd5cbca13 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/prototyperoot.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[PrototypeRoot] +interface Node { + readonly attribute unsigned short nodeType; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/putforwards.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/putforwards.widl new file mode 100644 index 00000000000..1e50a4ee394 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/putforwards.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Person { + [PutForwards=full] readonly attribute Name name; + attribute unsigned short age; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/reg-operations.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/reg-operations.widl new file mode 100644 index 00000000000..13997cb1d12 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/reg-operations.widl @@ -0,0 +1,17 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dimensions { + attribute unsigned long width; + attribute unsigned long height; +}; + +exception NoPointerDevice { }; + +interface Button { + + // An operation that takes no arguments, returns a boolean + boolean isMouseOver(); + + // Overloaded operations. + void setDimensions(Dimensions size); + void setDimensions(unsigned long width, unsigned long height); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/replaceable.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/replaceable.widl new file mode 100644 index 00000000000..c14d0c37689 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/replaceable.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Counter { + [Replaceable] readonly attribute unsigned long value; + void increment(); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/sequence.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/sequence.widl new file mode 100644 index 00000000000..6ba0d390d25 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/sequence.widl @@ -0,0 +1,12 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +// edited to remove sequence as attributes, now invalid +interface Canvas { + void drawPolygon(sequence coordinates); + sequence getInflectionPoints(); + // ... +}; + +// Make sure sequence can still be registered as a type. +interface Foo { + sequence bar(); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/serializer.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/serializer.widl new file mode 100644 index 00000000000..6f6ccd0e8d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/serializer.widl @@ -0,0 +1,64 @@ +interface Transaction { + readonly attribute Account from; + readonly attribute Account to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer; +}; + +interface Account { + attribute DOMString name; + attribute unsigned long number; + serializer DOMString serialize(); +}; + +interface Transaction2 { + readonly attribute Account2 from; + readonly attribute Account2 to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer = { from, to, amount, description }; +}; + +interface Account2 { + attribute DOMString name; + attribute unsigned long number; + serializer = number; +}; + +interface Account3 { + attribute DOMString name; + attribute unsigned long number; + + serializer = { attribute }; +}; + +interface Account4 { + getter object getItem(unsigned long index); + serializer = { getter }; +}; + +interface Account5 : Account { + attribute DOMString secondname; + serializer = { inherit, secondname }; +}; + +interface Account6 : Account { + attribute DOMString secondname; + serializer = { inherit, attribute }; +}; + +interface Account7 { + attribute DOMString name; + attribute unsigned long number; + serializer = [ name, number ]; +}; + +interface Account8 { + getter object getItem(unsigned long index); + serializer = [ getter ]; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/static.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/static.widl new file mode 100644 index 00000000000..5b2cd36590f --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/static.widl @@ -0,0 +1,11 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Point { /* ... */ }; + +interface Circle { + attribute float cx; + attribute float cy; + attribute float radius; + + static readonly attribute long triangulationCount; + static Point triangulate(Circle c1, Circle c2, Circle c3); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-attribute.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-attribute.widl new file mode 100644 index 00000000000..c964ecb93e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-attribute.widl @@ -0,0 +1,6 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[Constructor] +interface Student { + attribute unsigned long id; + stringifier attribute DOMString name; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-custom.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-custom.widl new file mode 100644 index 00000000000..b5d7c87e7f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/stringifier-custom.widl @@ -0,0 +1,9 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[Constructor] +interface Student { + attribute unsigned long id; + attribute DOMString? familyName; + attribute DOMString givenName; + + stringifier DOMString (); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/stringifier.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/stringifier.widl new file mode 100644 index 00000000000..4eb483d9b53 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/stringifier.widl @@ -0,0 +1,8 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface A { + stringifier DOMString (); +}; + +interface A { + stringifier; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/treatasnull.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/treatasnull.widl new file mode 100644 index 00000000000..d3c55b008c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/treatasnull.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dog { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatNullAs=EmptyString] DOMString breedName); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/treatasundefined.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/treatasundefined.widl new file mode 100644 index 00000000000..e30050f8413 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/treatasundefined.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Cat { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatUndefinedAs=EmptyString] DOMString breedName); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/typedef.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/typedef.widl new file mode 100644 index 00000000000..b4c17d8d36a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/typedef.widl @@ -0,0 +1,22 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 + interface Point { + attribute float x; + attribute float y; + }; + + typedef sequence PointSequence; + + interface Rect { + attribute Point topleft; + attribute Point bottomright; + }; + + interface Widget { + + readonly attribute Rect bounds; + + boolean pointWithinBounds(Point p); + boolean allPointsWithinBounds(PointSequence ps); + }; + + typedef [Clamp] octet value; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/typesuffixes.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/typesuffixes.widl new file mode 100644 index 00000000000..95e31c16902 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/typesuffixes.widl @@ -0,0 +1,3 @@ +interface Suffixes { + void test(sequence? foo); +}; diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/uniontype.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/uniontype.widl new file mode 100644 index 00000000000..4d99f019630 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/uniontype.widl @@ -0,0 +1,3 @@ +interface Union { + attribute (float or (Date or Event) or (Node or DOMString)?) test; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/variadic-operations.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/variadic-operations.widl new file mode 100644 index 00000000000..51fae4cc1ea --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/idl/variadic-operations.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface IntegerSet { + readonly attribute unsigned long cardinality; + + void union(long... ints); + void intersection(long... ints); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/allowany.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/allowany.json new file mode 100644 index 00000000000..8abc7f9e092 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/allowany.json @@ -0,0 +1,109 @@ +[ + { + "type": "interface", + "name": "B", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "g", + "arguments": [], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "g", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "B" + }, + "name": "b" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "g", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [ + { + "name": "AllowAny", + "arguments": null + } + ], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "s" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/array.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/array.json new file mode 100644 index 00000000000..39afaf6c8eb --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/array.json @@ -0,0 +1,34 @@ +[ + { + "type": "interface", + "name": "LotteryResults", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": 2, + "nullableArray": [false, false], + "union": false, + "idlType": "unsigned short" + }, + "name": "numbers", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [ + { + "name": "Constructor", + "arguments": null + } + ] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/attributes.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/attributes.json new file mode 100644 index 00000000000..cdf46b0ecc2 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/attributes.json @@ -0,0 +1,56 @@ +[ + { + "type": "exception", + "name": "InvalidName", + "members": [ + { + "type": "field", + "name": "reason", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "exception", + "name": "NoSuchPet", + "members": [], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Person", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned short" + }, + "name": "age", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/callback.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/callback.json new file mode 100644 index 00000000000..19ef4a6fa4e --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/callback.json @@ -0,0 +1,76 @@ +[ + { + "type": "callback", + "name": "AsyncOperationCallback", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "status" + } + ], + "extAttrs": [] + }, + { + "type": "callback interface", + "name": "EventHandler", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "eventOccurred", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "details" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/caller.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/caller.json new file mode 100644 index 00000000000..a0fb5e396a5 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/caller.json @@ -0,0 +1,47 @@ +[ + { + "type": "interface", + "name": "NumberQuadrupler", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": true, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "compute", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "x" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/constants.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/constants.json new file mode 100644 index 00000000000..0fe6e92afc3 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/constants.json @@ -0,0 +1,141 @@ +[ + { + "type": "interface", + "name": "Util", + "partial": false, + "members": [ + { + "type": "const", + "nullable": false, + "idlType": "boolean", + "name": "DEBUG", + "value": { + "type": "boolean", + "value": false + }, + "extAttrs": [] + }, + { + "type": "const", + "nullable": false, + "idlType": "short", + "name": "negative", + "value": { + "type": "number", + "value": -1 + }, + "extAttrs": [] + }, + { + "type": "const", + "nullable": false, + "idlType": "octet", + "name": "LF", + "value": { + "type": "number", + "value": 10 + }, + "extAttrs": [] + }, + { + "type": "const", + "nullable": false, + "idlType": "unsigned long", + "name": "BIT_MASK", + "value": { + "type": "number", + "value": 64512 + }, + "extAttrs": [] + }, + { + "type": "const", + "nullable": false, + "idlType": "float", + "name": "AVOGADRO", + "value": { + "type": "number", + "value": 6.022e+23 + }, + "extAttrs": [] + }, + { + "type": "const", + "nullable": false, + "idlType": "unrestricted float", + "name": "sobig", + "value": { + "type": "Infinity", + "negative": false + }, + "extAttrs": [] + }, + { + "type": "const", + "nullable": false, + "idlType": "unrestricted double", + "name": "minusonedividedbyzero", + "value": { + "type": "Infinity", + "negative": true + }, + "extAttrs": [] + }, + { + "type": "const", + "nullable": false, + "idlType": "short", + "name": "notanumber", + "value": { + "type": "NaN" + }, + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "exception", + "name": "Error", + "members": [ + { + "type": "const", + "nullable": false, + "idlType": "short", + "name": "ERR_UNKNOWN", + "value": { + "type": "number", + "value": 0 + }, + "extAttrs": [] + }, + { + "type": "const", + "nullable": false, + "idlType": "short", + "name": "ERR_OUT_OF_MEMORY", + "value": { + "type": "number", + "value": 1 + }, + "extAttrs": [] + }, + { + "type": "field", + "name": "errorCode", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "short" + }, + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/constructor.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/constructor.json new file mode 100644 index 00000000000..e5944f32ee8 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/constructor.json @@ -0,0 +1,103 @@ +[ + { + "type": "interface", + "name": "Circle", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "r", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "cx", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "cy", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "circumference", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [ + { + "name": "Constructor", + "arguments": null + }, + { + "name": "Constructor", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "radius" + } + ] + } + ] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/dictionary-inherits.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/dictionary-inherits.json new file mode 100644 index 00000000000..367d7b1b4f3 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/dictionary-inherits.json @@ -0,0 +1,79 @@ +[ + { + "type": "dictionary", + "name": "PaintOptions", + "partial": false, + "members": [ + { + "type": "field", + "name": "fillPattern", + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "extAttrs": [], + "default": { + "type": "string", + "value": "black" + } + }, + { + "type": "field", + "name": "strokePattern", + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "extAttrs": [], + "default": { + "type": "null" + } + }, + { + "type": "field", + "name": "position", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Point" + }, + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "dictionary", + "name": "WetPaintOptions", + "partial": false, + "members": [ + { + "type": "field", + "name": "hydrometry", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "extAttrs": [] + } + ], + "inheritance": "PaintOptions", + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/dictionary.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/dictionary.json new file mode 100644 index 00000000000..7396cabae09 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/dictionary.json @@ -0,0 +1,91 @@ +[ + { + "type": "dictionary", + "name": "PaintOptions", + "partial": false, + "members": [ + { + "type": "field", + "name": "fillPattern", + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "extAttrs": [], + "default": { + "type": "string", + "value": "black" + } + }, + { + "type": "field", + "name": "strokePattern", + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "extAttrs": [], + "default": { + "type": "null" + } + }, + { + "type": "field", + "name": "position", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Point" + }, + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "dictionary", + "name": "A", + "partial": true, + "members": [ + { + "type": "field", + "name": "h", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "long" + }, + "extAttrs": [] + }, + { + "type": "field", + "name": "d", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "long" + }, + "extAttrs": [] + } + ], + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/documentation-dos.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/documentation-dos.json new file mode 100644 index 00000000000..340e039b449 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/documentation-dos.json @@ -0,0 +1,10 @@ +[ + { + "type": "interface", + "name": "Documentation", + "partial": false, + "members": [], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/documentation.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/documentation.json new file mode 100644 index 00000000000..340e039b449 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/documentation.json @@ -0,0 +1,10 @@ +[ + { + "type": "interface", + "name": "Documentation", + "partial": false, + "members": [], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/enum.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/enum.json new file mode 100644 index 00000000000..bd9058c594f --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/enum.json @@ -0,0 +1,105 @@ +[ + { + "type": "enum", + "name": "MealType", + "values": [ + "rice", + "noodles", + "other" + ], + "extAttrs": [] + }, + { + "type": "interface", + "name": "Meal", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "MealType" + }, + "name": "type", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "size", + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "initialize", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "MealType" + }, + "name": "type" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "size" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/equivalent-decl.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/equivalent-decl.json new file mode 100644 index 00000000000..55a787fdcf0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/equivalent-decl.json @@ -0,0 +1,312 @@ +[ + { + "type": "interface", + "name": "Dictionary", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "propertyCount", + "extAttrs": [] + }, + { + "type": "operation", + "getter": true, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "getProperty", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "propertyName" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": true, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "setProperty", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "propertyName" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "propertyValue" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Dictionary", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "propertyCount", + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "getProperty", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "propertyName" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "setProperty", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "propertyName" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "propertyValue" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": true, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": null, + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "propertyName" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": true, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": null, + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "propertyName" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "propertyValue" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/exception-inheritance.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/exception-inheritance.json new file mode 100644 index 00000000000..f4dc68699a6 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/exception-inheritance.json @@ -0,0 +1,37 @@ +[ + { + "type": "exception", + "name": "DOMException", + "members": [ + { + "type": "field", + "name": "code", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned short" + }, + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "exception", + "name": "HierarchyRequestError", + "members": [], + "inheritance": "DOMException", + "extAttrs": [] + }, + { + "type": "exception", + "name": "NoModificationAllowedError", + "members": [], + "inheritance": "DOMException", + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/exception.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/exception.json new file mode 100644 index 00000000000..3f16de828ac --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/exception.json @@ -0,0 +1,35 @@ +[ + { + "type": "interface", + "name": "Dahut", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "type", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "exception", + "name": "SomeException", + "members": [], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/generic.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/generic.json new file mode 100644 index 00000000000..70eafdedef8 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/generic.json @@ -0,0 +1,156 @@ +[ + { + "type": "interface", + "name": "Foo", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": "Promise", + "nullable": false, + "array": false, + "union": false, + "idlType": { + "sequence": false, + "generic": "ResponsePromise", + "nullable": false, + "array": false, + "union": false, + "idlType": { + "sequence": true, + "generic": "sequence", + "nullable": false, + "array": false, + "union": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "array": false, + "union": false, + "idlType": "DOMString" + } + } + } + }, + "name": "bar", + "arguments": [], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "ServiceWorkerClients", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": "Promise", + "nullable": false, + "array": false, + "union": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "nullableArray": [false], + "array": 1, + "union": false, + "idlType": "Client" + } + }, + "name": "getServiced", + "arguments": [], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": "Promise", + "nullable": false, + "array": false, + "union": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "any" + } + }, + "name": "reloadAll", + "arguments": [], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "FetchEvent", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": "ResponsePromise", + "nullable": false, + "array": false, + "union": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "any" + } + }, + "name": "default", + "arguments": [], + "extAttrs": [] + } + ], + "inheritance": "Event", + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/getter-setter.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/getter-setter.json new file mode 100644 index 00000000000..94d20d594db --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/getter-setter.json @@ -0,0 +1,114 @@ +[ + { + "type": "interface", + "name": "Dictionary", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "propertyCount", + "extAttrs": [] + }, + { + "type": "operation", + "getter": true, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": null, + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "propertyName" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": true, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": null, + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "propertyName" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "propertyValue" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/identifier-qualified-names.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/identifier-qualified-names.json new file mode 100644 index 00000000000..a91f8c8eb53 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/identifier-qualified-names.json @@ -0,0 +1,217 @@ +[ + { + "type": "typedef", + "typeExtAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "number", + "extAttrs": [] + }, + { + "type": "exception", + "name": "FrameworkException", + "members": [ + { + "type": "const", + "nullable": false, + "idlType": "long", + "name": "ERR_NOT_FOUND", + "value": { + "type": "number", + "value": 1 + }, + "extAttrs": [] + }, + { + "type": "field", + "name": "code", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "long" + }, + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "System", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "object" + }, + "name": "createObject", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "interface" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": true, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": null, + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "keyName" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "TextField", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "boolean" + }, + "name": "const", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "value", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Foo", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "op", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "object" + }, + "name": "interface" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/implements.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/implements.json new file mode 100644 index 00000000000..fa00e337426 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/implements.json @@ -0,0 +1,107 @@ +[ + { + "type": "interface", + "name": "Node", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned short" + }, + "name": "nodeType", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "EventTarget", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "addEventListener", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "type" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "EventListener" + }, + "name": "listener" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "boolean" + }, + "name": "useCapture" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "implements", + "target": "Node", + "implements": "EventTarget", + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/indexed-properties.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/indexed-properties.json new file mode 100644 index 00000000000..23cc4ab1023 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/indexed-properties.json @@ -0,0 +1,272 @@ +[ + { + "type": "interface", + "name": "OrderedMap", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "size", + "extAttrs": [] + }, + { + "type": "operation", + "getter": true, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "any" + }, + "name": "getByIndex", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "index" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": true, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "setByIndex", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "index" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "any" + }, + "name": "value" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": true, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "removeByIndex", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "index" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": true, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "any" + }, + "name": "get", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": true, + "creator": true, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "set", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "any" + }, + "name": "value" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": true, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "remove", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/inherits-getter.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/inherits-getter.json new file mode 100644 index 00000000000..468e3caef71 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/inherits-getter.json @@ -0,0 +1,71 @@ +[ + { + "type": "interface", + "name": "Animal", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Person", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned short" + }, + "name": "age", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": true, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name", + "extAttrs": [] + } + ], + "inheritance": "Animal", + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/interface-inherits.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/interface-inherits.json new file mode 100644 index 00000000000..eee07cd1dec --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/interface-inherits.json @@ -0,0 +1,80 @@ +[ + { + "type": "interface", + "name": "Animal", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Human", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Dog" + }, + "name": "pet", + "extAttrs": [] + } + ], + "inheritance": "Animal", + "extAttrs": [] + }, + { + "type": "interface", + "name": "Dog", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Human" + }, + "name": "owner", + "extAttrs": [] + } + ], + "inheritance": "Animal", + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/iterator.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/iterator.json new file mode 100644 index 00000000000..cc3c9ec505d --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/iterator.json @@ -0,0 +1,301 @@ +[ + { + "type": "interface", + "name": "SessionManager", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Session" + }, + "name": "getSessionForUser", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "username" + } + ], + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "sessionCount", + "extAttrs": [] + }, + { + "type": "iterator", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Session" + }, + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Session", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "username", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "SessionManager2", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Session2" + }, + "name": "getSessionForUser", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "username" + } + ], + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "sessionCount", + "extAttrs": [] + }, + { + "type": "iterator", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Session2" + }, + "iteratorObject": "SessionIterator", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Session2", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "username", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "SessionIterator", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "remainingSessions", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "NodeList", + "partial": false, + "members": [ + { + "type": "iterator", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Node" + }, + "iteratorObject": "NodeIterator", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "NodeIterator", + "partial": false, + "members": [ + { + "type": "iterator", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Node" + }, + "iteratorObject": "object", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/map.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/map.json new file mode 100644 index 00000000000..03ce9412ed0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/map.json @@ -0,0 +1,29 @@ +[ + { + "type": "interface", + "name": "HeaderMap", + "partial": false, + "members": [], + "inheritance": null, + "extAttrs": [{ + "name": "MapClass", + "arguments": null, + "typePair": [{ + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }] + }] + } +] diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/namedconstructor.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/namedconstructor.json new file mode 100644 index 00000000000..a947a64a4e2 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/namedconstructor.json @@ -0,0 +1,42 @@ +[ + { + "type": "interface", + "name": "HTMLAudioElement", + "partial": false, + "members": [], + "inheritance": "HTMLMediaElement", + "extAttrs": [ + { + "name": "NamedConstructor", + "arguments": null, + "rhs": { + "type": "identifier", + "value": "Audio" + } + }, + { + "name": "NamedConstructor", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "src" + } + ], + "rhs": { + "type": "identifier", + "value": "Audio" + } + } + ] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/nointerfaceobject.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/nointerfaceobject.json new file mode 100644 index 00000000000..90f0d63c82e --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/nointerfaceobject.json @@ -0,0 +1,52 @@ +[ + { + "type": "interface", + "name": "Query", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "any" + }, + "name": "lookupEntry", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "key" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [ + { + "name": "NoInterfaceObject", + "arguments": null + } + ] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/nullable.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/nullable.json new file mode 100644 index 00000000000..300442f0d46 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/nullable.json @@ -0,0 +1,48 @@ +[ + { + "type": "interface", + "name": "MyConstants", + "partial": false, + "members": [ + { + "type": "const", + "nullable": true, + "idlType": "boolean", + "name": "ARE_WE_THERE_YET", + "value": { + "type": "boolean", + "value": false + }, + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Node", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "namespaceURI", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/nullableobjects.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/nullableobjects.json new file mode 100644 index 00000000000..40f7db0c1c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/nullableobjects.json @@ -0,0 +1,99 @@ +[ + { + "type": "interface", + "name": "A", + "partial": false, + "members": [], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "B", + "partial": false, + "members": [], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "C", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "f", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "array": false, + "union": false, + "idlType": "A" + }, + "name": "x" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "f", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "array": false, + "union": false, + "idlType": "B" + }, + "name": "x" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/operation-optional-arg.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/operation-optional-arg.json new file mode 100644 index 00000000000..6ca32576b7a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/operation-optional-arg.json @@ -0,0 +1,93 @@ +[ + { + "type": "interface", + "name": "ColorCreator", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "object" + }, + "name": "createColor", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "v1" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "v2" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "v3" + }, + { + "optional": true, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "alpha", + "default": { + "type": "number", + "value": 3.5 + } + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/overloading.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/overloading.json new file mode 100644 index 00000000000..c3baa439623 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/overloading.json @@ -0,0 +1,312 @@ +[ + { + "type": "interface", + "name": "A", + "partial": false, + "members": [], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "B", + "partial": false, + "members": [], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "C", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "f", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "A" + }, + "name": "x" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "f", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "B" + }, + "name": "x" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "A", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "f", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "a" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "f", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [ + { + "name": "AllowAny", + "arguments": null + } + ], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "a" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "b" + }, + { + "optional": false, + "variadic": true, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "c" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "f", + "arguments": [], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "f", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "long" + }, + "name": "a" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "b" + }, + { + "optional": true, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "c" + }, + { + "optional": false, + "variadic": true, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "d" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/overridebuiltins.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/overridebuiltins.json new file mode 100644 index 00000000000..9e2f795e2ae --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/overridebuiltins.json @@ -0,0 +1,69 @@ +[ + { + "type": "interface", + "name": "StringMap2", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "length", + "extAttrs": [] + }, + { + "type": "operation", + "getter": true, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "lookup", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "key" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [ + { + "name": "OverrideBuiltins", + "arguments": null + } + ] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/partial-interface.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/partial-interface.json new file mode 100644 index 00000000000..53c65a453bd --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/partial-interface.json @@ -0,0 +1,53 @@ +[ + { + "type": "interface", + "name": "Foo", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "bar", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Foo", + "partial": true, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "quux", + "extAttrs": [] + } + ], + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/primitives.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/primitives.json new file mode 100644 index 00000000000..7160c2a4ce0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/primitives.json @@ -0,0 +1,300 @@ +[ + { + "type": "interface", + "name": "Primitives", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "boolean" + }, + "name": "truth", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "byte" + }, + "name": "character", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "octet" + }, + "name": "value", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "short" + }, + "name": "number", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned short" + }, + "name": "positive", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "long" + }, + "name": "big", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "bigpositive", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "long long" + }, + "name": "bigbig", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long long" + }, + "name": "bigbigpositive", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "real", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "double" + }, + "name": "bigreal", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unrestricted float" + }, + "name": "realwithinfinity", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unrestricted double" + }, + "name": "bigrealwithinfinity", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "string", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "ByteString" + }, + "name": "bytes", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Date" + }, + "name": "date", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "RegExp" + }, + "name": "regexp", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/prototyperoot.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/prototyperoot.json new file mode 100644 index 00000000000..666798d94cf --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/prototyperoot.json @@ -0,0 +1,33 @@ +[ + { + "type": "interface", + "name": "Node", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned short" + }, + "name": "nodeType", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [ + { + "name": "PrototypeRoot", + "arguments": null + } + ] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/putforwards.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/putforwards.json new file mode 100644 index 00000000000..bd5e619cac5 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/putforwards.json @@ -0,0 +1,54 @@ +[ + { + "type": "interface", + "name": "Person", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Name" + }, + "name": "name", + "extAttrs": [ + { + "name": "PutForwards", + "arguments": null, + "rhs": { + "type": "identifier", + "value": "full" + } + } + ] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned short" + }, + "name": "age", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/reg-operations.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/reg-operations.json new file mode 100644 index 00000000000..c827fff03b6 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/reg-operations.json @@ -0,0 +1,168 @@ +[ + { + "type": "interface", + "name": "Dimensions", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "width", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "height", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "exception", + "name": "NoPointerDevice", + "members": [], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Button", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "boolean" + }, + "name": "isMouseOver", + "arguments": [], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "setDimensions", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Dimensions" + }, + "name": "size" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "setDimensions", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "width" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "height" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/replaceable.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/replaceable.json new file mode 100644 index 00000000000..4d25f3d9317 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/replaceable.json @@ -0,0 +1,54 @@ +[ + { + "type": "interface", + "name": "Counter", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "value", + "extAttrs": [ + { + "name": "Replaceable", + "arguments": null + } + ] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "increment", + "arguments": [], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/sequence.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/sequence.json new file mode 100644 index 00000000000..7ddd402b402 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/sequence.json @@ -0,0 +1,113 @@ +[ + { + "type": "interface", + "name": "Canvas", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "drawPolygon", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": true, + "generic": "sequence", + "nullable": false, + "array": false, + "union": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + } + }, + "name": "coordinates" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": true, + "generic": "sequence", + "nullable": false, + "array": false, + "union": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + } + }, + "name": "getInflectionPoints", + "arguments": [], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Foo", + "partial": false, + "members": [ + + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "sequence" + }, + "name": "bar", + "arguments": [], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/serializer.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/serializer.json new file mode 100644 index 00000000000..79b501fcbc4 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/serializer.json @@ -0,0 +1,591 @@ +[ + { + "type": "interface", + "name": "Transaction", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Account" + }, + "name": "from", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Account" + }, + "name": "to", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "amount", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "description", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "number", + "extAttrs": [] + }, + { + "type": "serializer", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Account", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "number", + "extAttrs": [] + }, + { + "type": "serializer", + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "operation": { + "name": "serialize", + "arguments": [] + }, + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Transaction2", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Account2" + }, + "name": "from", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Account2" + }, + "name": "to", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "amount", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "description", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "number", + "extAttrs": [] + }, + { + "type": "serializer", + "patternMap": true, + "names": [ + "from", + "to", + "amount", + "description" + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Account2", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "number", + "extAttrs": [] + }, + { + "type": "serializer", + "name": "number", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Account3", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "number", + "extAttrs": [] + }, + { + "type": "serializer", + "patternMap": true, + "names": [ + "attribute" + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Account4", + "partial": false, + "members": [ + { + "type": "operation", + "getter": true, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "object" + }, + "name": "getItem", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "index" + } + ], + "extAttrs": [] + }, + { + "type": "serializer", + "patternMap": true, + "names": [ + "getter" + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Account5", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "secondname", + "extAttrs": [] + }, + { + "type": "serializer", + "patternMap": true, + "names": [ + "inherit", + "secondname" + ], + "extAttrs": [] + } + ], + "inheritance": "Account", + "extAttrs": [] + }, + { + "type": "interface", + "name": "Account6", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "secondname", + "extAttrs": [] + }, + { + "type": "serializer", + "patternMap": true, + "names": [ + "inherit", + "attribute" + ], + "extAttrs": [] + } + ], + "inheritance": "Account", + "extAttrs": [] + }, + { + "type": "interface", + "name": "Account7", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "number", + "extAttrs": [] + }, + { + "type": "serializer", + "patternList": true, + "names": [ + "name", + "number" + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Account8", + "partial": false, + "members": [ + { + "type": "operation", + "getter": true, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "object" + }, + "name": "getItem", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "index" + } + ], + "extAttrs": [] + }, + { + "type": "serializer", + "patternList": true, + "names": [ + "getter" + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/static.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/static.json new file mode 100644 index 00000000000..faab12b2966 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/static.json @@ -0,0 +1,151 @@ +[ + { + "type": "interface", + "name": "Point", + "partial": false, + "members": [], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Circle", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "cx", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "cy", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "radius", + "extAttrs": [] + }, + { + "type": "attribute", + "static": true, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "long" + }, + "name": "triangulationCount", + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": true, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Point" + }, + "name": "triangulate", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Circle" + }, + "name": "c1" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Circle" + }, + "name": "c2" + }, + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Circle" + }, + "name": "c3" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/stringifier-attribute.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/stringifier-attribute.json new file mode 100644 index 00000000000..196ee6f1a7c --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/stringifier-attribute.json @@ -0,0 +1,50 @@ +[ + { + "type": "interface", + "name": "Student", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "id", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": true, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [ + { + "name": "Constructor", + "arguments": null + } + ] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/stringifier-custom.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/stringifier-custom.json new file mode 100644 index 00000000000..b4ab7392e5a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/stringifier-custom.json @@ -0,0 +1,88 @@ +[ + { + "type": "interface", + "name": "Student", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "id", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "familyName", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "givenName", + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": null, + "arguments": [], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [ + { + "name": "Constructor", + "arguments": null + } + ] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/stringifier.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/stringifier.json new file mode 100644 index 00000000000..ad3abde85f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/stringifier.json @@ -0,0 +1,52 @@ +[ + { + "type": "interface", + "name": "A", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": null, + "arguments": [], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "A", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": true, + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/treatasnull.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/treatasnull.json new file mode 100644 index 00000000000..8bacb967acc --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/treatasnull.json @@ -0,0 +1,90 @@ +[ + { + "type": "interface", + "name": "Dog", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "owner", + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "boolean" + }, + "name": "isMemberOfBreed", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [ + { + "name": "TreatNullAs", + "arguments": null, + "rhs": { + "type": "identifier", + "value": "EmptyString" + } + } + ], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "breedName" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/treatasundefined.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/treatasundefined.json new file mode 100644 index 00000000000..91c4d25f5d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/treatasundefined.json @@ -0,0 +1,90 @@ +[ + { + "type": "interface", + "name": "Cat", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "name", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "owner", + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "boolean" + }, + "name": "isMemberOfBreed", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [ + { + "name": "TreatUndefinedAs", + "arguments": null, + "rhs": { + "type": "identifier", + "value": "EmptyString" + } + } + ], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + }, + "name": "breedName" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/typedef.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/typedef.json new file mode 100644 index 00000000000..ffdeea945d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/typedef.json @@ -0,0 +1,226 @@ +[ + { + "type": "interface", + "name": "Point", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "x", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + "name": "y", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "typedef", + "typeExtAttrs": [], + "idlType": { + "sequence": true, + "generic": "sequence", + "nullable": false, + "array": false, + "union": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Point" + } + }, + "name": "PointSequence", + "extAttrs": [] + }, + { + "type": "interface", + "name": "Rect", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Point" + }, + "name": "topleft", + "extAttrs": [] + }, + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Point" + }, + "name": "bottomright", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "interface", + "name": "Widget", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Rect" + }, + "name": "bounds", + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "boolean" + }, + "name": "pointWithinBounds", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Point" + }, + "name": "p" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "boolean" + }, + "name": "allPointsWithinBounds", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "PointSequence" + }, + "name": "ps" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + }, + { + "type": "typedef", + "typeExtAttrs": [ + { + "name": "Clamp", + "arguments": null + } + ], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "octet" + }, + "name": "value", + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/typesuffixes.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/typesuffixes.json new file mode 100644 index 00000000000..790c444ef46 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/typesuffixes.json @@ -0,0 +1,55 @@ +[ + { + "type": "interface", + "name": "Suffixes", + "partial": false, + "members": [ + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "test", + "arguments": [ + { + "optional": false, + "variadic": false, + "extAttrs": [], + "idlType": { + "sequence": true, + "generic": "sequence", + "nullable": true, + "array": false, + "union": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": true, + "array": 1, + "nullableArray": [false], + "union": false, + "idlType": "DOMString" + } + }, + "name": "foo" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/uniontype.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/uniontype.json new file mode 100644 index 00000000000..43e25fd6bfb --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/uniontype.json @@ -0,0 +1,87 @@ +[ + { + "type": "interface", + "name": "Union", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": true, + "idlType": [ + { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "float" + }, + { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": true, + "idlType": [ + { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Date" + }, + { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Event" + } + ] + }, + { + "sequence": false, + "generic": null, + "nullable": true, + "array": false, + "union": true, + "idlType": [ + { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "Node" + }, + { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "DOMString" + } + ] + } + ] + }, + "name": "test", + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/variadic-operations.json b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/variadic-operations.json new file mode 100644 index 00000000000..431ec0cb115 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/syntax/json/variadic-operations.json @@ -0,0 +1,100 @@ +[ + { + "type": "interface", + "name": "IntegerSet", + "partial": false, + "members": [ + { + "type": "attribute", + "static": false, + "stringifier": false, + "inherit": false, + "readonly": true, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "unsigned long" + }, + "name": "cardinality", + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "union", + "arguments": [ + { + "optional": false, + "variadic": true, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "long" + }, + "name": "ints" + } + ], + "extAttrs": [] + }, + { + "type": "operation", + "getter": false, + "setter": false, + "creator": false, + "deleter": false, + "legacycaller": false, + "static": false, + "stringifier": false, + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "void" + }, + "name": "intersection", + "arguments": [ + { + "optional": false, + "variadic": true, + "extAttrs": [], + "idlType": { + "sequence": false, + "generic": null, + "nullable": false, + "array": false, + "union": false, + "idlType": "long" + }, + "name": "ints" + } + ], + "extAttrs": [] + } + ], + "inheritance": null, + "extAttrs": [] + } +] \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/web/make-web-tests.js b/tests/wpt/web-platform-tests/resources/webidl2/test/web/make-web-tests.js new file mode 100644 index 00000000000..34c5a5c2b46 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/web/make-web-tests.js @@ -0,0 +1,51 @@ + +// generates tests that work in a browser + +// XXX +// have it run through valid and invalid properly + +var pth = require("path") +, fs = require("fs") +, dir = function (path) { + return pth.join(__dirname, "..", path); + } +, allFromDir = function (dir, ext, asJSON) { + return fs.readdirSync(dir) + .filter(function (it) { return ext.test(it); }) + .map(function (it) { + var cnt = fs.readFileSync(pth.join(dir, it), "utf8"); + return asJSON ? JSON.parse(cnt) : cnt; + }); + } +, data = { + valid: { + json: allFromDir(dir("syntax/json"), /\.json$/, true) + , idl: allFromDir(dir("syntax/idl"), /\.w?idl$/, false) + } + , invalid:{ + json: allFromDir(dir("invalid/json"), /\.json$/, true) + , idl: allFromDir(dir("invalid/idl"), /\.w?idl$/, false) + } + } +, html = [ + "" + , "" + , " " + , " WebIDL2 Browser Tests" + , " " + , " " + , "
                                                                                                                                                                                                                                                                                        " + , " " + , " " + , " " + , " " + , " " + , " " + , " " + , " " + , " " + , "" + ].join("\n") +; + +fs.writeFileSync("browser-tests.html", html, "utf8"); diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/web/run-tests.js b/tests/wpt/web-platform-tests/resources/webidl2/test/web/run-tests.js new file mode 100644 index 00000000000..a72800b8bdb --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/web/run-tests.js @@ -0,0 +1,48 @@ + +describe("Parses all of the IDLs to produce the correct ASTs", function () { + for (var i = 0, n = data.valid.idl.length; i < n; i++) { + var idl = data.valid.idl[i], json = data.valid.json[i]; + var func = (function (idl, json) { + return function () { + try { + // the AST contains NaN and +/-Infinity that cannot be serialised to JSON + // the stored JSON ASTs use the same replacement function as is used below + // so we compare based on that + var diff = jsondiffpatch.diff(json, WebIDL2.parse(idl)); + if (diff && debug) console.log(JSON.stringify(diff, null, 4)); + expect(diff).to.be(undefined); + } + catch (e) { + console.log(e.toString()); + throw e; + } + }; + }(idl, json)); + it("should produce the same AST for " + i, func); + } +}); + +describe("Parses all of the invalid IDLs to check that they blow up correctly", function () { + for (var i = 0, n = data.invalid.idl.length; i < n; i++) { + var idl = data.invalid.idl[i], error = data.invalid.json[i]; + var func = (function (idl, err) { + return function () { + var error; + try { + var ast = WebIDL2.parse(idl); + console.log(JSON.stringify(ast, null, 4)); + } + catch (e) { + error = e; + } + finally { + expect(error).to.be.ok(); + expect(error.message).to.equal(err.message); + expect(error.line).to.equal(err.line); + } + + }; + }(idl, error)); + it("should produce the right error for " + i, func); + } +}); diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/.gitignore b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/.gitignore new file mode 100644 index 00000000000..bffeb270d0e --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/.gitignore @@ -0,0 +1,3 @@ +obj/ +test/valid/obj +test/invalid/obj diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/LICENSE b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/LICENSE new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/Makefile b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/Makefile new file mode 100644 index 00000000000..d517466e48d --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/Makefile @@ -0,0 +1,158 @@ +######################################################################## +# $Id$ +# Copyright 2009 Aplix Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +######################################################################## + +UNAME = $(shell uname) +INCDIRS = $(OBJDIR) +SRCDIR = src +DOCDIR = doc +EXAMPLESDIR = examples +OBJDIR = obj + +######################################################################## +# Linux configuration +# +ifneq (,$(filter Linux%, $(UNAME))) + +CFLAGS = -g -Wall -Werror -O0 $(patsubst %, -I%, $(INCDIRS)) +OBJSUFFIX = .o +EXESUFFIX = +#LIBS = -lefence +OBJOPTION = -o +EXEOPTION = -o + +else +######################################################################## +# Darwin configuration +# +ifneq (,$(filter Darwin%, $(UNAME))) + +CFLAGS = -g -Wall -Werror -O2 $(patsubst %, -I%, $(INCDIRS)) +OBJSUFFIX = .o +EXESUFFIX = +OBJOPTION = -o +# The -o in the following line has a space after it, which must not be removed. +EXEOPTION = -o + +else +######################################################################## +# Windows (cygwin but using MS compiler) configuration +# +# this is messy - should probably use vcvars.bat +ifneq (,$(filter CYGWIN%, $(UNAME))) +VISUALSTUDIODIR = $(wildcard /cygdrive/c/Program*Files/Microsoft*Visual*Studio*8) +SDKDIR = $(wildcard /cygdrive/c/Program*Files/Microsoft*SDKs/Windows/*/Lib) +ifeq (,$(VISUALSTUDIODIR)) +VISUALSTUDIODIR = $(wildcard /cygdrive/c/Program\ Files\ */Microsoft*Visual*Studio*10*) +endif +ifeq (,$(VISUALSTUDIODIR)) +VISUALSTUDIODIR = $(wildcard /cygdrive/c/Program\ Files\ */Microsoft*Visual*Studio*11*) +endif +# this is revelvant for vs2012 and windows 8 - sdk location has changed +ifeq (,$(SDKDIR)) +SDKDIR = $(wildcard /cygdrive/c/Program\ Files\ */Windows*Kits) +endif + +ifeq (,$(VISUALSTUDIODIR)) +$(error Could not find MS Visual Studio) +else +WINVISUALSTUDIODIR = $(shell cygpath -w '$(VISUALSTUDIODIR)') +WINSDKDIR = $(shell cygpath -w '$(SDKDIR)') + +#$(error $(VISUALSTUDIODIR)) + +CC = \ + Lib='$(WINVISUALSTUDIODIR)\VC\LIB;$(WINVISUALSTUDIODIR)\VC\PlatformSDK\Lib;$(WINSDKDIR)' \ + PATH='$(VISUALSTUDIODIR)/Common7/IDE:$(VISUALSTUDIODIR)/VC/BIN:$(VISUALSTUDIODIR)/Common7/Tools:$(VISUALSTUDIODIR)/SDK/v2.0/bin:$(VISUALSTUDIODIR)/8.0/Lib/win8/um/x86:'$$PATH \ + Include='$(WINVISUALSTUDIODIR)\VC\INCLUDE;$(WINVISUALSTUDIODIR)\VC\PlatformSDK\Include' \ + cl +endif + +CFLAGS = /nologo /WX /W3 /wd4996 /Zi /O2 $(patsubst %, /I%, $(INCDIRS)) +OBJSUFFIX = .obj +EXESUFFIX = .exe +OBJOPTION = /Fo +EXEOPTION = /Fe + +endif +endif +endif + +######################################################################## +# Common makefile +# +WIDLPROC = $(OBJDIR)/widlproc$(EXESUFFIX) +DTD = $(OBJDIR)/widlprocxml.dtd + +ALL = $(WIDLPROC) $(DTD) +all : $(ALL) + +SRCS = \ + comment.c \ + lex.c \ + main.c \ + misc.c \ + node.c \ + parse.c \ + process.c + +OBJS = $(patsubst %.c, $(OBJDIR)/%$(OBJSUFFIX), $(SRCS)) +$(WIDLPROC) : $(OBJS) + $(CC) $(CFLAGS) $(EXEOPTION)$@ $^ $(LIBS) + +$(OBJDIR)/%$(OBJSUFFIX) : $(SRCDIR)/%.c + mkdir -p $(dir $@) + $(CC) $(CFLAGS) $(OBJOPTION)$@ -c $< + +$(OBJDIR)/%.d : $(SRCDIR)/%.c + mkdir -p $(dir $@) + cc $(patsubst %, -I%, $(INCDIRS)) -MM -MG -MT $(patsubst %.d, %$(OBJSUFFIX), $@) $< | sed '$(patsubst %, s| \(%\)| $(OBJDIR)/\1|;, $(AUTOGENHEADERS))' >$@ + +include $(patsubst %.c, $(OBJDIR)/%.d, $(SRCS)) + + +$(DTD) : $(DOCDIR)/htmltodtd.xsl $(DOCDIR)/widlproc.html + xsltproc -html $^ >$@ + +clean : + rm -f $(ALL) $(OBJS) + +veryclean : + rm -rf $(OBJDIR) + +SVNFILES = $(shell test -d .svn && svn info -R . | sed -n 's/^Path: \(.*\)$$/\1/p') +SVNBRANCH = $(shell test -d .svn && svn info . | sed -n 's|^URL:.*/\([^/]*\)$$|\1|p') +SVNREV = $(shell test -d .svn && svn info -R . | sed -n 's/^Last Changed Rev: \([0-9][0-9]*\)$$/\1/p' | sort -g | tail -1) + +SVNLOG = history +$(SVNLOG) : $(SVNFILES) + svn log -vrHEAD:311 >$@ + +zip : $(OBJDIR)/widlproc-$(SVNBRANCH)$(SVNREV).zip +$(OBJDIR)/widlproc-$(SVNBRANCH)$(SVNREV).zip : $(WIDLPROC) $(DTD) $(DOCDIR)/widlproc.html $(SRCDIR)/widlprocxmltohtml.xsl Makefile $(SVNLOG) + rm -f $@ + zip -j $@ $^ -x Makefile + zip $@ examples/*.widl examples/*.css examples/Makefile examples/README examples/*.xsl examples/*.html + +srczip : widlproc-src-$(SVNBRANCH)$(SVNREV).zip + +widlproc-src-%.zip : $(SVNFILES) $(SVNLOG) + zip $@ $^ + +examples : + $(MAKE) -C examples SRCDIR=../src OBJDIR=../obj EXAMPLESOBJDIR=../obj/examples + +test : $(OBJS) + $(MAKE) -C test SRCDIR=../src OBJDIR=../obj + +.DELETE_ON_ERROR: diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/README.md b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/README.md new file mode 100644 index 00000000000..8ed824e7d9d --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/README.md @@ -0,0 +1,40 @@ +# Uses + +widlproc can be used to validate WebIDL in W3C specifications. It serves as the basis for the [W3C Web IDL on-line checker](http://www.w3.org/2009/07/webidl-check). + +widlproc's generated XML is used to generate [webinos JavaScript APIs specifications](http://dev.webinos.org/specifications/draft/). + +# License + +widlproc is licensed under the Apache 2 License. + +# Others + +See also [webidl.js](https://github.com/darobin/webidl.js), a JavaScript-based Web IDL parser used by various tools in W3C. + +# Credits + +Most of the work on widlproc was done by Tim Renouf and Paddy Byers. Aplix corporation owns the copyright of the code up to June 2011. + +The tool is kept up to date with the changes in the spec by Dominique Hazael-Massieux, through funding from the [webinos project](http://webinos.org/) since June 2011. + +# Documentation + +See doc/widlproc.html in the tree. + +# Build Instructions + +## Windows + +Install requirements +* Cygwin - must install must install libs/libxslt +* Visual Studio express 2012 or 2010 (see difference below) + +makefile uses cygwin make. References are coded in the make file to detect teh current version of visual studio + +# Future work +windows build could be improved to handle multipe versions with vcvars.bat +http://stackoverflow.com/questions/62029/vs2008-command-prompt-cygwin + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/doc/htmltodtd.xsl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/doc/htmltodtd.xsl new file mode 100644 index 00000000000..d8b7f5973fb --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/doc/htmltodtd.xsl @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/doc/widlproc.html b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/doc/widlproc.html new file mode 100644 index 00000000000..4eb42c39bb9 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/doc/widlproc.html @@ -0,0 +1,1124 @@ + + + + + +widlproc + + + +

                                                                                                                                                                                                                                                                                        widlproc

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Tim Renouf, Aplix Corp

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        $Id$ +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Introduction

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +widlproc is a processor that accepts as input +Web IDL (the 30 September 2009 editor's draft), +with comments in a subset of the format used by +Doxygen. +The format it accepts is proposed by Aplix for authoring +BONDI interface definitions. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The output of widlproc is an XML representation of the +Web IDL input, +with added XML elements representing the +Doxygen-like comments. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Usage

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +widlproc filename +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +widlproc reads the file named filename, and +sends its XML output format to stdout. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Input format

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The input format accepted by widlproc is +Web IDL +(with an extension used in the +W3C Geolocation API), +with comments in a format reminiscent of that used by +Doxygen. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Web IDL extension from W3C geolocation API

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        double

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +double is allowed as a DeclarationType or a BoxedType. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Doxygen-like comment introduction

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Only a small subset of Doxygen functionality is supported by +widlproc, plus additions to handle the BONDI concepts of API features +and device capabilities. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +In particular, no links are added automatically. (This could be added +in the future.) +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Doxygen comment block

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Comment referral point

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Each Doxygen comment block refers to a comment referral +point in the Web IDL, one of +module, interface, exception, const, attribute, operation or argument. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Block comment

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +A block comment (delimited by /* */) whose first character +after the /* is ! or a second * +is a Doxygen comment block. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Normally the comment block refers to the next comment referral point in +the Web IDL. +If the first character is <, so the comment block is introduced +with /**< or /*!< , then the comment block +refers back to the previous comment referral point. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The text of the comment block +excludes the initial ! or * (and the < +for a referring back block), +and excludes an initial (after whitespace) * +on each line, +and, when not in a \code block, +excludes any line consisting entirely of whitespace, then * +characters, then whitespace. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +widlproc does not support Doxygen commands to force a comment +block to refer to a different referral point. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Inline comments

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The maximal sequence of inline comments (delimited by //) +on adjacent lines, where all of the following conditions hold: +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • +each has a first character after the / of ! or +a third /; +
                                                                                                                                                                                                                                                                                        • +no comment referral point intervenes; +
                                                                                                                                                                                                                                                                                        • +either each comment in the sequence starts with a < +(see below), or none does; +
                                                                                                                                                                                                                                                                                        • +the sequence contains at least two inline comments, or, if only one, +then it starts with < (see below); +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +forms a Doxygen comment block. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Normally the comment block refers to the next comment referral point in +the Web IDL. +If the first character of each comment is <, so each +comment in the block is introduced +with ///< or //!< , then the comment block +refers back to the previous comment referral point. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The text of the comment block +excludes the initial ! or / (and the < +for a referring back block) of each inline comment, +and, when not in a \code block, +excludes any line consisting entirely of whitespace, then / +characters, then whitespace. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +widlproc does not support Doxygen commands to force a comment +block to refer to a different referral point. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Paragraph

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +A comment block is broken into zero or more paragraphs. +One or more blank lines break the paragraphs (unless in a +\code block). +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Certain commands (below) also start a new paragraph. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +An +HTML block element +is a paragraph. +A blank line (other than in a +\code block) +implicitly closes any open HTML elements, thus ending the paragraph. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Doxygen-like commands

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +widlproc supports a small subset of Doxygen commands, plus some additions +to handle BONDI API features and device capabilities. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +A command is always introduced with a \ character. +The Doxygen alternative (from JavaDoc) of @ is not +supported. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \api-feature

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Starts a new paragraph. The following word is the name of an API feature +used by the method being documented. The remainder of the paragraph is +any description required of how (eg in what circumstance) the API feature +is used. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \name

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Declares a name for the document node associated with the current referral +point. This is useful for the root document node that otherwise does not have +a WebIDL identifier. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \author

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Starts a new paragraph. The remainder of the paragraph contains +information about a single author of the specification. Multiple +\author commands should be used for multiple authors. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +(Here widlproc differs from Doxygen; Doxygen also allows +multiple authors on separate lines to appear in one \author +paragraph.) +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \b

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +This renders the next word as bold. It is equivalent to enclosing the +next word with <b> </b>. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \brief

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Starts a new paragraph. The remainder of the paragraph contains a brief +description of the entity being documented. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \code, \endcode

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +\code +starts a new paragraph which is a code block. The code block +ends at the next \endcode command. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Within the code block, whitespace and newlines are passed verbatim into +the output. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \def-api-feature

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Starts a new paragraph. The following word is the name of the API feature +which is defined here. The description is an def-api-feature block, +consisting of the +remainder of the paragraph, together with +further paragraphs in the same block comment each of which is a plain +paragraph, a paragraph started due to HTML markup, a \brief +paragraph, or a +\device-cap +paragraph. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \def-api-feature-set

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Starts a new paragraph. The following word is the name of the API feature +set which is defined here. The description is an def-api-feature-set block, +consisting of the +remainder of the paragraph, together with +further paragraphs in the same block comment each of which is a plain +paragraph, a paragraph started due to HTML markup, a \brief +paragraph, or a +\api-feature +paragraph. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \def-device-cap

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Starts a new paragraph. The following word is the name of the device capability +which is defined here. The description consists of the +remainder of the paragraph, together with +further paragraphs in the same block comment each of which is a plain +paragraph, a paragraph started due to HTML markup, a \brief +paragraph, or a +\param +paragraph. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \def-instantiated

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Starts a new paragraph. The description is an def-instantiated block, +consisting of the +remainder of the paragraph, together with +further paragraphs in the same block comment each of which is a plain +paragraph, a paragraph started due to HTML markup, a \brief +paragraph, or a +\api-feature +paragraph. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \device-cap

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Starts a new paragraph. +This command can appear only inside an +def-api-feature block. +The following word is the name of a device capability +used by the API feature being documented. +The remainder of the paragraph is +any description required of how (eg in what circumstance) the device capability +is used. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \n

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Creates a line break in the output. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \param

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Starts a new paragraph. This takes the following word as the name of +a parameter (argument) of the entity being documented, then makes the +remainder of the paragraph refer to that parameter. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \return

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Starts a new paragraph. The remainder of the paragraph is made to refer to +the return type of the entity being documented. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \throw

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Starts a new paragraph. The next word is taken to be the name of an +exception thrown by the entity being documented, and the remainder of +the paragraph documents that exception (in the raises list of +an operation, or the setraises +clause of an attribute). +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        \version

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Starts a new paragraph. The remainder of the paragraph contains +version number information. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Escape sequences

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The following escape sequences are recognized in a comment block: +

                                                                                                                                                                                                                                                                                        + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        escape sequence +result +
                                                                                                                                                                                                                                                                                        \\ +\ +
                                                                                                                                                                                                                                                                                        \& +& (escaped to &amp; in output XML) +
                                                                                                                                                                                                                                                                                        \$ +$ +
                                                                                                                                                                                                                                                                                        \# +# +
                                                                                                                                                                                                                                                                                        \< +< (escaped to &lt; in output XML) +
                                                                                                                                                                                                                                                                                        \> +> +
                                                                                                                                                                                                                                                                                        \% +% +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Some of these escape sequences are used to avoid Doxygen features that +widlproc does not currently implement. In particular, +widlproc insists on a $ being escaped, to +allow for possible future functionality. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        HTML in comments

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +widlproc accepts a small subset of HTML elements. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +An HTML block element is a paragraph. +A blank line (other than in a +\code block) +implicitly closes any open HTML elements, thus ending the paragraph. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The following HTML block elements are accepted: +dl +ol +p +table +ul +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The following HTML inline elements are accepted: +a +img +b +br +em +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The following HTML elements are accepted where valid inside one of the +other elements: +dd +dt +li +td +th +tr +

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Output format

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The output of widlproc is an XML representation of the +Web IDL, +with added XML elements representing the +Doxygen-like comments. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Annotated document type declaration

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!-- Autogenerated from widlproc.html : do not edit. -->
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Entities used elsewhere

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ENTITY % block 'dl | p | table | ul' >
                                                                                                                                                                                                                                                                                        +<!ENTITY % Block '(%block;)*' >
                                                                                                                                                                                                                                                                                        +<!ENTITY % inline 'a | b | br | em | img' >
                                                                                                                                                                                                                                                                                        +<!ENTITY % Inline '(#PCDATA | %inline;)*' >
                                                                                                                                                                                                                                                                                        +<!ENTITY % Flow '(#PCDATA | %inline; | %block;)*' >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT webidl (#PCDATA | ref)* >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The <webidl> element contains the literal text of the +original Web IDL that the parent +element was parsed from, minus the comments, with each reference to +an interface name +enclosed in a <ref>..</ref>. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Definitions

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Definitions is the root element of the XML document. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The ExtendedAttributeList specifies any extended attributes +for the Interface, Dictionary, Exception, +Typedef, Valuetype or Const in the +Definition. +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Definitions ( webidl, descriptive?, (Interface | Dictionary | Callback
                                                                                                                                                                                                                                                                                        +    | Enum | Exception | Typedef | Implements)*) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Interface

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +An Interface represents an interface. The name +attribute specifies the name of the interface. The descriptive element +provides its documentation if any. +The id attribute specifies the absolute scoped name of the interface. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The partial attribute indicates that the definition of the interface complements an existing definition. The callback attribute specificies that a given interface is a callback interface.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The InterfaceInheritance element indicates that the interface +inherits from other interface(s). Each Name in the +InterfaceInheritance has a name attribute giving the +scoped name of the interface being inherited from. +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Interface (webidl, descriptive?, ExtendedAttributeList?,
                                                                                                                                                                                                                                                                                        +        InterfaceInheritance?, (Const | Attribute | Operation | Stringifier* | Serializer* | Iterator | IteratorObject)* ) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Interface name CDATA #REQUIRED
                                                                                                                                                                                                                                                                                        +                    partial (partial) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    callback (callback) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    id CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT InterfaceInheritance (Name+) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Name EMPTY >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Name name CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Dictionary

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +A Dictionary represents a dictionary. The name +attribute specifies the name of the dictionary. The descriptive element +provides its documentation if any. +The id attribute specifies the absolute scoped name of the dictionary. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The partial attribute indicates that the definition of the interface complements an existing definition.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The DictionaryInheritance element indicates that the dictionary +inherits from other dictionary(s). Each Name in the +DictionaryInheritance has a name attribute giving the +scoped name of the dictionary being inherited from. +

                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Dictionary (webidl, descriptive?, DictionaryInheritance?, DictionaryMember* ) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Dictionary name CDATA #REQUIRED
                                                                                                                                                                                                                                                                                        +                    partial (partial) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    id CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT DictionaryInheritance (Name+) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Callback

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +A Callback represents a callback type. The name +attribute specifies the name of the dictionary. The descriptive element +provides its documentation if any.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The Type element specifies its return type.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +An Argument is an argument to an operation. +The Type element specifies its type. The name +attribute specifies its name if it has one. +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Callback (webidl, descriptive?, Type, ArgumentList? ) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Callback name CDATA #REQUIRED
                                                                                                                                                                                                                                                                                        +                      id CDATA #REQUIRED>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Enum

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +An Enum represents an enumeration. The name +attribute specifies the name of the enumeration. The descriptive element +provides its documentation if any. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The EnumValue element indicates the values defined for that enumeration in its stringvalue attribute. +

                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Enum (webidl, descriptive?, EnumValue* ) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Enum name CDATA #REQUIRED 
                                                                                                                                                                                                                                                                                        +                    id CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT EnumValue (webidl, descriptive?) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST EnumValue stringvalue CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +

                                                                                                                                                                                                                                                                                        Exception

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +An Exception represents an exception. +The name +attribute specifies the name of the exception. +The descriptive element +provides its documentation if any. +The id attribute specifies the absolute scoped name of the exception. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +An ExceptionField represents a field in an exception. +The name +attribute specifies the name of the field. +The Type element specifies its type. +The descriptive> element +provides its documentation if any. +The id attribute specifies the absolute scoped name of the field. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The ExceptionInheritance element indicates that the exception +inherits from another exception. The Name in the +ExceptionInheritance has a name attribute giving the +scoped name of the exception being inherited from. +

                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Exception (webidl, descriptive?, ExtendedAttributeList?, ExceptionInheritance?,
                                                                                                                                                                                                                                                                                        +        (Const | ExceptionField)* ) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Exception name CDATA #REQUIRED 
                                                                                                                                                                                                                                                                                        +                    id CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT ExceptionInheritance (Name) >
                                                                                                                                                                                                                                                                                        +<!ELEMENT ExceptionField (webidl, descriptive?, ExtendedAttributeList?, (Type)) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST ExceptionField name CDATA #REQUIRED
                                                                                                                                                                                                                                                                                        +                         id CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Typedef

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +A Typedef represents a type definition. +The name +attribute specifies the name of the new type. +The Type element specifies it in terms of other types. +The descriptive> element +provides its documentation if any. +The id attribute specifies the absolute scoped name of the typedef. +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Typedef (webidl, descriptive?, ExtendedAttributeList?, (Type)) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Typedef name CDATA #REQUIRED
                                                                                                                                                                                                                                                                                        +                  id CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Implements

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +An Implements represents Web IDL's +ScopedName implements ScopedName; +syntax. The name1 and name2 attributes give the +first and second scoped names respectively. +The descriptive> element +provides the Implements's documentation if any. +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Implements (webidl, descriptive?, ExtendedAttributeList?) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Implements name1 CDATA #REQUIRED
                                                                                                                                                                                                                                                                                        +                     name2 CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Const

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Const represents Web IDL's +const Type identifier = ConstExpr; +syntax. +The Type specifies the constant's type, the +name attribute specifies the constant's name, and the +value attribute specifies its value. +The descriptive> element +provides the Const's documentation if any. +The id attribute specifies the absolute scoped name of the const. +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Const (webidl, descriptive?, ExtendedAttributeList?, Type) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Const name CDATA #REQUIRED
                                                                                                                                                                                                                                                                                        +                value CDATA #IMPLIED
                                                                                                                                                                                                                                                                                        +                id CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Stringifier

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +A Stringifier represents the Web IDL stringifier; +syntax as an interface member. +The descriptive> element +provides the Stringifier's documentation if any. +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Stringifier (webidl, descriptive?, ExtendedAttributeList?) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Attribute

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +An Attribute represents an attribute as an interface member. +The Type element specifies its type. The name +attribute specifies its name. Each of the stringifier, static and +readonly attributes is set to a value the same as the attribute +name when the corresponding keyword appears in the Web IDL input. The inherit attribute is set to inherit when the attribute inherits its getter. +

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        +The descriptive> element provides the attribute's documentation +if any. +The id attribute specifies the absolute scoped name of the attribute. +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Attribute (webidl, descriptive?, ExtendedAttributeList?, (Type)) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Attribute stringifier (stringifier) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    readonly (readonly) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    inherit (inherit) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    static (static) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    name CDATA #REQUIRED
                                                                                                                                                                                                                                                                                        +                    id CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Operation

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +An Operation represents a method on interface. +The Type element specifies its return type. The name +attribute specifies its name. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Each of the stringifier, static, getter, +setter, creator, deleter and legacycaller, serializer +attributes is set to a value the same as the attribute +name when the corresponding keyword appears in the Web IDL input. +

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        +The descriptive> element provides the attribute's documentation +if any. +The id attribute specifies the absolute scoped name of the operation if it has one. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +An Argument is an argument to an operation. +The Type element specifies its type. The name +attribute specifies its name if it has one. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Each of the optional and ellipsis +attributes is set to a value the same as the attribute +name when the corresponding syntax appears in the Web IDL input. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The +value attribute used on optional arguments specifies default value for non-string values, and stringvalue for string values.

                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Operation (webidl, descriptive?, ExtendedAttributeList?,
                                                                                                                                                                                                                                                                                        +        (Type), ArgumentList) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Operation stringifier (stringifier) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    static (static) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    getter (getter) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    setter (setter) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    creator (creator) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    deleter (deleter) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    serializer (serializer) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    legacycaller (legacycaller) #IMPLIED
                                                                                                                                                                                                                                                                                        +                    name NMTOKEN #IMPLIED
                                                                                                                                                                                                                                                                                        +                    id NMTOKEN #IMPLIED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT ArgumentList (Argument*) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Argument (descriptive?, ExtendedAttributeList?, (Type)) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Argument
                                                                                                                                                                                                                                                                                        +                   optional (optional) #IMPLIED
                                                                                                                                                                                                                                                                                        +                   ellipsis (ellipsis) #IMPLIED
                                                                                                                                                                                                                                                                                        +                value CDATA #IMPLIED
                                                                                                                                                                                                                                                                                        +                stringvalue CDATA #IMPLIED
                                                                                                                                                                                                                                                                                        +                   name NMTOKEN #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Serializer

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        A Serializer represents a serializer for an interface, either defined in the prose or via a pattern.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The descriptive element provides the serializer's documentation if any.

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        The attribute attribute defines the attribute that is used for serialization if any.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The optional Map and List elements describe the pattern (if any) for the serializer. They take PatternAttribute elements with a name attribute that describes the attributes used for serialization.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Map elements take a pattern attribute that can be set to either "getter" (if the getter is used for serialization), "all" if all serializable attributes are to be used, or "selection" if the attributes named as children elements are to be used. Optionally, they take a inherit attribute set to "inherit" if the serialization takes also into account inherited attributes.

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        List elements take a pattern attribute that can be set to either "getter" (if the getter is used for serialization), or "selection" if the attributes named as children elements are to be used.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Serializer (webidl, descriptive?, ExtendedAttributeList?, (Map | List)?) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Serializer attribute CDATA #IMPLIED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Map  ((PatternAttribute*)) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ATTLIST Map inherit (inherit) #IMPLIED
                                                                                                                                                                                                                                                                                        +                 pattern (getter|all|selection) #REQUIRED>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT List  ((PatternAttribute*)) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ATTLIST List pattern (getter|selection) #REQUIRED>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT PatternAttribute EMPTY>
                                                                                                                                                                                                                                                                                        +<!ATTLIST PatternAttribute name CDATA #REQUIRED>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Iterator

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        An Iterator element defines whether the interface has a custom iterator; the type of the iterated objects is defined in the Type child. If that interator implements a particular interface, the name of that interface is set in the interface attribute.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Iterator (webidl, descriptive?, ExtendedAttributeList?, Type) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Iterator interface CDATA #IMPLIED>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        IteratorObject

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        An IteratorObject element denotes that the interface serves as an iterator object interface; the type of the iterated objects is defined in the Type child.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT IteratorObject (webidl, descriptive?, ExtendedAttributeList?, Type) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        DictionaryMember

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +A DictionaryMember represents a member of a dictionary. +The Type element specifies its type. The name +attribute specifies its name. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The descriptive> element provides the dictionary member's documentation +if any. +The id attribute specifies the absolute scoped name of the attribute. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The +value attribute specifies its value for non-string values, and stringvalue for string values.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT DictionaryMember (webidl, descriptive?, ExtendedAttributeList?, Type) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST DictionaryMember name CDATA #REQUIRED
                                                                                                                                                                                                                                                                                        +                    id CDATA #REQUIRED
                                                                                                                                                                                                                                                                                        +                value CDATA #IMPLIED
                                                                                                                                                                                                                                                                                        +                stringvalue CDATA #IMPLIED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Extended attributes

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +An ExtendedAttributeList contains one or more +ExtendedAttribute element. Each ExtendedAttribute +has: +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • +a name attribute giving the name of the extended attribute; +
                                                                                                                                                                                                                                                                                        • +if the extended attribute contains an = sign followed by a +value, a value attribute giving the value, which is a scoped +name or an identifier; +
                                                                                                                                                                                                                                                                                        • +if the extended attribute contains parentheses (either with or without +an = sign), an ArgumentList element giving the +contents of the parentheses. +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +If the value attribute and the ArgumentList element are +both present, then value must give an identifier rather than +a scoped name. +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT ExtendedAttributeList (ExtendedAttribute+) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT ExtendedAttribute (webidl, ArgumentList?) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST ExtendedAttribute name NMTOKEN #REQUIRED
                                                                                                                                                                                                                                                                                        +                            value CDATA #IMPLIED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Type

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Type represents a type. It has one of these forms: +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • +The any, object and void +types have the attribute +type set to the type, and no other attributes or elements. +Note that the void type appears only when the Type +element is a child of Operation. +
                                                                                                                                                                                                                                                                                        • +A type that is an interface has the attribute name set to the +name of that interface, and no other attributes or elements. +
                                                                                                                                                                                                                                                                                        • +For the primitive types short, unsigned short, +long, unsigned long, long long, +unsigned long long, float, double, +boolean, octet, byte and DOMString, +there is an attribute type +whose value is one of those strings, and no other attributes or elements. +However, if the type was specified in the Web IDL with a trailing ? +sign, then there is an attribute nullable with the value +nullable. +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +The restrictions on which combinations of elements and attributes are +permitted are not encoded by the DTD. +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +The descriptive element provides the documentation +if any, when the Type is a child of Operation, and thus +representing an operation's return type. +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        The ExtendedAttributeList element provides the optional extended attributes that can be defined for a type through typedef, à la typedef [Clamp] octet Value;.

                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Type (descriptive?, ExtendedAttributeList?, Type*) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST Type type CDATA #IMPLIED
                                                                                                                                                                                                                                                                                        +               name NMTOKEN #IMPLIED
                                                                                                                                                                                                                                                                                        +               nullable (nullable) #IMPLIED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Sequence

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        For a sequence type, the Type element with an attribute type set to sequence contains an element Type giving the sequence element type, and no other attributes or elements. If the sequence is specified in the Web IDL with a trailing ? +sign, then there is an attribute nullable with the value +nullable. + + +

                                                                                                                                                                                                                                                                                        Array

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        For an array type, the Type element with an attribute type set to array contains an element Type giving the array element type. If the array is specified in the Web IDL with a trailing ? +sign, then there is an attribute nullable with the value +nullable. + +

                                                                                                                                                                                                                                                                                        Union

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        For a union type, the Type element with an attribute type set to union contains at least two element Type giving the union members type. If the union is specified in the Web IDL with a trailing ? +sign, then there is an attribute nullable with the value +nullable. + + + +

                                                                                                                                                                                                                                                                                        Descriptive elements

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The following elements contain documentation, extracted from the +Doxygen-like comments in the input. <param> +derives only from a \param command used inside a +\def-device-cap block; any other \param command +is linked to a parameter (argument) of the method being documented. +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT descriptive (description | brief | throw | author
                                                                                                                                                                                                                                                                                        +    | version | Code | api-feature | device-cap | def-api-feature
                                                                                                                                                                                                                                                                                        +    | def-api-feature-set | def-device-cap | def-instantiated | param)* >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT description %Block; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT brief %Inline; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT throw %Inline; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT author %Inline; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT version %Inline; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT Code %Inline; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT api-feature %Inline; >
                                                                                                                                                                                                                                                                                        +<!ATTLIST api-feature identifier CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT device-cap %Inline; >
                                                                                                                                                                                                                                                                                        +<!ATTLIST device-cap identifier CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT param %Inline; >
                                                                                                                                                                                                                                                                                        +<!ATTLIST param identifier CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT def-api-feature (descriptive?) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST def-api-feature identifier CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT def-api-feature-set (descriptive?) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST def-api-feature-set identifier CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT def-instantiated (descriptive?) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT def-device-cap (descriptive?) >
                                                                                                                                                                                                                                                                                        +<!ATTLIST def-device-cap identifier CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT ref (#PCDATA) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        XHTML elements

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +The following XHTML elements are part of widlprocxml: +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +<!ELEMENT a %Inline; >
                                                                                                                                                                                                                                                                                        +<!ATTLIST a href CDATA #REQUIRED >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT b %Inline; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT br EMPTY >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT dd %Flow; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT dl ((dt | dd)*) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT dt %Inline; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT em %Inline; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT img %Inline; >
                                                                                                                                                                                                                                                                                        +<!ATTLIST img src CDATA #REQUIRED 
                                                                                                                                                                                                                                                                                        +                 alt CDATA #IMPLIED>
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT li %Flow; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT p %Inline; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT table (tr*) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT td %Flow; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT th %Flow; >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT tr ((th | td)*) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +<!ELEMENT ul (li*) >
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Bibliography

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +BONDI - an open source industry collaboration for widget and web technologies, +http://bondi.omtp.org/ +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Doxygen Source code documentation generator tool, + +http://www.stack.nl/~dimitri/doxygen/index.html +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +W3C Geolocation API Specification Editor's Draft 3 April 2009, + +http://dev.w3.org/geo/api/spec-source.html +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +Web IDL W3C Editor's Draft 3 May 2011, +http://dev.w3.org/2006/webapi/WebIDL +

                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/Makefile b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/Makefile new file mode 100644 index 00000000000..614453d23c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/Makefile @@ -0,0 +1,79 @@ +######################################################################## +# $Id$ +# Copyright 2009 Aplix Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +######################################################################## + +UNAME = $(shell uname) +EXAMPLESDIR = . +# The settings of SRCDIR (where to find the xsl style sheets), OBJDIR (where to +# find widlproc and widlprocxml.dtd) and EXAMPLESOBJDIR (where to put the +# resulting html files and any intermediate files) reflect the directory +# structure of the released widlproc.zip file when unzipped. ../Makefile calls +# this Makefile with these settings overridden to reflect the directory +# structure in svn. +SRCDIR = .. +OBJDIR = .. +EXAMPLESOBJDIR = obj + +######################################################################## +# Linux configuration +# +ifneq (,$(filter Linux%, $(UNAME))) + +EXESUFFIX = + +else +######################################################################## +# Darwin configuration +# +ifneq (,$(filter Darwin%, $(UNAME))) + +EXESUFFIX = + +else +######################################################################## +# Windows (cygwin but using MS compiler) configuration +# +ifneq (,$(filter CYGWIN%, $(UNAME))) + +EXESUFFIX = .exe + +endif +endif +endif + +######################################################################## +# Common makefile +# +WIDLPROC = $(OBJDIR)/widlproc$(EXESUFFIX) +DTD = $(OBJDIR)/widlprocxml.dtd + +WIDLS = $(patsubst $(EXAMPLESDIR)/%, %, $(wildcard $(EXAMPLESDIR)/*.widl)) + +test : $(patsubst %.widl, $(EXAMPLESOBJDIR)/%.html, $(WIDLS)) $(EXAMPLESOBJDIR)/widlhtml.css + @echo "$@ pass" + +$(EXAMPLESOBJDIR)/%.html : $(EXAMPLESOBJDIR)/%.widlprocxml $(SRCDIR)/widlprocxmltohtml.xsl Makefile + cp $(SRCDIR)/widlprocxmltohtml.xsl $(dir $@)/ + xsltproc $(dir $@)/widlprocxmltohtml.xsl $< >$@ + +$(EXAMPLESOBJDIR)/%.widlprocxml : $(EXAMPLESDIR)/%.widl $(WIDLPROC) $(DTD) Makefile + mkdir -p $(dir $@) + $(WIDLPROC) $< >$@ + cp $(OBJDIR)/widlprocxml.dtd $(dir $@)/ + xmllint --noout --dtdvalid $(DTD) $@ + +$(EXAMPLESOBJDIR)/widlhtml.css : $(EXAMPLESDIR)/widlhtml.css + cp $< $@ + +.DELETE_ON_ERROR: + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/README b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/README new file mode 100644 index 00000000000..efbb72dda8d --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/README @@ -0,0 +1,41 @@ +######################################################################## +# $Id$ +# Copyright 2009 Aplix Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +######################################################################## + +This examples directory contains two of the BONDI .widl files, a Makefile +that processes them to generate html, and a .css file that the resulting +html uses. + +The Makefile processes the .widl files as follows: + + 1. For each .widl, generate the .widlprocxml file (an XML representation + of the information in the .widl) using widlproc. + + 2. Validate (using xmllint) each .widlprocxml against the DTD. + + 3. We want any reference in the resulting html to a type elsewhere in the + API to be a link. This is where we achieve this. First generate a + list of fqids (fully qualified identifiers) from fqid attributes in + the XML by running all .widlprocxml files through the style sheet + widlprocxmlfqids.xsl. + + 4. Turn that list of fqids into a sed script that turns a to an + fqid into a to the fqid in the right .html file. + + 5. For each .widlprocxml file, generate a .widlprocxml2 file by running + it through the sed script generated above. + + 6. For each .widlprocxml2 file, generate a .html file by running it through + the widlprocxmltohtml.xsl style sheet. + +See the Makefile for details. diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/bondi.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/bondi.widl new file mode 100644 index 00000000000..200b95fe9c1 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/bondi.widl @@ -0,0 +1,227 @@ +/* + * Licensed to OMTP Ltd. (OMTP) under one or more contributor license agreements. + * See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. + * + * The Reference Implementation (save for such parts of the reference implementation made + * available under separate terms and conditions) is made available under the terms of the + * Apache License, version 2.0, subject to the condition that any "Works" and "Derivative + * Works" used or distributed for commercial purposes must be and remain compliant with the + * BONDI specification as promulgated by OMTP in each release. Your implementation of the + * Reference Implementation (whether object or source) must maintain these conditions, and + * you must notify any recipient of this condition in a conspicuous way. + * + * You may not use this BONDI Reference Implementation except in compliance with the License. + * + * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 or at + * http://bondi.omtp.org/BONDI-LICENSE-2.0 + */ + +/** + * \brief Common BONDI functionality. + * + * These definitions can be used in all other BONDI modules as dependencies. + * \version 1.1 + */ +module bondi { + + /** + * \brief Array of DOMStrings. + */ + typedef sequence StringArray; + + /** + * \brief Array of 8-bit unsigned integer values. + */ + typedef sequence ByteArray; + + /** + * \brief Array of 16-bit signed integer values. + */ + typedef sequence ShortArray; + + /** + * \brief Array of 32-bit signed integer values. + */ + typedef sequence LongArray; + + /** + * \brief Array of floating point values. + */ + typedef sequence FloatArray; + + /** + * \brief Generic Map object. + */ + typedef Object Map; + + /** + * \brief Generic success callback interface. + */ + [Callback=FunctionOnly, NoInterfaceObject] interface SuccessCallback { + /** + * \brief Method invoked when the asynchronous call completes successfully + */ + void onSuccess(); + }; + + + /** + * \brief Success callback interface for requestFeature invocations + */ + [Callback=FunctionOnly, NoInterfaceObject] interface RequestFeatureSuccessCallback { + /** + * \brief Method invoked upon a succesful requestFeature invocation + * + * \param ob Object implementing the JavaScript API associated with the requested Feature. + */ + void onSuccess(in Object ob); + }; + + + /** + * \brief Generic error callback interface. + */ + [Callback=FunctionOnly, NoInterfaceObject] interface ErrorCallback { + /** + * \brief Method invoked when an error occurs + * + * \param error The error that is raised. + */ + void onError(in GenericError error); + }; + + /** + * \brief Generic error interface. + * + * + */ + + + interface GenericError { + + /** + * \brief 16-bit error code. + */ + readonly attribute unsigned short code; + }; + + /** + * \brief DeviceApiError error interface. + * + * The error codes must be in the range 10000-19999. + */ + + interface DeviceAPIError : GenericError { + + /** + * \brief Unknown error. + */ + const unsigned short UNKNOWN_ERROR = 10000; + + /** + * \brief Invalid value was specified as input parameter. + */ + const unsigned short INVALID_ARGUMENT_ERROR = 10001; + + /** + * \brief The searched value or object was not found. + */ + const unsigned short NOT_FOUND_ERROR = 10002; + + /** + * \brief Operation is pending. + */ + const unsigned short PENDING_OPERATION_ERROR = 10003; + + /** + * \brief Input/Output error. + */ + const unsigned short IO_ERROR = 10004; + + /** + * \brief Not supported error. + */ + const unsigned short NOT_SUPPORTED_ERROR = 10005; + }; + + /** + * \brief Security error interface. + * + * The error codes must be in the range 20000-29999 + */ + interface SecurityError : GenericError { + const unsigned short PERMISSION_DENIED_ERROR = 20000; + }; + + /** + * \brief PendingOperation. + * + * Interface that is returned by asynchronous operations in order to + * provide a cancellation operation. + */ + interface PendingOperation { + /** + * \brief Call to cancel the underlying asynchronous operation. + * + * This call is always successful, i.e. the pending operation i.e. + * either cancelled or one of the callback is called. + * + * \return false if the cancellation did not succeed + * either because the pending operation finished already or because + * the cancellation cannot succeed due to technical limitations in + * the underlying implementation. Consquently the pending operation + * completes and depending on the success or failure the appropriate + * callbacks will be called. + * true if the cancellation did succeed. No callbacks will + * be called by the cancelled pending operation. + */ + boolean cancel(); + }; + + /** + * \brief BONDI root API. + * bondi root property exists in the global object + * \def-api-feature http://bondi.omtp.org/api/bondi.requestfeature + */ + interface Bondi { + /** + * \brief Requests a feature. + * + * This function requests a named feature + * asynchronously and returns a pending operation object. + * If it succeeds it calls the successCallback and passes in + * the object of the requested feature. If it fails it calls + * the errorCallback passing in a DeviceAPIError which provides + * an error message and error code indicating the nature of the error. + * + * If the requested feature binds itself to a root namespace + * ( for example, "bondi.pim.contact") this will happen prior to the + * successCallback being invoked. + * + * \param successCallback the success callback function + * \param errorCallback the error callback function + * \param name the feature name IRI + * + * \return PendingOperation enabling the requester to cancel this request. + * + * The errorCallback will receive one of the following errors: + * \throw DeviceAPIError INVALID_ARGUMENT_ERROR if a malformed + * argument has been supplied or a required argument has been omitted. + * \throw DeviceAPIError NOT_FOUND_ERROR if the requested feature could not be found. + * \throw SecurityError PERMISSION_DENIED_ERROR if the + * requested feature is not permitted to load/bind or that + * access to a required device capability has been denied. + * \throw DeviceAPIError UNKNOWN_ERROR if an error occurred and a pending + * operation object can't be returned. + */ + PendingOperation requestFeature(in RequestFeatureSuccessCallback successCallback, + in ErrorCallback errorCallback, + in DOMString name) + raises(DeviceAPIError, SecurityError); + }; + interface BondiObject { + readonly attribute Bondi bondi; + }; + Window implements bondiObject; +}; diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/filesystem.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/filesystem.widl new file mode 100644 index 00000000000..35f602b858a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/filesystem.widl @@ -0,0 +1,1038 @@ +/* + * Licensed to OMTP Ltd. (OMTP) under one or more contributor license agreements. + * See the NOTICE file distributed with this work for additional information regarding + * copyright ownership. + * + * The Reference Implementation (save for such parts of the reference implementation made + * available under separate terms and conditions) is made available under the terms of the + * Apache License, version 2.0, subject to the condition that any "Works" and "Derivative + * Works" used or distributed for commercial purposes must be and remain compliant with the + * BONDI specification as promulgated by OMTP in each release. Your implementation of the + * Reference Implementation (whether object or source) must maintain these conditions, and + * you must notify any recipient of this condition in a conspicuous way. + * + * You may not use this BONDI Reference Implementation except in compliance with the License. + * + * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 or at + * http://bondi.omtp.org/BONDI-LICENSE-2.0 + */ + +/** + * \brief BONDI filesystem API. + * + * The BONDI filesystem API provides access to the filesystem of a device. The + * filesystem is abstractly represented as a collection of disjoint filesystem + * root locations each corresponding to some specific location in the device + * filesystem. The filesystem API exposes the hierarchies below these root + * locations as a single virtual filesystem but provides no access to other + * parts of the device filesystem. + * + * The roots that are exposed are determined by the platform also by the + * context in which the filesystem API is invoked. + * + * Each root has a string name. Each file or directory within the virtual + * filesystem is addressed using a fully-qualified path of the form: + * <root name>/<path> where <rootname> is + * the name of the root and <path> is the path to the file or + * directory relative to that root. + * + * The list of the supported root locations can be retrieved by calling + * filesystem.getRootLocations(). + * + * The default location for a specific type of file, if one exists, can be + * obtained by calling the filesystem.getDefaultLocation(...) method. A set of + * platform-independent symbolic names for media types is defined. The default + * location for a given file type may itself be a root, or some subdirectory of + * a root. Although the set of roots available on a device is + * platform-dependent, the getDefaultLocation(...) functionality can be used to + * ensure that web applications can be written in a platform-independent way. + * + * In order to access specific locations which are prefixed with a value + * retrieved by filesystem.getDefaultLocation or some root location returned by + * filesystem.getRootLocations a File handle must be retrieved using the + * filesystem.resolve call. + * + * A File handle represents either a file or a directory. If it is a file the + * isFile attribute will be true, otherwise the isDirectory attribute + * will be true. A file can be opened for reading and writing, using a + * FileStream handle. A directory can be used to list its contents which is a + * list of files and sub-directories. There is a resolve method on directories + * as well in order to resolve files or sub-directories more conveniently than + * processing directory listings. + * + * The "/" character is used as the (path) component separator. + * The use of "." or ".." in location components is not required to be + * supported. + * + * All path characters need to be UTF-8 encoded. + * + * \code + * function errorCB(err) { + * alert("BONDI filesystem API couldn't be requested: " + err.message); + * } + * + * function successCB() { + * var docLocation = bondi.filesystem.getDefaultLocation("documents"); + * var docDir = bondi.filesystem.resolve(docLocation); + * var docFiles = docDir.listFiles(); + * for(var i = 0; i < docFiles.length; i++) { + * // displays name of each image file in image directory + * alert(docFiles[i].name); + * } + * var testFile = docDir.createFile("test.txt"); + * var out = testFile.open("w", "UTF-8"); + * // writes Hello World to test.txt + * out.write("Hello World"); + * out.close(); + * } + * + * bondi.requestFeature(successCB, errorCB, "filesystem"); + * \endcode + * + * \def-api-feature http://bondi.omtp.org/api/filesystem.read + * \brief Filesystem read operations, including reading directory listings, + * file contents and resolving root locations. + * \device-cap io.file.read + * + * \def-api-feature http://bondi.omtp.org/api/filesystem.write + * \brief Filesystem write operations, including creating files/directories, + * writing to files, deleting files/directories, moving and copying + * files. + * \device-cap io.file.write + * + * \def-api-feature-set http://bondi.omtp.org/api/filesystem + * \brief All the FileSystem features + * \api-feature http://bondi.omtp.org/api/filesystem.read + * \api-feature http://bondi.omtp.org/api/filesystem.write + * + * \def-device-cap io.file.read + * \brief Read directory or file + * \param name Name of directory or file, in virtual filesystem, + * e.g. rootlocation/filename + * + * \def-device-cap io.file.write + * \brief Write directory or file + * \param name Name of directory or file, in virtual filesystem, + * e.g. rootlocation/filename + * + * \author Paddy Byers <paddy@aplixcorp.com> + * \author Anselm R Garbe <anselm@aplixcorp.com> + * \version 1.1 + */ +module filesystem { + + /** + * \brief Array of File handles. + * + * This array type is returned when directory listings are requested. + */ + typedef sequence FileArray; + + /** + * \brief File system specific success callback. + * + * This callback interface specifies a success callback with a function + * taking a File object as input argument. It is used in asynchronous + * operations such as copying, moving and deleting files. + */ + [Callback=FunctionOnly, NoInterfaceObject] interface FileSystemSuccessCallback { + /** + * \brief Method invoked when the asynchronous call completes succesfully + * + * \param file The file resulting from the asynchronous call + */ + void onSuccess(in File file); + }; + + /** + * \brief Manager class exposed as the filesystem modules API. + * + * This manager class exposes the filesystem base API, such as + * determining root and default locations, resolving a given location + * into a File Handle and registering filesystem listeners for + * filesystem events. + * + * \code + * function errorCB(err) { + * alert("BONDI filesystem API couldn't be requested: " + err.message); + * } + * + * function successCB() { + * var docLocation = bondi.filesystem.getDefaultLocation("documents"); + * var docDir = bondi.filesystem.resolve(docLocation); + * var docFiles = docDir.listFiles(); + * for(var i = 0; i < docFiles.length; i++) { + * // displays name of each image file in image directory + * alert(docFiles[i].name); + * } + * var testFile = docDir.createFile("test.txt"); + * var out = testFile.open("w", "UTF-8"); + * // writes Hello World to test.txt + * out.write("Hello World"); + * out.close(); + * } + * + * bondi.requestFeature(successCB, errorCB, "filesystem"); + * \endcode + */ + interface FileSystemManager { + + /** + * \brief Contains the platform-dependent maximum path length. + * + * Read-only. + * + * \code + * alert(bondi.filesystem.maxPathLength); + * \endcode + */ + readonly attribute unsigned long maxPathLength; + + /** + * \brief Returns a default location path for the given arguments, + * including the root location prefix. + * + * Optionally this method can be called with the space argument + * specifying the minimum free disk space required. + * + * This function resolves location specifiers to location paths. + * The following location specifiers are supported: + * \n "wgt:package" the widget package location + * \n "wgt:private" the widgets private storage + * \n "wgt:public" the widgets public storage + * \n "wgt:temp" the widgets temporary storage + * \n "documents" the documents location, + * e.g. the "My Documents" directory on some systems + * \n "images" the images location, + * e.g. the "My Pictures" directory on some systems + * \n "videos" the videos location, + * e.g. the "My Videos" directory on some systems + * \n "temp" the temporary storage, + * e.g resolving to "Temp" + * \n "sdcard" the sdcard storage, if any + * + * \code + * var wgtLocation = bondi.filesystem.getDefaultLocation('wgt:package'); + * \endcode + * + * \param specifier the location specifier, see above for supported specifiers. + * \param minFreeSpace optional, minimum required free disk space in bytes for + * this location, 0 (default) means no limitation + * \return the location as a string or null if there + * is no location for the given specifier or if there is not + * enough space left for the requested space in bytes. + * \throw DeviceAPIError INVALID_ARGUMENT_ERROR if the + * specifier or space arguments are invalid + */ + DOMString getDefaultLocation(in DOMString specifier, in unsigned long minFreeSpace) + raises(DeviceAPIError); + + /** + * \brief Returns all root locations. + * + * The root locations are symbolic names for filesystem + * locations which are accessible and supported by the + * underlying platform. + * + * Usually the following root locations will be supported: + * \n "documents" represents "My Documents" on some platforms + * \n "images" represents "My Pictures" on some platforms + * \n "videos" represents "My Videos" on some platforms + * \n "temp" represents "tmp" on some platforms + * \n "sdcard" represents the sdcard on some platforms + * + * See also the getDefaultLocation method. + * + * \code + * var locations = bondi.filesystem.getRootLocations(); + * for(var i = 0; i < locations.length; i++) { + * // locations[i] is a resolvable root location + * } + * \endcode + * + * \return string array of root locations. + */ + StringArray getRootLocations(); + + /** + * \brief Resolves a location to a File handle. + * + * Validates and resolves the given location to a File handle + * and returns a handle. A valid location is prefixed with a + * valid root or default location and must address an existing + * and accessible file. + * + * \api-feature http://bondi.omtp.org/api/filesystem.read + * + * \code + * var location = bondi.filesystem.getDefaultLocation("temp"); + * var temp = bondi.filesystem.resolve(location); + * var documents = bondi.filesystem.getDefaultLocation("documents"); + * var mydoc = bondi.filesystem.resolve(documents + "/data/2009/mydoc.txt"); + * \endcode + * + * \param location the location to resolve. Must be absolute + * prefixed by a valid root or default location. + * \return the resolved file object. + * \throw SecurityError PERMISSION_DENIED_ERROR when + * access is denied by the security policy. + * \throw DeviceAPIError INVALID_ARGUMENT_ERROR if invalid location was given. + */ + File resolve(in DOMString location) + raises(SecurityError, DeviceAPIError); + + /** + * \brief Registers a filesystem event listener. + * + * Filesystem event listeners are used in order to retrieve + * notifications if root or default locations such as storage + * cards are mounted/unmounted into/from the device filesystem. + * + * \api-feature http://bondi.omtp.org/api/filesystem.read + * + * \code + * var listener = { mountEvent: function(location) { alert('mounted ' + location); }, + * unmountEvent: function(location) { alert('unmounted ' + location); }; + * bondi.filesystem.registerEventListener(listener); + * \endcode + * + * \param listener the listener interface implementation + * \throw DeviceAPIError INVALID_ARGUMENT_ERROR if the given listener + * is invalid or not a listener. + */ + void registerEventListener(in FileSystemListener listener) + raises(DeviceAPIError); + + /** + * \brief Unregisters a filesystem event listener. + * + * \code + * bondi.filesystem.unregisterEventListener(listener); + * \endcode + * + * \param listener the listener interface implementation + * \throw DeviceAPIError INVALID_ARGUMENT_ERROR if the given listener + * is invalid or not a listener. + */ + void unregisterEventListener(in FileSystemListener listener) + raises(DeviceAPIError); + }; + + /** + * \brief Filesystem event listener class. + * + * This listener implements two methods to retrieve mount and unmount + * notifications if root or default locations on a storage card get + * available or unavailable. + * + * \code + * var fsEventImpl = { + * mountEvent: function(location) { + * // location has been mounted + * }, + * unmountEvent: function(location) { + * // location has been unmounted + * } + * }; + * \endcode + */ + interface FileSystemListener { + + /** + * \brief Called when a new root location gets available. + * + * A new location could be a storage card for example. + * + * \param location the newly available location + */ + void mountEvent(in DOMString location); + + /** + * \brief Called when a location gets unavailable. + * + * Such a location could be a storage card for example. + * + * \param location the location which is becoming unavailable + */ + void unmountEvent(in DOMString location); + }; + + /** + * \brief File class. + * + * This interface represents the file abstraction in use. A file handle + * can address files or directories. A file handle represents a file + * if the isFile property is true, otherwise it represents a + * directory. + * + * A file handle representing a file can be opened for I/O operations + * such as reading and writing. + * + * A file handle representing a directory can list all files in the + * current directory. + * + * \code + * + * // list directory contents + * var files = dir.listFiles(); + * for(var i = 0; i < files.length; i++) { + * // alerts each name of dir's contents + * alert(files[i].name); + * } + * + * // opens a file for writing + * var file = dir.createFile("test.txt"); + * var out = file.open("w", "UTF-8"); + * // writes Hello World to test.txt + * out.write("Hello World"); + * out.close(); + * \endcode + */ + interface File { + + /** + * \brief Parent directory handle. + * + * Read-only. + * + * null if there is no parent directory. + * + * If there is no parent directory, this represents a root location. + * + * \code + * var parent = file.parent; + * if(parent != null) { + * // parent directory handle + * } + * \endcode + */ + readonly attribute File parent; + + /** + * \brief File/directory access state in the filesystem. + * + * Read-only. + * + * false if there is write access. + * + * This attribute represents the actual state of a + * file/directory in the filesystem. It does not check if the + * accessor has io.file.write permission. + * + * \code + * if(file.readOnly) { + * // file cannot be written + * } + * \endcode + */ + readonly attribute boolean readOnly; + + /** + * \brief File type. + * + * Read-only. + * + * true if this handle is a file. + * false if this handle is a directory. + * + * \code + * if(file.isFile) { + * // is a file + * } + * \endcode + */ + readonly attribute boolean isFile; + + /** + * \brief File type. + * + * Read-only. + * + * true if this handle is a directory. + * false if this handle is a file. + * + * \code + * if(file.isDirectory) { + * // is a directory + * } + * \endcode + */ + readonly attribute boolean isDirectory; + + /** + * \brief Creation timestamp. + * + * Read-only. + * + * The creation timestamp of this file. This is the timestamp + * when the file was first created in the filesystem. This is + * equivalent to the timestamp when a call to createFile() + * succeeds. + * + * It is unspecified and platform-dependent if the creation + * timestamp changes when a file is moved. + * + * \code + * alert(file.created); // displays the creation timestamp + * \endcode + * + */ + readonly attribute Date created; + + /** + * \brief Modification timestamp. + * + * Read-only. + * + * The modification timestamp of this file. This is the timestamp + * of the most recent modification to the file, usually when the last + * write operation succeeded. Opening a file for reading does not change + * the modification timestamp. + * + * \code + * alert(file.modified); // displays the modification timestamp + * \endcode + * + */ + readonly attribute Date modified; + + /** + * \brief Path of this file, excluding the file name. + * + * Read-only. + * + * If the file path is /baz/foo.bar, then + * the path is /baz/. + * + * The encoding of file paths is UTF-8. + * + * \code + * alert(file.path); // should be /baz/ if the file is /baz/foo.bar + * \endcode + */ + readonly attribute DOMString path; + + /** + * \brief File name, excluding any path components. + * + * Read-only. + * + * Assumed the file path is /baz/foo.bar, then + * the file name is foo.bar. + * + * The encoding of file names is UTF-8. + * + * \code + * alert(file.name); // should be foo.bar if the file path is /baz/foo.bar + * \endcode + */ + readonly attribute DOMString name; + + /** + * \brief Absolute path of this file. + * + * Read-only. + * + * Assumed the file path is /baz/foo.bar, then this is the absolute path. + * + * The encoding of file paths is UTF-8. + * + * \code + * alert(file.absolutePath); // should be /baz/foo.bar if the file is /baz/foo.bar + * \endcode + */ + readonly attribute DOMString absolutePath; + + /** + * \brief Size in bytes of this file. + * + * Read-only. + * + * If it is attempted to read this attribute on a directory, + * undefined is returned. + * + * \code + * alert(file.fileSize); // displays the file size + * \endcode + */ + readonly attribute unsigned long fileSize; + + /** + * \brief Files metadata. + * + * The actual map contents are implementation dependent. + * + * \code + * // should display the file author, if supported by the + * // platform, undefined otherwise + * alert(file.metadata.author); + * \endcode + */ + readonly attribute Map metadata; + + /** + * \brief Returns list of all files of this directory. + * + * The list of files contains directories and files, it does + * not contain the directories "." and "..". + * + * \api-feature http://bondi.omtp.org/api/filesystem.read + * + * \code + * var files = dir.listFiles(); + * for(var i = 0; i < files.length; i++) { + * // files[i] iterate over all files of this directory + * } + * \endcode + * + * \return array of contents of this directory. + * \throw SecurityError PERMISSION_DENIED_ERROR when + * access is denied by the security policy. + * \throw DeviceAPIError IO_ERROR if this is not a directory. + */ + FileArray listFiles() + raises(SecurityError, DeviceAPIError); + + /** + * \brief Opens the file in the given mode supporting the given + * encoding. + * + * \api-feature http://bondi.omtp.org/api/filesystem.read + * \api-feature http://bondi.omtp.org/api/filesystem.write + * + * \code + * // opens file for reading + * var in = file.open("r", "UTF-8"); + * \endcode + * + * \param mode the mode for opening a file + * \n "r" for reading + * \n "a" for appending + * \n "w" for [over]writing + * \param encoding the encoding for read/write operations on the file, + * supported encodings are: + * \n "UTF-8" default encoding + * \n "ISO8859-1" latin1 encoding + * \return file stream handle to read/write from/to. + * \throw SecurityError PERMISSION_DENIED_ERROR when + * access is denied by the security policy. + * \throw DeviceAPIError INVALID_ARGUMENT_ERROR if invalid mode + * or unsupported encoding is supplied. + * \throw DeviceAPIError IO_ERROR if this is not a file. + */ + FileStream open(in DOMString mode, in DOMString encoding) + raises(SecurityError, DeviceAPIError); + + /** + * \brief Copies this file. + * + * The copy will be created in the given path. If this function + * fails and the error callback is called, it will pass an + * DeviceAPIError IO_ERROR to the callback. + * + * The encoding of file paths is UTF-8. + * + * \api-feature http://bondi.omtp.org/api/filesystem.write + * + * \code + * // copies this file to /temp/file.copy + * var op = file.copyTo(function(copiedFile) { alert("file copied"); }, null, "/temp/file.copy", false); + * \endcode + * + * \param successCallback called when the file has been copied. + * \param errorCallback called if an error occured. + * \param filePath the new file path, [a-Z0-9_- /]+ are allowed + * \param overwrite true enforces overwriting an existing file. + * \return PendingOperation enabling the requester to cancel this request. + * \throw SecurityError PERMISSION_DENIED_ERROR when + * access is denied by the security policy. + * \throw DeviceAPIError IO_ERROR if it is attempted to move to a directory. + * \throw DeviceAPIError IO_ERROR if overwrite is false and target file exists. + * \throw DeviceAPIError IO_ERROR if any characters in the path are not supported. + * \throw DeviceAPIError IO_ERROR if the file cannot be copied. + */ + PendingOperation copyTo(in FileSystemSuccessCallback successCallback, + in ErrorCallback errorCallback, + in DOMString filePath, + in boolean overwrite) + raises(SecurityError, DeviceAPIError); + + /** + * \brief Moves this file. + * + * The file will be moved atomically to the given path. This is + * different to copyTo and deleting the old file, because this + * operation does not need extra disk space on certain platforms. + * If this function fails and the error callback is called, it + * will pass an DeviceAPIError IO_ERROR to the callback. + * + * The encoding of file paths is UTF-8. + * + * \api-feature http://bondi.omtp.org/api/filesystem.write + * + * \code + * // moves this file to /temp/file.move + * var op = file.moveTo(function(movedFile) { file = movedFile; }, null, "/temp/file.move"); + * \endcode + * + * \param successCallback called when the file has been copied. + * \param errorCallback called if an error occured. + * \param filePath the new file name, [a-Z0-9_- /]+ are allowed + * \param overwrite true enforces overwriting an existing file. + * \return PendingOperation enabling the requester to cancel this request. + * \throw SecurityError PERMISSION_DENIED_ERROR when + * access is denied by the security policy. + * \throw DeviceAPIError IO_ERROR if it is attempted to move to a directory. + * \throw DeviceAPIError IO_ERROR if overwrite is false and target file exists. + * \throw DeviceAPIError IO_ERROR if any characters in the path are not supported. + * \throw DeviceAPIError IO_ERROR if the file cannot be moved. + */ + PendingOperation moveTo(in FileSystemSuccessCallback successCallback, + in ErrorCallback errorCallback, + in DOMString filePath, + in boolean overwrite) + raises(SecurityError, DeviceAPIError); + + /** + * \brief Creates a directory. + * + * The new directory will be created relatively to the current + * directory this operation is performed on. It will attempt to + * create all necessary sub-directories as well. The use of "." + * or ".." in path components is not supported. If the + * bottom-most directory being created already exists this + * method will throw an IO_ERROR. + * + * The encoding of file paths is UTF-8. + * + * \api-feature http://bondi.omtp.org/api/filesystem.write + * + * \code + * var newDir = dir.createDirectory("newDir"); + * var anotherNewDir = dir.createDirectory("newDir1/subNewDir1"); + * \endcode + * + * \param dirPath the new directory path, it should only contain + * characters supported by the underlying filesystem. + * \return file handle of the new directory + * \throw SecurityError PERMISSION_DENIED_ERROR when + * access is denied by the security policy. + * \throw DeviceAPIError IO_ERROR if this is not a directory. + * \throw DeviceAPIError IO_ERROR if any path component does not exist. + * \throw DeviceAPIError IO_ERROR if a file with the same name exists. + * \throw DeviceAPIError IO_ERROR if any characters in the path are not supported. + * \throw DeviceAPIError IO_ERROR if the directory cannot be created. + */ + File createDirectory(in DOMString dirPath) + raises(SecurityError, DeviceAPIError); + + /** + * \brief Creates a new empty file. + * + * The new empty file is created in the given path relatively + * to the current directory the operation is performed on. The + * use of "." or ".." in path components is not supported. If + * the bottom-most file being created already exists this + * method will throw an IO_ERROR. If any path component does + * not exist this method will throw an IO_ERROR. + * + * The encoding of file paths is UTF-8. + * + * \api-feature http://bondi.omtp.org/api/filesystem.write + * + * \code + * var newFile = dir.createFile("newFile"); + * \endcode + * + * \param filePath the new file path, it should only contain + * characters supported by the underlying filesystem. + * \return file handle of the new empty file + * \throw SecurityError PERMISSION_DENIED_ERROR when + * access is denied by the security policy. + * \throw DeviceAPIError IO_ERROR if this is not a directory. + * \throw DeviceAPIError IO_ERROR if any path component does not exist. + * \throw DeviceAPIError IO_ERROR if the file already exists. + * \throw DeviceAPIError IO_ERROR if any characters in the path are not supported. + * \throw DeviceAPIError IO_ERROR if the file cannot be created. + */ + File createFile(in DOMString filePath) + raises(SecurityError, DeviceAPIError); + + /** + * \brief Resolves an existing file or directory relatively to + * the current directory this operation is performed on; and + * returns a file handle for it. + * + * The filePath is not allowed to contain the "." or ".." directories. + * + * The encoding of file paths is UTF-8. + * + * \api-feature http://bondi.omtp.org/api/filesystem.read + * + * \code + * var hellofile = dir.resolve("foo/hello.txt"); + * \endcode + * + * \param filePath the relative file/directory path to resolve. + * \return file handle of the file or null if it cannot be resolved. + * \throw SecurityError PERMISSION_DENIED_ERROR when + * access is denied by the security policy. + * \throw DeviceAPIError IO_ERROR if this is not a directory. + * \throw DeviceAPIError IO_ERROR if any characters in the path are not supported. + * \throw DeviceAPIError IO_ERROR if the file or directory cannot be resolved. + */ + File resolve(in DOMString filePath) + raises(SecurityError, DeviceAPIError); + + /** + * \brief Deletes this directory. + * + * This function attempts to delete a directory or directory + * tree synchronously and returns true on success, + * false otherwise. It may throw an IO_ERROR if a + * recursive deletion partially fails and any deleted data so + * far cannot be recovered. This might happen due the lack of + * filesystem permissions or if any directories or files are + * openened by other processes. + * + * \api-feature http://bondi.omtp.org/api/filesystem.write + * + * \code + * var fullPath = dir.fullPath; + * if(dir.deleteDirectory(true)) { + * // subsequent accesses to dir will throw an error + * alert(fullPath + ' deleted'); + * } + * \endcode + * + * \param recursive true means a recursive deletion, this + * will destroy all data recursively, use with caution. + * \return true on success + * \throw SecurityError PERMISSION_DENIED_ERROR when + * access is denied by the security policy. + * \throw DeviceAPIError IO_ERROR if this is a file. + * \throw DeviceAPIError IO_ERROR if the directory is not empty and + * this operation is not performed recursively. + * \throw DeviceAPIError IO_ERROR if the directory or any file or sub-directory cannot be deleted. + */ + boolean deleteDirectory(in boolean recursive) + raises(SecurityError, DeviceAPIError); + + /** + * \brief Deletes this file. + * + * Returns true on success, false otherwise. + * + * \api-feature http://bondi.omtp.org/api/filesystem.write + * + * \code + * var fullPath = dir.fullPath; + * if(dir.deleteFile()) { + * // subsequent accesses to dir will throw an error + * alert(fullPath + ' deleted'); + * } + * \endcode + * + * \return true on success + * \throw SecurityError PERMISSION_DENIED_ERROR when + * access is denied by the security policy. + * \throw DeviceAPIError IO_ERROR if this is a directory. + * \throw DeviceAPIError IO_ERROR if the file cannot be deleted due + * the lack of filesystem permissions or if it is locked or + * opened by another process. + */ + boolean deleteFile() + raises(SecurityError, DeviceAPIError); + }; + + /** + * \brief FileStream API. + * + * A FileStream represents a handle to a File opened for read and/or + * write operations. Read and write operations are performed relative + * to a file pointer which represents the current position in the file. + * + * A series of read/write methods are available that permit both binary and + * text to be processed. + * + * Once a file stream is closed, any operation attempted on this stream + * will result in a normal JavaScript error. + */ + interface FileStream { + + /** + * \brief Indicates whether or not the current file pointer is at the end + * of the file. + * + * true if the position is at the end of the current file stream. + * + * \code + * if(stream.eof) { + * // file has been read completely + * } + * \endcode + */ + readonly attribute boolean eof; + + /** + * \brief Get/set stream position for reads/writes. + * + * The stream position is an offset of bytes from the start of + * the file stream. When invoking an operation that reads or + * writes from the stream, the operation will take place from + * the position in the position attribute. + * + * \code + * alert(stream.position); // displays current stream position + * // alters current stream position to the begin of the file, + * // like seek() in C + * stream.position = 0; + * \endcode + * \throw DeviceAPIError IO_ERROR if a position was given that is out of the stream range. + */ + attribute unsigned long position + setraises(DeviceAPIError); + + /** + * \brief Returns the number of bytes that are available for + * reading from the stream. + * + * The number of bytes available for reading is the maximum + * amount of bytes that can be read in the next read operation. + * + * -1 if eof is true. + * + * \code + * alert(stream.bytesAvailable); // displays the available bytes to be read + * \endcode + */ + readonly attribute unsigned long bytesAvailable; + + /** + * \brief Closes this FileStream. + * + * Flushes any pending buffered writes and closes the File. Always succeeds. + * Note that pending writes might not succeed. + * + * \code + * stream.close(); // closes this stream, no subsequent access to stream allowed + * \endcode + */ + void close(); + + /** + * \brief Reads the specified number of characters. + * + * Reads specified number of characters and returns them as string. + * The resulting string length might be shorter than charCount if eof + * is true. + * + * \code + * var text = stream.read(0); + * stream.close(); + * \endcode + * + * \param charCount number of characters being read, if + * 0 it will read as long as bytes are available. + * \return the result of read characters as a string. + * \throw DeviceAPIError IO_ERROR if an error occurs during read. + */ + DOMString read(in unsigned long charCount) + raises(DeviceAPIError); + + /** + * \brief Reads the specified number of bytes from this FileStream. + * + * If 0 is supplied it will read all available bytes in a + * single read operation. + * + * \code + * // reads up to 256 bytes from the stream + * var raw = stream.readBytes(256); + * for(var i = 0; i < raw.length; i++) { + * // raw[i] contains the i-th byte of the current data chunk + * } + * \endcode + * + * \param byteCount number of bytes being read. Must not be 0. + * \return the result of read bytes as a byte (or number) array. + * \throw DeviceAPIError IO_ERROR if an error occurs during readBytes. + */ + ByteArray readBytes(in unsigned long byteCount) + raises(DeviceAPIError); + + /** + * \brief Reads the specified number of bytes from this FileStream, encoding + * the result in base64. + * + * If 0 is supplied it will read all available bytes in a + * single read operation. + * + * \code + * // reads up to 256 bytes from the stream + * var base64 = stream.readBase64(256); + * \endcode + * + * \param byteCount number of bytes being read. Must not be 0. + * \return the result of read bytes as base64 encoding string. + * \throw DeviceAPIError IO_ERROR if an error occurs during readBase64. + */ + DOMString readBase64(in unsigned long byteCount) + raises(DeviceAPIError); + + /** + * \brief Writes the specified DOMString to this FileStream. + * + * \code + * var text = "Hello world"; + * stream.write(text); + * \endcode + * + * \param stringData the actual string to be written. + * \throw DeviceAPIError IO_ERROR if an error occurs during write. + */ + void write(in DOMString stringData) + raises(DeviceAPIError); + + /** + * \brief Writes the specified bytes to this FileStream. + * + * \code + * var bytes = in.readBytes(256); + * out.writeBytes(bytes); // writes the bytes read from in to out + * \endcode + * + * \param byteData the byte data array being written. + * \throw DeviceAPIError IO_ERROR if an error occurs during writeBytes. + */ + void writeBytes(in ByteArray byteData) + raises(DeviceAPIError); + + /** + * \brief Converts the specified base64 DOMString to bytes and writes the + * result to this FileStream. + * + * \code + * var base64 = in.readBase64(256); + * out.writeBase64(base64); // writes the base64 data read from in to out + * \endcode + * + * \param base64Data the base64 data being written. + * \throw DeviceAPIError IO_ERROR if an error occurs during writeBase64. + */ + void writeBase64(in DOMString base64Data) + raises(DeviceAPIError); + }; + + /** + * \brief Specifies what is instantiated at feature request + * \def-instantiated + * \api-feature http://bondi.omtp.org/api/filesystem.read + * \api-feature http://bondi.omtp.org/api/filesystem.write + */ + interface FileSystemManagerObject { + readonly attribute FileSystemManager fileSystemManager; + }; + bondi implements FileSystemManagerObject; + +}; diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/spectowidl.xsl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/spectowidl.xsl new file mode 100644 index 00000000000..44252770940 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/spectowidl.xsl @@ -0,0 +1,27 @@ + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/widlhtml.css b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/widlhtml.css new file mode 100644 index 00000000000..8543097a3cc --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/examples/widlhtml.css @@ -0,0 +1,100 @@ +body { + padding: 2em; + margin: 0; + font-family: sans-serif; + color: black; + background: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; +} +:link { color: #00C; background: transparent } +:visited { color: #609; background: transparent } +a:active { color: #C00; background: transparent } +a:link img, a:visited img { border-style: none } /* no border on img links */ + +h1, h2, h3, h4, h5, h6 { text-align: left } +/* background should be transparent, but WebTV has a bug */ +h1, h2, h3 { color: #009393; background: white } +h1 { font: 170% sans-serif } +h2 { font: 140% sans-serif } +h3 { font: 120% sans-serif } +h4 { font: bold 100% sans-serif } +h5 { font: italic 100% sans-serif } +h6 { font: small-caps 100% sans-serif; margin-bottom: 0 } + +.hide { display: none } + +code { font-size: 120% } + +ul.toc, ol.toc, ul.authors { + list-style: none; +} + +.hide { display: none } + +div.head { margin-bottom: 1em } +div.head h1 { margin-top: 2em; clear: both } +div.head table { margin-left: 2em; margin-top: 2em } +div.constraint, div.issue, div.note, div.notice { margin-left: 2em; } +div.exampleInner pre { margin-left: 1em; margin-top: 0em; margin-bottom: 0em} +div.exampleOuter {border: 4px double gray; margin: 0em; padding: 0em} +div.exampleInner { background-color: #d5dee3; + border-top-width: 4px; + border-top-style: double; + border-top-color: #d3d3d3; + border-bottom-width: 4px; + border-bottom-style: double; + border-bottom-color: #d3d3d3; + padding: 4px; margin: 0em } +div.exampleWrapper { margin: 4px } +div.exampleHeader { font-weight: bold; margin: 4px} +div.term { font: 100% sans-serif; color:#000000; font-weight: bold; line-height: 60%} +div.list { font: 100% sans-serif; color:#000000; font-weight: normal; line-height: 60%} + +.optional {text-decoration: line-through; display: none;} + +.copyright,.legalnotice { font-size: small } +.copyright small { font-size: small } + +@media screen { /* hide from IE3 */ +a[href]:hover { background: #ffa } +} + +ol.enumar { list-style-type: decimal; } +ol.enumla { list-style-type: lower-alpha; } +ol.enumlr { list-style-type: lower-roman; } +ol.enumua { list-style-type: upper-alpha; } +ol.enumur { list-style-type: upper-roman; } + +/* BONDI additions */ + +.toc { + list-style-type: none; +} + +pre { + background-color:#D5DEE3; + overflow: auto; + padding: 1em; +} + +.examplecode { + background-color: #EEE; +} + +.def-api-feature-set dt, .def-api-feature dt, dt .def-device-cap, dt.const code { font: bold 100% sans-serif; } +dt.attribute code, dt.method code { font: italic 100% sans-serif; } + +.def-device-caps dd { margin-bottom: 2em } + +dt.method { margin-top: 2em } + +.summary td { + text-align: left; + background-color: #BBDDDD; + color: inherit; + font-family: monospace; + white-space:pre; + padding: .3em 1em .3em 1em; +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/comment.c b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/comment.c new file mode 100644 index 00000000000..622a7bea7b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/comment.c @@ -0,0 +1,1827 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#include +#include +#include + +#include "comment.h" +#include "entities.h" +#include "lex.h" +#include "misc.h" +#include "node.h" +#include "os.h" +#include "process.h" + +/* struct cnode : a node in the comment parse tree */ +struct cnode { + struct cnode *next; + struct cnode *children; + struct cnode *parent; + const struct cnodefuncs *funcs; + const char *attrtext; + const char *filename; + unsigned int linenum; +}; + +struct cnodefuncs { + int indesc; /* non-zero if it outputs its own xml element that does + not want to be inside */ + int needpara; /* non-zero if text must be in a para node that is a child + of this one */ + int (*askend)(struct cnode *cnode, const struct cnodefuncs *type); + void (*end)(struct cnode *cnode); + void (*output)(struct cnode *cnode, unsigned int indent); +}; + +struct paramcnode { + struct cnode cn; + int inout; + char name[1]; +}; + +/* struct comment : a doxygen comment */ +struct comment { + struct comment *next; + struct node *node; + unsigned int type; + const char *filename; + unsigned int linenum; + struct cnode root; + int back; /* Whether the comment refers back rather than forward. */ + char *text; +}; + + +static struct node *lastidentifier; +static struct comment *comments; +static int incode, inhtmlblock; +static struct comment *curcomment; + +/*********************************************************************** + * htmleldescs : table of recnogized HTML elements + */ +#define HTMLEL_EMPTY 1 +#define HTMLEL_INLINE 2 +#define HTMLEL_BLOCK 4 +#define HTMLEL_AUTOCLOSE 8 +#define HTMLEL_LI 0x10 +#define HTMLEL_DLCONTENTS 0x20 +#define HTMLEL_TABLECONTENTS 0x40 +#define HTMLEL_TRCONTENTS 0x80 + +#define HTMLEL_FLOW (HTMLEL_BLOCK | HTMLEL_INLINE) + +struct htmleldesc { + unsigned int namelen; + const char *name; + unsigned int flags; + unsigned int content; +}; + +static const struct htmleldesc htmleldescs[] = { + { 1, "a", HTMLEL_INLINE, 0 }, + { 1, "b", HTMLEL_INLINE, 0 }, + { 2, "br", HTMLEL_INLINE, HTMLEL_EMPTY }, + { 3, "img", HTMLEL_INLINE, HTMLEL_EMPTY }, + { 2, "dd", HTMLEL_DLCONTENTS, HTMLEL_FLOW }, + { 2, "dl", HTMLEL_BLOCK, HTMLEL_DLCONTENTS }, + { 2, "dt", HTMLEL_DLCONTENTS, HTMLEL_INLINE }, + { 2, "em", HTMLEL_INLINE, 0 }, + { 2, "li", HTMLEL_LI, HTMLEL_FLOW }, + { 2, "ol", HTMLEL_BLOCK, HTMLEL_LI }, + { 1, "p", HTMLEL_BLOCK, HTMLEL_INLINE }, + { 2, "td", HTMLEL_TRCONTENTS | HTMLEL_AUTOCLOSE, HTMLEL_FLOW }, + { 2, "th", HTMLEL_TRCONTENTS | HTMLEL_AUTOCLOSE, HTMLEL_FLOW }, + { 2, "tr", HTMLEL_TABLECONTENTS | HTMLEL_AUTOCLOSE, HTMLEL_TRCONTENTS }, + { 5, "table", HTMLEL_BLOCK, HTMLEL_TABLECONTENTS }, + { 2, "ul", HTMLEL_BLOCK, HTMLEL_LI }, + { 0, 0, 0, 0 } +}; +#define HTMLELDESC_B (htmleldescs + 1) +#define HTMLELDESC_BR (htmleldescs + 2) + +/*********************************************************************** + * addcomment : add a comment to the list of comments if it has doxygen syntax + * + * Enter: tok struct + */ +void +addcomment(struct tok *tok) +{ + if (tok->len >= 1 && (tok->start[0] == '!' + || (tok->type == TOK_BLOCKCOMMENT && tok->start[0] == '*') + || (tok->type == TOK_INLINECOMMENT && tok->start[0] == '/'))) + { + struct comment *comment; + comment = memalloc(sizeof(struct comment)); + comment->text = memalloc(tok->len + 1); + memcpy(comment->text, tok->start, tok->len); + comment->text[tok->len] = 0; + comment->type = tok->type; + comment->filename = tok->filename; + comment->linenum = tok->linenum; + comment->node = 0; + comment->back = 0; + if (comment->text[1] == '<') { + comment->back = 1; + if (!lastidentifier) { + locerrorexit(comment->filename, comment->linenum, + "no identifier to attach doxygen comment to"); + } + comment->node = lastidentifier; + } + comment->next = comments; + comments = comment; + } +} + +/*********************************************************************** + * setcommentnode : set parse node to attach comments to + * + * Enter: node2 = parse node for identifier + */ +void +setcommentnode(struct node *node2) +{ + struct comment *comment = comments; + while (comment && !comment->node) { + comment->node = node2; + comment = comment->next; + } + lastidentifier = node2; +} + +/*********************************************************************** + * joininlinecomments : join adjacent inline comments + * + * Enter: comment = list of comment structs + * + * Return: new list of comment structs + * + * This function also discards any single inline comment that does not + * refer back. + */ +static struct comment * +joininlinecomments(struct comment *comments) +{ + struct comment **pcomment; + pcomment = &comments; + for (;;) { + struct comment *comment; + comment = *pcomment; + if (!comment) + break; + if (comment->type != TOK_INLINECOMMENT) { + /* Keep block comment as is. */ + pcomment = &comment->next; + } else if (!comment->back && (!comment->next + || comment->next->type != TOK_INLINECOMMENT + || comment->next->filename != comment->filename + || comment->next->linenum != comment->linenum + 1)) + { + /* Discard single // comment that does not refer back. */ + *pcomment = comment->next; + + } else { + /* Find sequence of adjacent // comments (adjacent lines, + * referring to same node) and join them. We do this in two + * passes, one to count the length of the comment and one + * to join. Note that the list is still in reverse order, + * so we expect the line number to decrease by 1 each time. */ + struct comment *newcomment = 0, *comment2; + const char *filename = comment->filename; + unsigned int linenum = comment->linenum; + for (;;) { + char *wp = newcomment->text; + comment2 = comment; + do { + unsigned int len = strlen(comment2->text); + if (newcomment) + memcpy(wp, comment2->text, len); + wp += len; + linenum--; + comment2 = comment2->next; + } while (comment2 && comment2->filename == filename + && comment2->linenum == linenum + && comment2->node == comment->node); + /* Finished a pass. */ + if (newcomment) { + *wp = 0; + break; + } + newcomment = memalloc(sizeof(struct comment) + + wp - newcomment->text); + newcomment->node = comment->node; + newcomment->type = comment->type; + newcomment->filename = filename; + newcomment->linenum = linenum + 1; + } + /* Replace the scanned comment struct with newcomment in the + * list. */ + newcomment->next = comment2; + *pcomment = newcomment; + pcomment = &newcomment->next; + } + } + return comments; +} + +/*********************************************************************** + * outputchildren : call output recursively on children of cnode + * + * Enter: cnode + * indent = indent (nesting) level of parent + * indesc = whether already in or other top-level + * descriptive element + */ +static void +outputchildren(struct cnode *cnode, unsigned int indent, int indesc) +{ + int curindesc = indesc; + cnode = cnode->children; + while (cnode) { + if (curindesc != cnode->funcs->indesc) { + assert(!indesc); + printf("%*s<%sdescription>\n", indent + 1, "", curindesc ? "/" : ""); + curindesc = !curindesc; + } + (*cnode->funcs->output)(cnode, indent + 2); + cnode = cnode->next; + } + if (curindesc != indesc) + printf("%*s<%sdescription>\n", indent + 1, "", curindesc ? "/" : ""); +} + +/*********************************************************************** + * default_askend : ask node if it wants to end at a para start (default + * implementation) + * + * Enter: cnode + * type = 0 else cnodefuncs for newly starting para + * + * Return: non-zero if this node wants to end + */ +static int +default_askend(struct cnode *cnode, const struct cnodefuncs *type) +{ + return 1; +} + +/*********************************************************************** + * root_askend : ask root node if it wants to end at a para start + * + * Enter: cnode for root + * type = 0 else cnodefuncs for newly starting para + * + * Return: non-zero if this node wants to end + */ +static int +root_askend(struct cnode *cnode, const struct cnodefuncs *type) +{ + return 0; +} + +/*********************************************************************** + * root_output : output root cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +root_output(struct cnode *cnode, unsigned int indent) +{ + outputchildren(cnode, indent, 0); +} + +/*********************************************************************** + * cnode type root + */ +static const struct cnodefuncs root_funcs = { + 0, /* !indesc */ + 1, /* needpara */ + &root_askend, + 0, /* end */ + &root_output, +}; + +/*********************************************************************** + * endcnode : end current cnode + * + * Enter: cnode = current cnode + * + * Return: cnode = new current code (parent of old one) + */ +static struct cnode * +endcnode(struct cnode *cnode) +{ + if (cnode->funcs->end) + (*cnode->funcs->end)(cnode); + /* Reverse the children list. */ + { + struct cnode *child = cnode->children; + cnode->children = 0; + while (child) { + struct cnode *next = child->next; + child->next = cnode->children; + cnode->children = child; + child = next; + } + } + return cnode->parent; +} + +/*********************************************************************** + * endspecificcnode : end a specific type of cnode + * + * Enter: cnode = current cnode + * type = type of node to end + * filename, linenum = filename and line number (for error reporting) + * + * Return: new current cnode + */ +static struct cnode * +endspecificcnode(struct cnode *cnode, const struct cnodefuncs *type, + const char *filename, unsigned int linenum) +{ + while (cnode->funcs != type) { + if (cnode->funcs == &root_funcs) + locerrorexit(filename, linenum, "unmatched \\endcode"); + cnode = endcnode(cnode); + } + return cnode; +} + +/*********************************************************************** + * startcnode : start a newly created cnode + * + * Enter: cnode = current cnode + * newcnode = new cnode to start + * + * Return: new current cnode (which is the same as newcnode) + */ +static struct cnode * +startcnode(struct cnode *cnode, struct cnode *newcnode) +{ + newcnode->parent = cnode; + newcnode->next = cnode->children; + cnode->children = newcnode; + return newcnode; +} + +/*********************************************************************** + * para_output : output para cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +para_output(struct cnode *cnode, unsigned int indent) +{ + printf("%*s

                                                                                                                                                                                                                                                                                        \n", indent, ""); + outputchildren(cnode, indent, 1); + printf("%*s

                                                                                                                                                                                                                                                                                        \n", indent, ""); +} + +/*********************************************************************** + * para_end : end a para cnode + * + * Enter: cnode struct + */ +static void +para_end(struct cnode *cnode) +{ + /* If the para cnode is empty, remove it. */ + if (!cnode->children) + cnode->parent->children = cnode->next; +} + +/*********************************************************************** + * cnode type para + */ +static const struct cnodefuncs para_funcs = { + 1, /* indesc */ + 0, /* !needpara */ + &default_askend, + ¶_end, /* end */ + ¶_output, +}; + +/*********************************************************************** + * brief_output : output brief cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +brief_output(struct cnode *cnode, unsigned int indent) +{ + printf("%*s\n", indent, ""); + outputchildren(cnode, indent, 1); + printf("%*s\n", indent, ""); +} + +/*********************************************************************** + * cnode type brief + */ +static const struct cnodefuncs brief_funcs = { + 0, /* !indesc */ + 0, /* !needpara */ + &default_askend, + 0, /* end */ + &brief_output, +}; + +/*********************************************************************** + * return_output : output return cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +return_output(struct cnode *cnode, unsigned int indent) +{ + printf("%*s

                                                                                                                                                                                                                                                                                        \n", indent, ""); + outputchildren(cnode, indent, 1); + printf("%*s

                                                                                                                                                                                                                                                                                        \n", indent, ""); +} + +/*********************************************************************** + * cnode type return + */ +static const struct cnodefuncs return_funcs = { + 0, /* !indesc */ + 0, /* !needpara */ + &default_askend, + 0, /* end */ + &return_output, +}; + +/*********************************************************************** + * author_output : output name cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +name_output(struct cnode *cnode, unsigned int indent) +{ + printf("%*s\n", indent, ""); + outputchildren(cnode, indent, 1); + printf("%*s\n", indent, ""); +} + +/*********************************************************************** + * cnode type name + */ +static const struct cnodefuncs name_funcs = { + 0, /* !indesc */ + 0, /* !needpara */ + &default_askend, + 0, /* end */ + &name_output, +}; + +/*********************************************************************** + * author_output : output author cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +author_output(struct cnode *cnode, unsigned int indent) +{ + printf("%*s\n", indent, ""); + outputchildren(cnode, indent, 1); + printf("%*s\n", indent, ""); +} + +/*********************************************************************** + * cnode type author + */ +static const struct cnodefuncs author_funcs = { + 0, /* !indesc */ + 0, /* !needpara */ + &default_askend, + 0, /* end */ + &author_output, +}; + +/*********************************************************************** + * version_output : output version cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +version_output(struct cnode *cnode, unsigned int indent) +{ + printf("%*s\n", indent, ""); + outputchildren(cnode, indent, 1); + printf("%*s\n", indent, ""); +} + +/*********************************************************************** + * cnode type version + */ +static const struct cnodefuncs version_funcs = { + 0, /* !indesc */ + 0, /* !needpara */ + &default_askend, + 0, /* end */ + &version_output, +}; + +/*********************************************************************** + * cnode type code + */ +/*********************************************************************** + * code_end : end a code cnode + * + * Enter: cnode struct + */ +static void +code_end(struct cnode *cnode) +{ + if (incode) { + /* The incode flag has not been cleared, so this code cnode is + * being ended implicitly. We complain about that. */ + locerrorexit(cnode->filename, cnode->linenum, "mismatched \\code"); + } +} + +/*********************************************************************** + * code_output : output code cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +code_output(struct cnode *cnode, unsigned int indent) +{ + /* Note capitalization to differentiate it from HTML code element. */ + if(cnode->attrtext) + printf("%*s", indent, "", cnode->attrtext); + else + printf("%*s", indent, ""); + outputchildren(cnode, indent, 1); + printf("\n"); +} + +static const struct cnodefuncs code_funcs = { + 0, /* indesc */ + 0, /* !needpara */ + &default_askend, + &code_end, /* end */ + &code_output, +}; + +/*********************************************************************** + * startpara : start a new para cnode in the parse tree + * + * Enter: cnode = current cnode + * type = vtable for particular type of cnode + * + * Return: new current cnode + */ +static struct cnode * +startpara(struct cnode *cnode, const struct cnodefuncs *type) +{ + struct cnode *newcnode; + while ((*cnode->funcs->askend)(cnode, type)) + cnode = endcnode(cnode); + newcnode = memalloc(sizeof(struct cnode)); + newcnode->funcs = type; + return startcnode(cnode, newcnode); +} + +/*********************************************************************** + * cnode type text + */ +struct textcnode { + struct cnode cn; + unsigned char *data; + unsigned int len; + unsigned int max; +}; + +/*********************************************************************** + * text_end : end a text cnode + * + * Enter: cnode struct + */ +static void +text_end(struct cnode *cnode) +{ + struct textcnode *textcnode = (void *)cnode; + textcnode->data[textcnode->len] = 0; + textcnode->max = textcnode->len + 1; + textcnode->data = memrealloc(textcnode->data, textcnode->max); +} + +/*********************************************************************** + * text_output : output text cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +text_output(struct cnode *cnode, unsigned int indent) +{ + /* We do not indent, in case this is inside a code cnode. */ + struct textcnode *textcnode = (void *)cnode; + unsigned int len = textcnode->len; + unsigned const char *p = textcnode->data; + while (len) { + unsigned int thislen; + const char *thisptr; + thislen = p[0]; + /* (void *) cast is to avoid a warning from the MS compiler. + * I think the warning is wrong, but I could be wrong. */ + memcpy((void *)&thisptr, p + 1, sizeof(void *)); + p += 1 + sizeof(void *); + len -= 1 + sizeof(void *); + printtext(thisptr, thislen, 0); + } +} + +static const struct cnodefuncs text_funcs = { + 1, /* !indesc */ + 0, /* !needpara */ + &default_askend, + &text_end, /* end */ + &text_output, +}; + +/*********************************************************************** + * cnode type html (HTML element) + */ +struct htmlcnode { + struct cnode cn; + const struct htmleldesc *desc; + char attrs[1]; +}; + +/*********************************************************************** + * html_end : end an html cnode + * + * Enter: cnode struct + */ +static void +html_end(struct cnode *cnode) +{ + if (((struct htmlcnode *)cnode)->desc->flags & HTMLEL_BLOCK) + inhtmlblock--; +} + +/*********************************************************************** + * html_output : output html cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +html_output(struct cnode *cnode, unsigned int indent) +{ + struct htmlcnode *htmlcnode = (void *)cnode; + if (!(htmlcnode->desc->flags & HTMLEL_INLINE)) + printf("%*s", indent, ""); + if (htmlcnode->cn.children) { + printf("<%s%s>", htmlcnode->desc->name, htmlcnode->attrs); + if (!(htmlcnode->desc->flags & HTMLEL_INLINE)) + putchar('\n'); + outputchildren(&htmlcnode->cn, indent, 1); + if (!(htmlcnode->desc->flags & HTMLEL_INLINE)) + printf("%*s", indent, ""); + printf("", htmlcnode->desc->name); + } else + printf("<%s%s/>", htmlcnode->desc->name, htmlcnode->attrs); + if (!(htmlcnode->desc->flags & HTMLEL_INLINE)) + putchar('\n'); +} + +static const struct cnodefuncs html_funcs = { + 1, /* indesc */ + 0, /* !needpara */ + &default_askend, + &html_end, /* end */ + &html_output, +}; + +/*********************************************************************** + * starthtmlcnode : start a new html cnode + * + * Enter: cnode = current cnode + * htmleldesc = html element descriptor + * attrs = attributes text + * attrslen = length of attributes text + * filename + * linenum = line number + * + * Return: new current cnode + */ +static struct cnode * +starthtmlcnode(struct cnode *cnode, const struct htmleldesc *htmleldesc, + const char *attrs, unsigned int attrslen, + const char *filename, unsigned int linenum) +{ + struct htmlcnode *htmlcnode; + /* First close enough elements to get to a content + * model that will accept this new element. */ + for (;;) { + if (cnode->funcs != &html_funcs) { + /* Not in any html element. We can accept any block element + * (in which case we need to close the current paragraph + * first) or any inline element (in which case we need to + * close the current text cnode first). */ + if (!(htmleldesc->flags & HTMLEL_INLINE)) { + if (!(htmleldesc->flags & HTMLEL_BLOCK)) + locerrorexit(filename, linenum, "<%s> not valid here", htmleldesc->name); + while ((*cnode->funcs->askend)(cnode, 0)) + cnode = endcnode(cnode); + } else { + while (cnode->funcs == &text_funcs) + cnode = endcnode(cnode); + } + break; + } + htmlcnode = (struct htmlcnode *)cnode; + if (!(htmleldesc->flags & htmlcnode->desc->content)) + locerrorexit(filename, linenum, "<%s> not valid here", htmleldesc->name); + break; + } + if (htmleldesc->flags & HTMLEL_BLOCK) + inhtmlblock++; + /* Create the new html cnode. */ + htmlcnode = memalloc(sizeof(struct htmlcnode) + attrslen); + htmlcnode->desc = htmleldesc; + htmlcnode->cn.funcs = &html_funcs; + htmlcnode->cn.filename = filename; + htmlcnode->cn.linenum = linenum; + memcpy(htmlcnode->attrs, attrs, attrslen); + htmlcnode->attrs[attrslen] = 0; + /* Start the html cnode. */ + cnode = startcnode(cnode, &htmlcnode->cn); + return cnode; +} + +/*********************************************************************** + * param_output : output param cnode + * + * Enter: cnode for param + * indent = indent (nesting) level + * + * This is only used for a \param inside a \def-device-cap. A normal + * \param that gets attached to a function argument gets changed to + * a \return so it does not use this output function. + */ +static void +param_output(struct cnode *cnode, unsigned int indent) +{ + struct paramcnode *paramcnode = (void *)cnode; + printf("%*s\n", indent, "", paramcnode->name); + outputchildren(¶mcnode->cn, indent, 1); + printf("%*s\n", indent, ""); +} + +/*********************************************************************** + * cnode type param + */ +static const struct cnodefuncs param_funcs = { + 0, /* !indesc */ + 0, /* !needpara */ + &default_askend, + 0, /* end */ + ¶m_output, +}; + +/*********************************************************************** + * cnode type throw + */ +static const struct cnodefuncs throw_funcs = { + 0, /* !indesc */ + 0, /* !needpara */ + &default_askend, + 0, /* end */ + &return_output, +}; + +/*********************************************************************** + * startparamcnode : start param (or throw) cnode + * + * Enter: cnode = current cnode + * word = name of param + * wordlen = length of name + * inout = bit 0 = in, bit 1 = out + * type = ¶m_funcs or &throw_funcs + * + * Return: new current cnode + */ +static struct cnode * +startparamcnode(struct cnode *cnode, const char *word, unsigned int wordlen, + int inout, const struct cnodefuncs *funcs) +{ + struct paramcnode *paramcnode; + paramcnode = memalloc(sizeof(struct paramcnode) + wordlen); + paramcnode->cn.funcs = funcs; + memcpy(paramcnode->name, word, wordlen); + paramcnode->name[wordlen] = 0; + paramcnode->inout = inout; + return startcnode(cnode, ¶mcnode->cn); +} + +/*********************************************************************** + * api_feature_output : output api-feature cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +api_feature_output(struct cnode *cnode, unsigned int indent) +{ + struct paramcnode *paramcnode = (void *)cnode; + printf("%*s\n", indent, "", paramcnode->name); + outputchildren(cnode, indent, 1); + printf("%*s\n", indent, ""); +} + +/*********************************************************************** + * cnode type api_feature + */ +static const struct cnodefuncs api_feature_funcs = { + 0, /* !indesc */ + 0, /* needpara */ + &default_askend, + 0, /* end */ + &api_feature_output, +}; + +/*********************************************************************** + * device_cap_output : output device-cap cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +device_cap_output(struct cnode *cnode, unsigned int indent) +{ + struct paramcnode *paramcnode = (void *)cnode; + printf("%*s\n", indent, "", paramcnode->name); + outputchildren(cnode, indent, 1); + printf("%*s\n", indent, ""); +} + +/*********************************************************************** + * cnode type device_cap + */ +static const struct cnodefuncs device_cap_funcs = { + 0, /* !indesc */ + 0, /* needpara */ + &default_askend, + 0, /* end */ + &device_cap_output, +}; + +/*********************************************************************** + * def_api_feature_askend : ask if def-api-feature cnode wants to end at new para + * + * Enter: cnode for def-api-feature + * type = cnodefuncs for new para (0 if html block element) + * + * Return: non-zero to end the def-api-feature + */ +static int +def_api_feature_askend(struct cnode *cnode, const struct cnodefuncs *type) +{ + /* A def-api-feature does not end at a plain para, an html block element, + * a brief para, or a device-cap. */ + if (!type || type == ¶_funcs || type == &device_cap_funcs || type == &brief_funcs) + return 0; + return 1; +} + +/*********************************************************************** + * def_api_feature_output : output def-api-feature cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +def_api_feature_output(struct cnode *cnode, unsigned int indent) +{ + struct paramcnode *paramcnode = (void *)cnode; + printf("%*s\n", indent, "", paramcnode->name); + printf("%*s\n", indent + 2, ""); + outputchildren(cnode, indent + 2, 0); + printf("%*s\n", indent + 2, ""); + printf("%*s\n", indent, ""); +} + +/*********************************************************************** + * cnode type def_api_feature + */ +static const struct cnodefuncs def_api_feature_funcs = { + 0, /* !indesc */ + 1, /* needpara */ + &def_api_feature_askend, + 0, /* end */ + &def_api_feature_output, +}; + +/*********************************************************************** + * def_api_feature_set_askend : ask if def-api-feature-set cnode wants to end at new para + * + * Enter: cnode for def-api-feature-set + * type = cnodefuncs for new para (0 if html block element) + * + * Return: non-zero to end the def-api-feature-set + */ +static int +def_api_feature_set_askend(struct cnode *cnode, const struct cnodefuncs *type) +{ + /* A def-api-feature-set does not end at a plain para, an html block element, + * a brief para, or an api-feature. */ + if (!type || type == ¶_funcs || type == &api_feature_funcs || type == &brief_funcs) + return 0; + return 1; +} + +/*********************************************************************** + * def_api_feature_set_output : output def-api-feature-set cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +def_api_feature_set_output(struct cnode *cnode, unsigned int indent) +{ + struct paramcnode *paramcnode = (void *)cnode; + printf("%*s\n", indent, "", paramcnode->name); + printf("%*s\n", indent + 2, ""); + outputchildren(cnode, indent + 2, 0); + printf("%*s\n", indent + 2, ""); + printf("%*s\n", indent, ""); +} + +/*********************************************************************** + * cnode type def_api_feature_set + */ +static const struct cnodefuncs def_api_feature_set_funcs = { + 0, /* !indesc */ + 1, /* needpara */ + &def_api_feature_set_askend, + 0, /* end */ + &def_api_feature_set_output, +}; + +/*********************************************************************** + * def_instantiated_askend : ask if def-instantiated cnode wants to end at new para + * + * Enter: cnode for def-instantiated + * type = cnodefuncs for new para (0 if html block element) + * + * Return: non-zero to end the def-instantiated + */ +static int +def_instantiated_askend(struct cnode *cnode, const struct cnodefuncs *type) +{ + /* A def-instantiated does not end at a plain para, an html block element, + * a brief para, or an api-feature. */ + if (!type || type == ¶_funcs || type == &api_feature_funcs || type == &brief_funcs) + return 0; + return 1; +} + +/*********************************************************************** + * def_instantiated_output : output def-instantiated cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +def_instantiated_output(struct cnode *cnode, unsigned int indent) +{ + printf("%*s\n", indent, ""); + printf("%*s\n", indent + 2, ""); + outputchildren(cnode, indent + 2, 0); + printf("%*s\n", indent + 2, ""); + printf("%*s\n", indent, ""); +} + +/*********************************************************************** + * cnode type def_instantiated + */ +static const struct cnodefuncs def_instantiated_funcs = { + 0, /* !indesc */ + 1, /* needpara */ + &def_instantiated_askend, + 0, /* end */ + &def_instantiated_output, +}; + +/*********************************************************************** + * def_device_cap_askend : ask if def-device-cap cnode wants to end at new para + * + * Enter: cnode for def-device-cap + * type = cnodefuncs for new para (0 if html block element) + * + * Return: non-zero to end the def-device-cap + */ +static int +def_device_cap_askend(struct cnode *cnode, const struct cnodefuncs *type) +{ + /* A def-device-cap does not end at a plain para, an html block element, + * a \brief para, or a param. */ + if (!type || type == ¶_funcs || type == ¶m_funcs || type == &brief_funcs) + return 0; + return 1; +} + +/*********************************************************************** + * def_device_cap_output : output def_device-cap cnode + * + * Enter: cnode for root + * indent = indent (nesting) level + */ +static void +def_device_cap_output(struct cnode *cnode, unsigned int indent) +{ + struct paramcnode *paramcnode = (void *)cnode; + printf("%*s\n", indent, "", paramcnode->name); + printf("%*s\n", indent + 2, ""); + outputchildren(cnode, indent + 2, 0); + printf("%*s\n", indent + 2, ""); + printf("%*s\n", indent, ""); +} + +/*********************************************************************** + * cnode type def_device_cap + */ +static const struct cnodefuncs def_device_cap_funcs = { + 0, /* !indesc */ + 1, /* needpara */ + &def_device_cap_askend, + 0, /* end */ + &def_device_cap_output, +}; + +/*********************************************************************** + * addtext : add text to current text node, starting one if necessary + * + * Enter: cnode = current cnode + * text + * len = length of text + * + * Return: new current cnode + */ +static struct cnode * +addtext(struct cnode *cnode, const char *text, unsigned int len) +{ + struct textcnode *textcnode; + if (!len) + return cnode; + if (cnode->funcs != &text_funcs) { + /* Start new text cnode. */ + textcnode = memalloc(sizeof(struct textcnode)); + textcnode->cn.funcs = &text_funcs; + cnode = startcnode(cnode, &textcnode->cn); + } + textcnode = (void *)cnode; + do { + unsigned char buf[1 + sizeof(void *)]; + unsigned int thislen = len; + if (thislen > 255) + thislen = 255; + /* Encode a record as a single byte length followed by a pointer. */ + buf[0] = thislen; + memcpy(buf + 1, &text, sizeof(void *)); + /* Add to the text cnode's data. */ + if (textcnode->len + sizeof(buf) >= textcnode->max) { + /* Need to reallocate (or allocate) data buffer. */ + textcnode->max = textcnode->max ? 2 * textcnode->max : 1024; + textcnode->data = memrealloc(textcnode->data, textcnode->max); + } + memcpy(textcnode->data + textcnode->len, buf, sizeof(buf)); + textcnode->len += sizeof(buf); + text += thislen; + len -= thislen; + } while (len); + return &textcnode->cn; +} + +/*********************************************************************** + * iswhitespace : determine if character is whitespace + * + * Enter: ch = character + * + * Return: 1 if whitespace + */ +static inline int +iswhitespace(int ch) +{ + unsigned int i = ch - 1; + if (i >= 32) + return 0; + return 0x80001100 >> i & 1; +} + +/*********************************************************************** + * parseword : parse the next word, ignoring leading whitespace + * + * Enter: *pp = text pointer + * + * Return: 0 else start of word (*pp updated to just beyond end) + */ +static const char * +parseword(const char **pp) +{ + const char *p = *pp, *word = 0; + int ch = *p; + while (iswhitespace(ch)) + ch = *++p; + word = p; + while ((unsigned)((ch & ~0x20) - 'A') <= 'Z' - 'A' + || (unsigned)(ch - '0') < 10 || ch == '_' || ch == '.' + || ch == ':' || ch == '/' || ch == '-') + { + ch = *++p; + } + if (p == word) + return 0; + *pp = p; + return word; +} + +/*********************************************************************** + * Doxygen command handlers + * + * Enter: p = text just after command + * *pcnode = pointer to current cnode struct + * type = 0 else cnodefuncs pointer for type of node to start + * filename, linenum = current filename and line number (for error reporting) + * + * Return: p = updated if extra text was eaten + * + * On return, *pnode is updated if any node was closed or opened. + */ + +/*********************************************************************** + * Doxygen command handler : \b + */ +static const char * +dox_b(const char *p, struct cnode **pcnode, const struct cnodefuncs *type, + const char *filename, unsigned int linenum, const char *cmdname) +{ + struct cnode *cnode = *pcnode; + const char *word = parseword(&p); + /* Silently ignore \b with no following word. */ + if (word) { + struct cnode *mycnode; + mycnode = cnode = starthtmlcnode(cnode, HTMLELDESC_B, 0, 0, filename, linenum); + cnode = addtext(cnode, word, p - word); + while (cnode != mycnode) + cnode = endcnode(cnode); + cnode = endcnode(cnode); + } + *pcnode = cnode; + return p; +} + +/*********************************************************************** + * Doxygen command handler : \n + */ +static const char * +dox_n(const char *p, struct cnode **pcnode, const struct cnodefuncs *type, + const char *filename, unsigned int linenum, const char *cmdname) +{ + struct cnode *cnode = *pcnode; + cnode = starthtmlcnode(cnode, HTMLELDESC_BR, 0, 0, filename, linenum); + cnode = endcnode(cnode); + *pcnode = cnode; + return p; +} + +/*********************************************************************** + * Doxygen command handler : \code + */ +static const char * +dox_code(const char *p, struct cnode **pcnode, const struct cnodefuncs *type, + const char *filename, unsigned int linenum, const char *cmdname) +{ + *pcnode = startpara(*pcnode, &code_funcs); + (*pcnode)->filename = filename; + (*pcnode)->linenum = linenum; /* for reporting mismatched \code error */ + incode = 1; + return p; +} + +/*********************************************************************** + * Doxygen command handler : \endcode + */ +static const char * +dox_endcode(const char *p, struct cnode **pcnode, const struct cnodefuncs *type, + const char *filename, unsigned int linenum, const char *cmdname) +{ + incode = 0; + *pcnode = endspecificcnode(*pcnode, &code_funcs, filename, linenum); + return p; +} + +/*********************************************************************** + * Doxygen command handler : \param + */ +static const char * +dox_param(const char *p, struct cnode **pcnode, const struct cnodefuncs *type, + const char *filename, unsigned int linenum, const char *cmdname) +{ + struct cnode *cnode = *pcnode; + unsigned int inout = 0; + const char *word; + /* Check for "in", "out" or both as attributes. */ + if (*p == '[') { + for (;;) { + p++; + if (!memcmp(p, "in", 2)) { + inout |= 1; + p += 2; + } else if (!memcmp(p, "out", 3)) { + inout |= 2; + p += 3; + } else + break; + if (*p != ',') + break; + } + if (*p != ']') + locerrorexit(filename, linenum, "bad attributes on \\param"); + p++; + } + /* Get the next word as the parameter name. */ + word = parseword(&p); + if (!word) + locerrorexit(filename, linenum, "expected word after \\param"); + /* Close any open nodes. */ + while ((*cnode->funcs->askend)(cnode, type)) + cnode = endcnode(cnode); + /* Create a new param cnode. */ + cnode = startparamcnode(cnode, word, p - word, inout, type); + cnode->filename = filename; + cnode->linenum = linenum; + *pcnode = cnode; + return p; +} + +/*********************************************************************** + * Doxygen command handler : \brief, \return + */ +static const char * +dox_para(const char *p, struct cnode **pcnode, const struct cnodefuncs *type, + const char *filename, unsigned int linenum, const char *cmdname) +{ + *pcnode = startpara(*pcnode, type); + return p; +} + +/*********************************************************************** + * Doxygen command handler : \throw + */ +static const char * +dox_throw(const char *p, struct cnode **pcnode, const struct cnodefuncs *type, + const char *filename, unsigned int linenum, const char *cmdname) +{ + struct cnode *cnode = *pcnode; + const char *word; + /* Get the next word as the exception name. */ + word = parseword(&p); + if (!word) + locerrorexit(filename, linenum, "expected word after \\throw"); + /* Close any open nodes. */ + while ((*cnode->funcs->askend)(cnode, type)) + cnode = endcnode(cnode); + /* Create a new throw cnode. */ + cnode = startparamcnode(cnode, word, p - word, 0, type); + cnode->filename = filename; + cnode->linenum = linenum; + *pcnode = cnode; + return p; +} + +/*********************************************************************** + * Doxygen command handler : \lang + */ +static const char * +dox_attr(const char *p, struct cnode **pcnode, const struct cnodefuncs *type, + const char *filename, unsigned int linenum, const char *cmdname) +{ + struct cnode *cnode = *pcnode; + const char *word; + int len, wordlen, offset = 0; + char *attrtext; + /* Get the next word as the attribute value. */ + word = parseword(&p); + if (!word) + locerrorexit(filename, linenum, "expected word after \\%s", cmdname); + + len = strlen(cmdname) + (wordlen = p-word) + 4; /* p="word"\0 */ + if(cnode->attrtext) + len += (offset = strlen(cnode->attrtext)) + 1; /* add space for space */ + attrtext = memalloc(len); + if(offset) { + memcpy(attrtext, cnode->attrtext, offset); + attrtext[offset++] = ' '; + memfree(((void*)cnode->attrtext)); + } + offset += sprintf(&attrtext[offset], "%s=\"", cmdname); + memcpy(&attrtext[offset], word, wordlen); + strcpy(&attrtext[offset + wordlen], "\""); + cnode->attrtext = attrtext; + /* skip delimiter because it won't be done otherwise */ + if(incode && iswhitespace(*p)) ++p; + return p; +} + +/*********************************************************************** + * commands : table of Doxygen commands + */ +struct command { + const char *(*func)(const char *p, struct cnode **pcnode, const struct cnodefuncs *type, const char *filename, unsigned int linenum, const char *cmdname); + const struct cnodefuncs *type; + unsigned int namelen; + const char *name; +}; +static const struct command commands[] = { + { &dox_throw, &def_api_feature_funcs, 15, "def-api-feature" }, + { &dox_throw, &def_api_feature_set_funcs, 19, "def-api-feature-set" }, + { &dox_para, &def_instantiated_funcs, 16, "def-instantiated" }, + { &dox_para, &name_funcs, 4, "name" }, + { &dox_para, &author_funcs, 6, "author" }, + { &dox_b, 0, 1, "b" }, + { &dox_para, &brief_funcs, 5, "brief" }, + { &dox_code, 0, 4, "code" }, + { &dox_throw, &def_device_cap_funcs, 14, "def-device-cap" }, + { &dox_attr, 0, 4, "lang" }, + { &dox_endcode, 0, 7, "endcode" }, + { &dox_n, 0, 1, "n" }, + { &dox_param, ¶m_funcs, 5, "param" }, + { &dox_para, &return_funcs, 6, "return" }, + { &dox_throw, &throw_funcs, 5, "throw" }, + { &dox_throw, &api_feature_funcs, 11, "api-feature" }, + { &dox_throw, &device_cap_funcs, 10, "device-cap" }, + { &dox_para, &version_funcs, 7, "version" }, + { 0, 0, 0 } +}; + +/*********************************************************************** + * parsehtmltag : parse html tag + * + * Enter: start = start of tag, the '<' char + * *pcnode = current cnode + * filename = filename + * *plinenum = current line number + * + * Return: just after the tag + * *pcnode and *plinenum updated if applicable + */ +static const char * +parsehtmltag(const char *start, struct cnode **pcnode, + const char *filename, unsigned int *plinenum) +{ + struct cnode *cnode = *pcnode; + const char *end = start + 1, *endname = 0, *name = end; + int ch = *end; + int quote = 0; + int close = 0; + unsigned int linenum = *plinenum; + const struct htmleldesc *htmleldesc; + if (ch == '/') { + close = 1; + ch = *++end; + name = end; + } + /* Find the end of the tag. */ + for (;;) { + if (!ch) + locerrorexit(filename, *plinenum, "unterminated HTML tag"); + if (ch == '\n') + linenum++; + else if (iswhitespace(ch) || ch == '/') { + if (!endname) + endname = end; + } else if (!quote) { + if (ch == '"' || ch == '\'') + quote = ch; + else if (ch == '>') + break; + } else { + if (ch == quote) + quote = 0; + } + ch = *++end; + } + if (!endname) + endname = end; + end++; + /* See if it's an xml open-close tag. */ + if (!close && endname != name && end[-2] == '/') + close = 2; + /* Find the tag from our list. */ + htmleldesc = htmleldescs; + for (;;) { + if (!htmleldesc->namelen) { + locerrorexit(filename, *plinenum, "unrecognized HTML tag %.*s", + end - start, start); + } + if (htmleldesc->namelen == endname - name + && !strncasecmp(htmleldesc->name, name, endname - name)) + { + break; + } + htmleldesc++; + } + if (close == 1) { + /* Closing tag. Find open element to close. */ + for (;;) { + struct htmlcnode *htmlcnode; + if (cnode->funcs != &text_funcs) { + if (cnode->funcs != &html_funcs) { + locerrorexit(filename, *plinenum, "mismatched %.*s", + end - start, start); + } + htmlcnode = (struct htmlcnode *)cnode; + if (htmlcnode->desc == htmleldesc) + break; + if (!(htmlcnode->desc->flags & HTMLEL_AUTOCLOSE)) { + locerrorexit(filename, htmlcnode->cn.linenum, + "mismatched <%.*s>", + htmlcnode->desc->namelen, htmlcnode->desc->name); + } + } + cnode = endcnode(cnode); + } + cnode = endcnode(cnode); + } else { + /* Opening tag. */ + if (close !=2) + cnode = starthtmlcnode(cnode, htmleldesc, endname, end - 1 - endname, filename, *plinenum); + else // don't include the closing "/" in the attributes list + cnode = starthtmlcnode(cnode, htmleldesc, endname, end - 2 - endname, filename, *plinenum); + if (close == 2 || (htmleldesc->content & HTMLEL_EMPTY)) { + /* Empty element -- close it again. */ + cnode = endcnode(cnode); + } + } + *pcnode = cnode; + *plinenum = linenum; + return end; +} + +/*********************************************************************** + * parsecomment : parse one comment + * + * Enter: comment struct + */ +static void +parsecomment(struct comment *comment) +{ + struct cnode *cnode = &comment->root; + const char *p = comment->text + comment->back; + unsigned int linenum = comment->linenum - 1; + int ch; + curcomment = comment; + incode = 0; + inhtmlblock = 0; + cnode->funcs = &root_funcs; + for (;;) { + /* Start of new line. */ + const char *starttext; + ch = *p; + linenum++; + { + /* Find first non-whitespace character. */ + const char *p2 = p; + int ch2 = ch; + while (iswhitespace(ch2)) + ch2 = *++p2; + if (comment->type == TOK_BLOCKCOMMENT && ch2 == '*') { + /* Ignore initial * in block comment (even in \code block). */ + ch2 = *++p2; + ch = ch2; + p = p2; + if (ch == '*') + goto checkforlineofstars; + while (iswhitespace(ch2)) + ch2 = *++p2; + } + if (comment->type == TOK_INLINECOMMENT && ch2 == '/') { +checkforlineofstars: + if (!incode) { + /* Ignore whole line of * for block comment or / for inline + * comment if that is the only thing on the line. */ + const char *p3 = p2; + int ch3; + do ch3 = *++p3; while (ch3 == ch2); + while (iswhitespace(ch3)) ch3 = *++p3; + if (!ch3 || ch3 == '\n') { + /* Reached end of line (or whole comment) -- treat as + * empty line. */ + ch2 = ch3; + p2 = p3; + } + } + } + if (!incode) { + /* Only allow whitespace omission above to take effect if + * not in \code block. */ + ch = ch2; + p = p2; + } + } + if (!ch) { + /* End of comments -- finish. */ + break; + } + if (!incode && !inhtmlblock && ch == '\n') { + /* Blank line -- finish any para, but only if not in code and + * not in any HTML block element. */ + while ((*cnode->funcs->askend)(cnode, 0)) + cnode = endcnode(cnode); + p++; + continue; + } + /* Start new para if there isn't already one going. */ + if (cnode->funcs->needpara) + cnode = startpara(cnode, ¶_funcs); + /* Process text on the line. */ + starttext = p; + while (ch && ch != '\n') { + if (ch != '\\' && ch != '<' /* && ch != '@' */ && ch != '$' + && ch != '&' && ch != '\r') + { + ch = *++p; + continue; + } + /* Output any pending text. */ + if (p - starttext) + cnode = addtext(cnode, starttext, p - starttext); + /* Ignore \r in DOS line returns */ + if (ch == '\r') { + ch = *++p; + starttext = p; + continue; + } + if (ch == '$') + locerrorexit(comment->filename, linenum, "use \\$ instead of $"); + /* See if it is an html named entity. */ + if (ch == '&' && p[1] != '#') { + const char *entity = ENTITIES; + /* This search could be faster if the entity names were put + * in a hash table or something. */ + const char *semicolon = strchr(p, ';'); + unsigned int len; + if (!semicolon) + locerrorexit(comment->filename, linenum, "unterminated HTML entity"); + p++; + for (;;) { + len = strlen(entity); + if (!len) + locerrorexit(comment->filename, linenum, "unrecognised HTML entity &%.*s;", semicolon - p, p); + if (len == semicolon - p && !memcmp(p, entity, len)) + break; + entity += len + 1; + entity += strlen(entity) + 1; + } + entity += len + 1; + cnode = addtext(cnode, entity, strlen(entity)); + p = semicolon + 1; + ch = *p; + starttext = p; + continue; + } + /* See if it is a backslash escape sequence. */ + else if (ch == '\\') { + const char *match = "\\@&$#<>%"; + const char *pos; + ch = p[1]; + pos = strchr(match, ch); + if (pos) { + /* Got a \ escape sequence. */ + const char *text = + "\\\0 @\0 &\0$\0 #\0 <\0 >\0 %" + + 6 * (pos - match); + cnode = addtext(cnode, text, strlen(text)); + p += 2; + ch = *p; + starttext = p; + continue; + } + } else if (ch == '<') { + if (incode) { + ch = *++p; + starttext = p; + continue; + } + /* It's an html tag. */ + p = parsehtmltag(p, &cnode, comment->filename, &linenum); + ch = *p; + starttext = p; + continue; + } + { + /* Got a doxygen command. First work out its length. */ + const char *start = ++p; + unsigned int cmdlen; + const struct command *command; + ch = *p; + while ((unsigned)((ch & ~0x20) - 'A') <= 'Z' - 'A' + || (unsigned)(ch - '0') < 10 || ch == '_' || ch == '-') + { + ch = *++p; + } + cmdlen = p - start; + if (!cmdlen) + locerrorexit(comment->filename, linenum, "\\ or @ without Doxygen command"); + /* Look it up in the table. */ + command = commands; + for (;;) { + if (!command->namelen) { + locerrorexit(comment->filename, linenum, "unrecognized Doxygen command '%.*s'", + cmdlen + 1, start - 1); + } + if (command->namelen == cmdlen + && !memcmp(command->name, start, cmdlen)) + { + break; + } + command++; + } + p = (*command->func)(p, &cnode, command->type, + comment->filename, linenum, command->name); + ch = *p; + starttext = p; + } + } + if (p - starttext) { + /* Start new para if there isn't already one going. */ + if (cnode->funcs->needpara) + cnode = startpara(cnode, ¶_funcs); + cnode = addtext(cnode, starttext, p - starttext); + } + if (!ch) + break; + if (cnode->funcs == &text_funcs) + addtext(cnode, "\n", 1); + p++; + } + /* Finish the root cnode. */ + do + cnode = endcnode(cnode); + while (cnode); + assert(!incode); + assert(!inhtmlblock); +} + +/*********************************************************************** + * parsecomments : parse comments + * + * Enter: comment = first comment in list + */ +static void +parsecomments(struct comment *comment) +{ + while (comment) { + parsecomment(comment); + comment = comment->next; + } +} + +/*********************************************************************** + * attachcommenttonode : attach comment struct to node + * + * Enter: node = parse node for identifier + * comment = comment struct + */ +static void +attachcommenttonode(struct node *node, struct comment *comment) +{ + comment->next = node->comments; + node->comments = comment; +} + +/*********************************************************************** + * attachcomments : attach comments to applicable parse nodes + * + * Enter: comment = first in (reversed) list of comment structs + * root = root parse node (for attaching \file comment blocks to) + */ +static void +attachcomments(struct comment *comment, struct node *root) +{ + while (comment) { + struct comment *next = comment->next; + /* See if there are any \param, \return, \throw, \def-api-feature or + * \def-device-cap cnodes to detach and attach + * elsewhere. (This only looks at top-level nodes, direct children + * of the root, so does not detach a \param inside a + * \def-device-cap.) */ + struct cnode **pcnode = &comment->root.children; + for (;;) { + struct cnode *cnode = *pcnode; + if (!cnode) + break; + if (cnode->funcs == ¶m_funcs || cnode->funcs == &return_funcs + || cnode->funcs == &throw_funcs) + { + /* Found a \param or \return or \throw to detach. Find the + * parameter/exception of the same name, or the return type. */ + struct node *node; + struct comment *newcomment; + if (cnode->funcs == ¶m_funcs) { + node = findparamidentifier(comment->node, + ((struct paramcnode *)cnode)->name); + if (!node) + locerrorexit(comment->filename, cnode->linenum, "no parameter '%s' found", ((struct paramcnode *)cnode)->name); + } else if (cnode->funcs == &return_funcs) { + node = findreturntype(comment->node); + if (!node) + locerrorexit(comment->filename, cnode->linenum, "no return type found"); + } else { + node = findthrowidentifier(comment->node, + ((struct paramcnode *)cnode)->name); + if (!node) + locerrorexit(comment->filename, cnode->linenum, "no exception '%s' found", ((struct paramcnode *)cnode)->name); + } + /* Detach the cnode from its old comment. */ + *pcnode = cnode->next; + /* Create a new comment struct to contain this cnode. */ + newcomment = memalloc(sizeof(struct comment)); + newcomment->root.funcs = &root_funcs; + newcomment->linenum = cnode->linenum; + /* Attach the cnode. */ + newcomment->root.children = cnode; + cnode->parent = &newcomment->root; + cnode->next = 0; + /* Make the cnode a \return one, just so even a \param + * uses return_output. */ + cnode->funcs = &return_funcs; + /* Attach the new comment struct to the parse node. */ + attachcommenttonode(node, newcomment); + } else { + pcnode = &cnode->next; + } + } + /* Now attach the comment to its identifier parse node. */ + { + struct node *node = comment->node; + if (!node) + node = root; + attachcommenttonode(node, comment); + } + comment = next; + } +} + +/*********************************************************************** + * processcomments : join, parse and attach comments + * + * Enter: root = root parse node + */ +void +processcomments(struct node *root) +{ + comments = joininlinecomments(comments); + parsecomments(comments); + attachcomments(comments, root); +} + +/*********************************************************************** + * outputdescriptive : output descriptive elements for a node + * + * Enter: node = identifier node that might have some comments + * indent = indent (nesting) level + */ +void +outputdescriptive(struct node *node, unsigned int indent) +{ + struct comment *comment = node->comments; + int indescriptive = 0; + while (comment) { + struct cnode *root = &comment->root; + if (!indescriptive) + printf("%*s\n", indent, ""); + indescriptive = 1; + (*root->funcs->output)(root, indent + 2); + comment = comment->next; + } + if (indescriptive) + printf("%*s\n", indent, ""); +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/comment.h b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/comment.h new file mode 100644 index 00000000000..96d18e2cc8a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/comment.h @@ -0,0 +1,25 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#ifndef comment_h +#define comment_h + +struct tok; +struct node; + +void addcomment(struct tok *tok); +void setcommentnode(struct node *node2); +void processcomments(struct node *root); +void outputdescriptive(struct node *node, unsigned int indent); + +#endif /* ndef comment_h */ diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/entities.h b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/entities.h new file mode 100644 index 00000000000..ff74c1cb3b2 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/entities.h @@ -0,0 +1,271 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#ifndef entities_h +#define entities_h + +#define ENTITIES \ +"nbsp\0 \0" \ +"iexcl\0¡\0" \ +"cent\0¢\0" \ +"pound\0£\0" \ +"curren\0¤\0" \ +"yen\0¥\0" \ +"brvbar\0¦\0" \ +"sect\0§\0" \ +"uml\0¨\0" \ +"copy\0©\0" \ +"ordf\0ª\0" \ +"laquo\0«\0" \ +"not\0¬\0" \ +"shy\0­\0" \ +"reg\0®\0" \ +"macr\0¯\0" \ +"deg\0°\0" \ +"plusmn\0±\0" \ +"sup2\0²\0" \ +"sup3\0³\0" \ +"acute\0´\0" \ +"micro\0µ\0" \ +"para\0¶\0" \ +"middot\0·\0" \ +"cedil\0¸\0" \ +"sup1\0¹\0" \ +"ordm\0º\0" \ +"raquo\0»\0" \ +"frac14\0¼\0" \ +"frac12\0½\0" \ +"frac34\0¾\0" \ +"iquest\0¿\0" \ +"Agrave\0À\0" \ +"Aacute\0Á\0" \ +"Acirc\0Â\0" \ +"Atilde\0Ã\0" \ +"Auml\0Ä\0" \ +"Aring\0Å\0" \ +"AElig\0Æ\0" \ +"Ccedil\0Ç\0" \ +"Egrave\0È\0" \ +"Eacute\0É\0" \ +"Ecirc\0Ê\0" \ +"Euml\0Ë\0" \ +"Igrave\0Ì\0" \ +"Iacute\0Í\0" \ +"Icirc\0Î\0" \ +"Iuml\0Ï\0" \ +"ETH\0Ð\0" \ +"Ntilde\0Ñ\0" \ +"Ograve\0Ò\0" \ +"Oacute\0Ó\0" \ +"Ocirc\0Ô\0" \ +"Otilde\0Õ\0" \ +"Ouml\0Ö\0" \ +"times\0×\0" \ +"Oslash\0Ø\0" \ +"Ugrave\0Ù\0" \ +"Uacute\0Ú\0" \ +"Ucirc\0Û\0" \ +"Uuml\0Ü\0" \ +"Yacute\0Ý\0" \ +"THORN\0Þ\0" \ +"szlig\0ß\0" \ +"agrave\0à\0" \ +"aacute\0á\0" \ +"acirc\0â\0" \ +"atilde\0ã\0" \ +"auml\0ä\0" \ +"aring\0å\0" \ +"aelig\0æ\0" \ +"ccedil\0ç\0" \ +"egrave\0è\0" \ +"eacute\0é\0" \ +"ecirc\0ê\0" \ +"euml\0ë\0" \ +"igrave\0ì\0" \ +"iacute\0í\0" \ +"icirc\0î\0" \ +"iuml\0ï\0" \ +"eth\0ð\0" \ +"ntilde\0ñ\0" \ +"ograve\0ò\0" \ +"oacute\0ó\0" \ +"ocirc\0ô\0" \ +"otilde\0õ\0" \ +"ouml\0ö\0" \ +"divide\0÷\0" \ +"oslash\0ø\0" \ +"ugrave\0ù\0" \ +"uacute\0ú\0" \ +"ucirc\0û\0" \ +"uuml\0ü\0" \ +"yacute\0ý\0" \ +"thorn\0þ\0" \ +"yuml\0ÿ\0" \ +"fnof\0ƒ\0" \ +"Alpha\0Α\0" \ +"Beta\0Β\0" \ +"Gamma\0Γ\0" \ +"Delta\0Δ\0" \ +"Epsilon\0Ε\0" \ +"Zeta\0Ζ\0" \ +"Eta\0Η\0" \ +"Theta\0Θ\0" \ +"Iota\0Ι\0" \ +"Kappa\0Κ\0" \ +"Lambda\0Λ\0" \ +"Mu\0Μ\0" \ +"Nu\0Ν\0" \ +"Xi\0Ξ\0" \ +"Omicron\0Ο\0" \ +"Pi\0Π\0" \ +"Rho\0Ρ\0" \ +"Sigma\0Σ\0" \ +"Tau\0Τ\0" \ +"Upsilon\0Υ\0" \ +"Phi\0Φ\0" \ +"Chi\0Χ\0" \ +"Psi\0Ψ\0" \ +"Omega\0Ω\0" \ +"alpha\0α\0" \ +"beta\0β\0" \ +"gamma\0γ\0" \ +"delta\0δ\0" \ +"epsilon\0ε\0" \ +"zeta\0ζ\0" \ +"eta\0η\0" \ +"theta\0θ\0" \ +"iota\0ι\0" \ +"kappa\0κ\0" \ +"lambda\0λ\0" \ +"mu\0μ\0" \ +"nu\0ν\0" \ +"xi\0ξ\0" \ +"omicron\0ο\0" \ +"pi\0π\0" \ +"rho\0ρ\0" \ +"sigmaf\0ς\0" \ +"sigma\0σ\0" \ +"tau\0τ\0" \ +"upsilon\0υ\0" \ +"phi\0φ\0" \ +"chi\0χ\0" \ +"psi\0ψ\0" \ +"omega\0ω\0" \ +"thetasym\0ϑ\0" \ +"upsih\0ϒ\0" \ +"piv\0ϖ\0" \ +"bull\0•\0" \ +"hellip\0…\0" \ +"prime\0′\0" \ +"Prime\0″\0" \ +"oline\0‾\0" \ +"frasl\0⁄\0" \ +"weierp\0℘\0" \ +"image\0ℑ\0" \ +"real\0ℜ\0" \ +"trade\0™\0" \ +"alefsym\0ℵ\0" \ +"larr\0←\0" \ +"uarr\0↑\0" \ +"rarr\0→\0" \ +"darr\0↓\0" \ +"harr\0↔\0" \ +"crarr\0↵\0" \ +"lArr\0⇐\0" \ +"uArr\0⇑\0" \ +"rArr\0⇒\0" \ +"dArr\0⇓\0" \ +"hArr\0⇔\0" \ +"forall\0∀\0" \ +"part\0∂\0" \ +"exist\0∃\0" \ +"empty\0∅\0" \ +"nabla\0∇\0" \ +"isin\0∈\0" \ +"notin\0∉\0" \ +"ni\0∋\0" \ +"prod\0∏\0" \ +"sum\0∑\0" \ +"minus\0−\0" \ +"lowast\0∗\0" \ +"radic\0√\0" \ +"prop\0∝\0" \ +"infin\0∞\0" \ +"ang\0∠\0" \ +"and\0∧\0" \ +"or\0∨\0" \ +"cap\0∩\0" \ +"cup\0∪\0" \ +"int\0∫\0" \ +"there4\0∴\0" \ +"sim\0∼\0" \ +"cong\0≅\0" \ +"asymp\0≈\0" \ +"ne\0≠\0" \ +"equiv\0≡\0" \ +"le\0≤\0" \ +"ge\0≥\0" \ +"sub\0⊂\0" \ +"sup\0⊃\0" \ +"nsub\0⊄\0" \ +"sube\0⊆\0" \ +"supe\0⊇\0" \ +"oplus\0⊕\0" \ +"otimes\0⊗\0" \ +"perp\0⊥\0" \ +"sdot\0⋅\0" \ +"lceil\0⌈\0" \ +"rceil\0⌉\0" \ +"lfloor\0⌊\0" \ +"rfloor\0⌋\0" \ +"lang\0〈\0" \ +"rang\0〉\0" \ +"loz\0◊\0" \ +"spades\0♠\0" \ +"clubs\0♣\0" \ +"hearts\0♥\0" \ +"diams\0♦\0" \ +"quot\0"\0" \ +"amp\0&\0" \ +"lt\0<\0" \ +"gt\0>\0" \ +"OElig\0Œ\0" \ +"oelig\0œ\0" \ +"Scaron\0Š\0" \ +"scaron\0š\0" \ +"Yuml\0Ÿ\0" \ +"circ\0ˆ\0" \ +"tilde\0˜\0" \ +"ensp\0 \0" \ +"emsp\0 \0" \ +"thinsp\0 \0" \ +"zwnj\0‌\0" \ +"zwj\0‍\0" \ +"lrm\0‎\0" \ +"rlm\0‏\0" \ +"ndash\0–\0" \ +"mdash\0—\0" \ +"lsquo\0‘\0" \ +"rsquo\0’\0" \ +"sbquo\0‚\0" \ +"ldquo\0“\0" \ +"rdquo\0”\0" \ +"bdquo\0„\0" \ +"dagger\0†\0" \ +"Dagger\0‡\0" \ +"permil\0‰\0" \ +"lsaquo\0‹\0" \ +"rsaquo\0›\0" \ +"euro\0€\0" + +#endif /* ndef entities_h */ diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/lex.c b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/lex.c new file mode 100644 index 00000000000..9f9103386bd --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/lex.c @@ -0,0 +1,560 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#include +#include +#include +#include +#include "lex.h" +#include "misc.h" +#include "node.h" +#include "process.h" + +struct file { + struct file *next; + const char *filename; + char *buf; + const char *pos, *end; + unsigned int linenum; +}; + +const char keywords[] = KEYWORDS; + +static struct file *file, *firstfile; +static struct tok tok; + +/*********************************************************************** + * readinput : read all input files into memory + * + * Enter: argv = 0-terminated array of filenames + */ +void +readinput(const char *const *argv) +{ + struct file **pfile = &file; + for (;;) { + struct file *file; + const char *filename = *argv++; + char *buf = 0; + int len = 0, thislen, isstdin; + FILE *handle; + if (!filename) + break; + /* Read the file. */ + isstdin = !strcmp(filename, "-"); + if (isstdin) { + handle = stdin; + filename = ""; + } else { + handle = fopen(filename, "rb"); + if (!handle) + errorexit("%s: %s", filename, strerror(errno)); + } + for (;;) { + thislen = len ? len * 2 : 4096; + buf = memrealloc(buf, len + thislen + 1); + thislen = fread(buf + len, 1, thislen, handle); + if (!thislen) + break; + len += thislen; + } + if (ferror(handle)) + errorexit("%s: I/O error", filename); + if (!isstdin) + fclose(handle); + buf[len] = 0; + buf = memrealloc(buf, len + 1); + /* Create the file struct for it. */ + file = memalloc(sizeof(struct file)); + *pfile = file; + pfile = &file->next; + file->filename = filename; + file->pos = file->buf = buf; + file->end = buf + len; + file->linenum = 1; + } + *pfile = 0; + firstfile = file; +} + +/*********************************************************************** + * lexerrorexit : error and exit with line number + */ +static void +lexerrorexit(const char *format, ...) +{ + va_list ap; + va_start(ap, format); + vlocerrorexit(file->filename, file->linenum, format, ap); + va_end(ap); +} + +/*********************************************************************** + * lexblockcomment : lex a block comment + * + * Enter: start = start of comment + * + * Return: tok struct, lifetime until next call to lex + */ +static struct tok * +lexblockcomment(const char *start) +{ + const char *p = start + 1; + tok.filename = file->filename; + tok.linenum = file->linenum; + for (;;) { + int ch = *++p; + if (!ch) + lexerrorexit("unterminated block comment"); + if (ch != '*') { + if (ch == '\n') + file->linenum++; + continue; + } + ch = p[1]; + if (!ch) + lexerrorexit("unterminated block comment"); + if (ch == '/') + break; + } + p += 2; + file->pos = p; + tok.type = TOK_BLOCKCOMMENT; + tok.start = start + 2; + tok.len = p - start - 4; + return &tok; +} + +/*********************************************************************** + * lexinlinecomment : lex an inline comment + * + * Enter: start = start of comment, starts with "//" + * + * Return: tok struct, lifetime until next call to lex + */ +static struct tok * +lexinlinecomment(const char *start) +{ + const char *p = start + 2; + p = start + 1; + for (;;) { + int ch = *++p; + if (!ch || ch == '\n') + break; + } + p++; + file->pos = p; + tok.type = TOK_INLINECOMMENT; + tok.start = start + 2; + tok.len = p - start - 2; + tok.filename = file->filename; + tok.linenum = file->linenum++; + return &tok; +} + +/*********************************************************************** + * lexnumber : lex a number (or just a '-' symbol) + * + * Enter: start = start of token + * + * Return: tok struct, lifetime until next call to lex + * + * The IDL grammar seems to say that a float can't start with a + * decimal point, so that's what we have implemented here. + */ +static struct tok * +lexnumber(const char *start) +{ + for (;;) { + const char *p = start; + const char *octalend = start; + int ch = *p; + enum { STATE_START, STATE_INT, STATE_HEX, STATE_OCTAL, STATE_BADOCTAL, + STATE_DP, STATE_EXPSTART, STATE_EXPSIGN, STATE_EXP + } state = STATE_START; + if (ch == '-') { + ch = *++p; + if (ch == 'I') { // starts of Infinity + char * infinity = "-Infinity"; + unsigned int len = strlen(infinity); + if (!memcmp(start, infinity, len)) { + tok.type = TOK_minusinfinity; + tok.start = start; + tok.len = len; + tok.filename = file->filename; + tok.linenum = file->linenum; + file->pos = start + len; + return &tok; + } + } + } + if (ch == '0') { + state = STATE_OCTAL; + ch = *++p; + if ((ch & ~0x20) == 'X') { + state = STATE_HEX; + ch = *++p; + } + } + + for (;;) { + if ((unsigned)(ch - '0') >= 8) { + if ((ch & -2) == '8') { + if (state == STATE_OCTAL) { + state = STATE_BADOCTAL; + octalend = p; + } + } else if ((unsigned)((ch & ~0x20) - 'A') <= 'F' - 'A') { + if (state != STATE_HEX) { + if ((ch & ~0x20) != 'E') + break; + if (state == STATE_HEX || state >= STATE_EXPSTART || state == STATE_START) + break; + state = STATE_EXPSTART; + } + } else if (ch == '.') { + if (state == STATE_HEX || state >= STATE_DP) + break; + state = STATE_DP; + } else if (ch == '-') { + if (state != STATE_EXPSTART) + break; + state = STATE_EXPSIGN; + } else + break; + } + ch = *++p; + if (state == STATE_START) + state = STATE_INT; + else if (state == STATE_EXPSTART || state == STATE_EXPSIGN) + state = STATE_EXP; + } + switch (state) { + case STATE_START: + /* Must have just been a - character by itself. */ + tok.type = '-'; + p = start + 1; + break; + case STATE_BADOCTAL: + p = octalend; + /* fall through... */ + case STATE_INT: + case STATE_OCTAL: + tok.type = TOK_INTEGER; + break; + case STATE_HEX: + if (p - start == 2 || (p - start == 3 && *start == '-')) + p = start + 1; + tok.type = TOK_INTEGER; + break; + case STATE_EXP: + case STATE_DP: + tok.type = TOK_FLOAT; + break; + case STATE_EXPSIGN: + p--; + /* fall through... */ + case STATE_EXPSTART: + p--; + tok.type = TOK_FLOAT; + break; + } + tok.start = start; + tok.len = p - start; + tok.filename = file->filename; + tok.linenum = file->linenum; + file->pos = p; + return &tok; + } +} + +/*********************************************************************** + * lexstring : lex a quoted string + * + * Enter: start = start of token + * + * Return: tok struct, lifetime until next call to lex + */ +static struct tok * +lexstring(const char *start) +{ + for (;;) { + const char *p = start + 1; + int ch = *p; + for (;;) { + if (!ch || ch == '\n') + lexerrorexit("unterminated string"); + if (ch == '"') { + tok.type = TOK_STRING; + tok.start = start + 1; + tok.len = p - start - 1; + tok.filename = file->filename; + tok.linenum = file->linenum; + file->pos = p + 1; + return &tok; + } + /* Note the IDL spec doesn't seem to allow for escape sequences + * in strings. */ + ch = *++p; + } + } +} + +/*********************************************************************** + * lexidentifier : lex an identifier + * + * Enter: start = start of token + * + * Return: tok struct, lifetime until next call to lex + */ +static struct tok * +lexidentifier(const char *start) +{ + const char *p = start + 1; + for (;;) { + int ch = *p; + if (ch != '_' && (unsigned)(ch - '0') >= 10 + && (unsigned)((ch & ~0x20) - 'A') > 'Z' - 'A') + { + break; + } + p++; + } + tok.type = TOK_IDENTIFIER; + tok.start = start; + tok.len = p - start; + tok.filename = file->filename; + tok.linenum = file->linenum; + file->pos = p; + /* See if this is a keyword. (This search is a bit n-squared.) */ + { + unsigned int type = TOK_DOMString; + p = keywords; + for (;;) { + unsigned int len = strlen(p); + if (!len) + break; + if (len == tok.len && !memcmp(start, p, len)) { + tok.type = type; + break; + } + p += len + 1; + type++; + } + } + return &tok; +} + +/*********************************************************************** + * lex : retrieve next token + * + * Return: tok struct, lifetime until next call to lex + */ +struct tok * +lex(void) +{ + const char *p; + int ch; + for (;;) { + if (!file) { + tok.type = TOK_EOF; + tok.start = "end of file"; + tok.len = strlen(tok.start); + return &tok; + } + tok.prestart = p = file->pos; + /* Flush whitespace. */ + for (;;) { + ch = *p++; + switch (ch) { + case ' ': + case '\t': + case '\r': + continue; + case '\n': + ++file->linenum; + tok.prestart = p; + continue; + } + break; + } + p--; + if (ch) + break; + if (p != file->end) + lexerrorexit("\\0 byte not allowed"); + file = file->next; + } + /* See if we have a comment. */ + tok.start = p; + if (ch == '/') { + switch (*++p) { + case '*': + return lexblockcomment(p - 1); + case '/': + return lexinlinecomment(p - 1); + } + tok.type = '/'; + } else { + /* Handle things that start with '-', which is either '-' as a token, + * or a number. Handle numbers. */ + if (ch == '-' || (unsigned)(ch - '0') < 10) + return lexnumber(p); + /* Handle string. */ + if (ch == '"') + return lexstring(p); + /* Handle identifier. */ + if (ch == '_' || (unsigned)((ch & ~0x20) - 'A') <= 'Z' - 'A') + return lexidentifier(p); + /* The only multi-symbol token are ... and [] */ + if (ch == '.') { + tok.type = '.'; + if (*++p == '.' && p[1] == '.') { + tok.type = TOK_ELLIPSIS; + p += 2; + } + goto done; + } + if (ch == '[') { + tok.type = '['; + if (*++p == ']') { + tok.type = TOK_DOUBLEBRACKET; + p++; + } + goto done; + } + } + /* Single symbol token. */ + tok.type = ch; + p++; +done: + tok.filename = file->filename; + tok.linenum = file->linenum; + tok.len = p - tok.start; + file->pos = p; + return &tok; +} + +/*********************************************************************** + * outputwidl : output literal Web IDL input that node was parsed from + * + * Enter: node = parse node to output literal Web IDL for + */ +void +outputwidl(struct node *node) +{ + const char *start = node->wsstart, *end = node->end; + /* Find the file that start is in. */ + struct file *file = firstfile; + while (start < file->buf || start >= file->end) { + file = file->next; + assert(file); + } + /* Find the (current or) next node that has node->start set. Any such + * node needs to be put inside a element. */ + while (node && !node->start) + node = nodewalk(node); + /* Output until we get to the end. This has to cope with the text + * spanning multiple input files. */ + for (;;) { + int final = end >= file->buf && end <= file->end; + const char *thisend = final ? end : file->end; + /* Output the Web IDL, omitting comments. */ + while (start != end) { + const char *p, *p2, *comment, *endcomment; + int ch; + if (node && start == node->start) { + /* We are on the start of the present node in the tree + * walk. Put it in a . */ + fputs("", stdout); + printtext(node->start, node->end - node->start, 1); + fputs("", stdout); + start = node->end; + /* Skip to the next node with node->start set if any. */ + do + node = nodewalk(node); + while (node && !node->start); + continue; + } + p2 = thisend; + if (node && node->start >= file->buf && node->start < p2) + p2 = node->start; + p = memchr(start, '/', p2 - start); + if (!p) { + printtext(start, p2 - start, 1); + if (p2 != thisend) { + start = p2; + continue; + } + break; + } + /* See if we're at the start of a comment. If so find the end. */ + comment = 0; + if (p + 1 != thisend) { + switch (p[1]) { + case '*': + /* Block comment. */ + comment = p; + p++; + do + p = memchr(p + 1, '*', thisend - p - 1); + while (p[1] != '/'); + endcomment = p + 2; + break; + case '/': + /* Inline comment. */ + comment = p; + p = memchr(p, '\n', thisend - p); + if (!p) + p = thisend; + endcomment = p; + break; + } + } + if (!comment) { + /* Not at start of comment. */ + p++; + printtext(start, p - start, 1); + start = p; + assert(start <= end); + continue; + } + /* If the comment has only whitespace before it on the line, + * eat that up. */ + p = comment; + while (p != start && ((ch = p[-1]) == ' ' || ch == '\t')) + p--; + if (p == start || p[-1] == '\n') { + comment = p; + /* If the comment has only whitespace after it to the end + * of the line, eat that and the newline up. This always + * happens for an inline comment on a line by itself. */ + p = endcomment; + while (p != thisend && ((ch = *p) == ' ' || ch == '\t')) + p++; + if (p != thisend && *p == '\n') + p++; + endcomment = p; + } + printtext(start, comment - start, 1); + start = endcomment; + if (start > thisend) + start = thisend; + } + if (final) + break; + file = file->next; + assert(file); + start = file->buf; + } +} diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/lex.h b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/lex.h new file mode 100644 index 00000000000..e30b77b365c --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/lex.h @@ -0,0 +1,141 @@ + +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#ifndef lex_h +#define lex_h + +// starting from "attribute" are the list of names allowed as arguments identifier +#define KEYWORDS \ + "DOMString\0" \ + "ByteString\0" \ + "Date\0" \ + "RegExp\0" \ + "false\0" \ + "object\0" \ + "true\0" \ + "any\0" \ + "boolean\0" \ + "byte\0" \ + "double\0" \ + "float\0" \ + "Infinity\0" \ + "-Infinity\0" \ + "iterator\0" \ + "long\0" \ + "NaN\0" \ + "null\0" \ + "octet\0" \ + "optional\0" \ + "or\0" \ + "readonly\0" \ + "sequence\0" \ + "short\0" \ + "unsigned\0" \ + "void\0" \ + "attribute\0" \ + "callback\0" \ + "const\0" \ + "creator\0" \ + "deleter\0" \ + "dictionary\0" \ + "enum\0" \ + "exception\0" \ + "getter\0" \ + "implements\0" \ + "inherit\0" \ + "interface\0" \ + "legacycaller\0" \ + "partial\0" \ + "serializer\0" \ + "setter\0" \ + "static\0" \ + "stringifier\0" \ + "typedef\0" \ + "unrestricted\0" + + +enum toktype { + TOK_EOF = -1, + TOK_BLOCKCOMMENT = 0x80, + TOK_INLINECOMMENT, TOK_INTEGER, TOK_FLOAT, TOK_IDENTIFIER, + TOK_STRING, TOK_ELLIPSIS, TOK_DOUBLEBRACKET, + /* Keywords must be in the same order as above. */ + TOK_DOMString, + TOK_ByteString, + TOK_Date, + TOK_RegExp, + TOK_false, + TOK_object, + TOK_true, + TOK_any, + TOK_boolean, + TOK_byte, + TOK_double, + TOK_float, + TOK_infinity, + TOK_minusinfinity, + TOK_iterator, + TOK_long, + TOK_NaN, + TOK_null, + TOK_octet, + TOK_optional, + TOK_or, + TOK_readonly, + TOK_sequence, + TOK_short, + TOK_unsigned, + TOK_void, + /* Below that line are keywords that are allowed as arguments names */ + TOK_attribute, + TOK_callback, + TOK_const, + TOK_creator, + TOK_deleter, + TOK_dictionary, + TOK_enum, + TOK_exception, + TOK_getter, + TOK_implements, + TOK_inherit, + TOK_interface, + TOK_legacycaller, + TOK_partial, + TOK_serializer, + TOK_setter, + TOK_static, + TOK_stringifier, + TOK_typedef, + TOK_unrestricted, +}; + +struct tok { + enum toktype type; + const char *filename; + unsigned int linenum; + const char *prestart; + const char *start; + unsigned int len; +}; + +extern const char *filename; +extern const char keywords[]; + +struct node; + +void readinput(const char *const *argv); +struct tok *lex(void); +void outputwidl(struct node *node); + +#endif /* ndef lex_h */ diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/main.c b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/main.c new file mode 100644 index 00000000000..df90e347de8 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/main.c @@ -0,0 +1,63 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#include +#include "misc.h" +#include "process.h" + +static const char nodtdopt[] = "-no-dtd-ref"; +const char *progname; + +/*********************************************************************** + * options : process command line options + * + * Enter: argv + * + * Return: argv stepped to point to first non-option argument + */ +static const char *const * +options(int argc, const char *const *argv) +{ + /* Set progname for error messages etc. */ + { + const char *base; + progname = argv[0]; + base = strrchr(progname, '/'); +#ifdef DIRSEP + { + const char *base2 = strrchr(base, '\\'); + if (base2 > base) + base = base2; + } +#endif /* def DIRSEP */ + if (base) + progname = base + 1; + } + return (argc > 1 && strncmp(argv[1], nodtdopt, sizeof nodtdopt) == 0) + ? argv + 2 : argv + 1; +} + +/*********************************************************************** + * main : main code for bondiidl command + */ +int +main(int argc, char **argv) +{ + const char *const *parg; + parg = options(argc, (const char *const *)argv); + if (!*parg) + errorexit("usage: %s [-no-dtd-ref] .widl ...", progname); + processfiles(parg, parg == (const char *const *)argv + 1); + return 0; +} + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/misc.c b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/misc.c new file mode 100644 index 00000000000..37aff3f34db --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/misc.c @@ -0,0 +1,119 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#include +#include +#include +#include +#include "misc.h" +#include "os.h" /* to get va_copy on windows */ + +extern const char *progname; + +/*********************************************************************** + * memory allocation wrappers + */ +void * +memalloc(size_t size) +{ + void *ptr = malloc(size); + if (!ptr) + errorexit("out of memory"); + /* Zero initialise memory from memalloc. */ + memset(ptr, 0, size); + return ptr; +} + +void * +memrealloc(void *ptr, size_t size) +{ + void *newptr = realloc(ptr, size); + if (!newptr) + errorexit("out of memory"); + return newptr; +} + +void +memfree(void *ptr) +{ + *(int *)ptr = 0xfefefefe; + free(ptr); +} + +/*********************************************************************** + * vmemprintf, memprintf : allocate buffer and sprintf into it + */ +char * +memprintf(const char *format, ...) +{ + va_list ap; + char *buf; + va_start(ap, format); + buf = vmemprintf(format, ap); + va_end(ap); + return buf; +} + +char * +vmemprintf(const char *format, va_list ap) +{ + char *buf; + unsigned int max, len; + va_list ap2; + max = 16; + for (;;) { + va_copy(ap2, ap); + buf = memalloc(max); + len = vsnprintf(buf, max, format, ap2); + va_end(ap2); + if (len < max) + break; + memfree(buf); + max *= 2; + } + return buf; +} + +/*********************************************************************** + * errorexit : print error message then exit + */ +void +vlocerrorexit(const char *filename, unsigned int linenum, + const char *format, va_list ap) +{ + if (filename) + fprintf(stderr, linenum ? "%s: %i: " : "%s: ", filename, linenum); + vfprintf(stderr, format, ap); + fputc('\n', stderr); + exit(1); +} + +void +locerrorexit(const char *filename, unsigned int linenum, + const char *format, ...) +{ + va_list ap; + va_start(ap, format); + vlocerrorexit(filename, linenum, format, ap); + va_end(ap); +} + +void +errorexit(const char *format, ...) +{ + va_list ap; + va_start(ap, format); + vlocerrorexit(0, 0, format, ap); + va_end(ap); +} + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/misc.h b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/misc.h new file mode 100644 index 00000000000..01c36d218ed --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/misc.h @@ -0,0 +1,31 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#ifndef misc_h +#define misc_h +#include +#include + +void *memalloc(size_t size); +void *memrealloc(void *ptr, size_t size); +void memfree(void *ptr); + +char *vmemprintf(const char *format, va_list ap); +char *memprintf(const char *format, ...); + +void vlocerrorexit(const char *filename, unsigned int linenum, const char *format, va_list ap); +void locerrorexit(const char *filename, unsigned int linenum, const char *format, ...); +void errorexit(const char *format, ...); + +#endif /* ndef misc_h */ + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/node.c b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/node.c new file mode 100644 index 00000000000..d8f737909a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/node.c @@ -0,0 +1,331 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Node-specific functions + ***********************************************************************/ +#include +#include +#include +#include "comment.h" +#include "lex.h" +#include "misc.h" +#include "node.h" +#include "process.h" + +struct node * +newelement(const char *name) +{ + struct element *element = memalloc(sizeof(struct element)); + element->n.type = NODE_ELEMENT; + element->name = name; + return &element->n; +} + +struct node * +newattr(const char *name, const char *val) +{ + struct attr *attr = memalloc(sizeof(struct attr)); + attr->n.type = NODE_ATTR; + attr->name = name; + attr->value = val; + return &attr->n; +} + +struct node * +newattrlist(void) +{ + struct attrlist *attrlist = memalloc(sizeof(struct attrlist)); + attrlist->n.type = NODE_ATTRLIST; + return &attrlist->n; +} + +/*********************************************************************** + * addnode : add node as child of another node + * + * Enter: parent node + * child node + * + * The children list is constructed backwards. This is fixed later with + * a call to reversechildren. + * + * If child is an attrlist, its children are added to parent and the + * attrlist is freed. + */ +void +addnode(struct node *parent, struct node *child) +{ + if (!child) + return; + if (child->type == NODE_ATTRLIST) { + /* Add the attrs in the attrlist to parent. */ + struct node *child2; + reversechildren(child); + child2 = child->children; + memfree(child); + while (child2) { + struct node *next = child2->next; + addnode(parent, child2); + child2 = next; + } + } else { + child->next = parent->children; + parent->children = child; + child->parent = parent; + } +} + +/*********************************************************************** + * reversechildren : recursively reverse child lists + * + * Also sets parent field on each node. + */ +void +reversechildren(struct node *node) +{ + struct node *newlist = 0; + struct node *child = node->children; + while (child) { + struct node *next = child->next; + child->parent = node; + child->next = newlist; + newlist = child; + reversechildren(child); + child = next; + } + node->children = newlist; +} + +/*********************************************************************** + * nodeisempty : test if node is empty (has no children) + */ +int +nodeisempty(struct node *node) +{ + return !node->children; +} + +/*********************************************************************** + * nodewalk : single step of depth last traversal of node tree + * + * Return: next node in walk, 0 if finished + */ +struct node * +nodewalk(struct node *node) +{ + if (node->children) + return node->children; + if (node->next) + return node->next; + do { + node = node->parent; + if (!node) + return 0; + } while (!node->next); + return node->next; +} + +/*********************************************************************** + * findchildelement : find child element of a particular name + * + * Enter: node = element + * name = name to find + * + * Return: 0 else child element of that name + */ +static struct node * +findchildelement(struct node *node, const char *name) +{ + node = node->children; + while (node) { + if (node->type == NODE_ELEMENT) { + struct element *element = (void *)node; + if (!strcmp(element->name, name)) + break; + } + node = node->next; + } + return node; +} + +/*********************************************************************** + * getattr : get value of attribute + * + * Enter: node = element to find attribute in + * name = name of attribute + * + * Return: 0 if not found, else 0-terminated string value + */ +const char * +getattr(struct node *node, const char *name) +{ + node = node->children; + while (node) { + if (node->type == NODE_ATTR) { + struct attr *attr = (void *)node; + if (!strcmp(attr->name, name)) + return attr->value; + } + node = node->next; + } + return 0; +} + +/*********************************************************************** + * findchildelementwithnameattr : find child element with a name attribute + * of a particular value + * + * Enter: node = element + * name = name to find + * + * Return: 0 else child element with name attr of that value + */ +static struct node * +findchildelementwithnameattr(struct node *node, const char *name) +{ + node = node->children; + while (node) { + if (node->type == NODE_ELEMENT) { + const char *s = getattr(node, "name"); + if (s && !strcmp(s, name)) + break; + } + node = node->next; + } + return node; +} + +/*********************************************************************** + * findreturntype : find Type parse node for return type + * + * Enter: node = Operation element + * + * Return: 0 if not found, else Type parse node for return type + */ +struct node * +findreturntype(struct node *node) +{ + return findchildelement(node, "Type"); +} + +/*********************************************************************** + * findparamidentifier : find identifier parse node for parameter + * + * Enter: node = Operation element + * name = parameter name to find + * + * Return: 0 if not found, else node struct for parameter identifier + */ +struct node * +findparamidentifier(struct node *node, const char *name) +{ + node = findchildelement(node, "ArgumentList"); + if (node) + node = findchildelementwithnameattr(node, name); + return node; +} + +/*********************************************************************** + * findthrowidentifier : find identifier parse node for exception name + * + * Enter: node = Operation element + * name = exception name to find + * + * Return: 0 if not found, else node for Name element, child of Raises + * or SetRaises + */ +struct node * +findthrowidentifier(struct node *node, const char *name) +{ + struct node *node2 = findchildelement(node, "Raises"); + if (node2) + node2 = findchildelementwithnameattr(node2, name); + if (!node2) { + node2 = findchildelement(node, "SetRaises"); + if (node2) + node2 = findchildelementwithnameattr(node2, name); + } + return node2; +} + +/*********************************************************************** + * outputid : output the id of a node + */ +static void +outputid(struct node *node) +{ + if (node->parent) + outputid(node->parent); + if (node->id) { + fputs("::", stdout); + printtext(node->id, strlen(node->id), 1); + } +} + +/*********************************************************************** + * outputnode : output node and its children + * + * Enter: node = node to output, assumed to be an element + * indent + */ +void +outputnode(struct node *node, unsigned int indent) +{ + struct element *element = (void *)node; + struct node *child; + int empty = 1; + printf("%*s<%s", indent, "", element->name); + child = element->n.children; + while (child) { + switch(child->type) { + case NODE_ELEMENT: + empty = 0; + break; + case NODE_ATTR: + { + struct attr *attr = (void *)child; + printf(" %s=\"", attr->name); + printtext(attr->value, strlen(attr->value), 1); + printf("\""); + } + break; + } + child = child->next; + } + if (node->id) { + printf(" id=\""); + outputid(node); + printf("\""); + } + if (!empty || node->comments || node->wsstart) { + printf(">\n"); + if (node->wsstart) { + printf("%*s ", indent, ""); + outputwidl(node); + printf("\n"); + } + outputdescriptive(node, indent + 2); + child = element->n.children; + while (child) { + switch(child->type) { + case NODE_ELEMENT: + outputnode(child, indent + 2); + break; + } + child = child->next; + } + printf("%*s\n", indent, "", element->name); + } else + printf("/>\n"); +} + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/node.h b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/node.h new file mode 100644 index 00000000000..2d6e38e5323 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/node.h @@ -0,0 +1,65 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#ifndef node_h +#define node_h + +/* struct node : a node in the parse tree (excluding comments) */ +enum { NODE_ELEMENT, NODE_ATTR, NODE_ATTRLIST }; +struct node { + int type; + struct node *next; + struct node *parent; + struct node *children; + struct comment *comments; /* list of comments attached to this node */ + /* If wsstart and end are set, they give the literal Web IDL that can + * be output in a element. */ + const char *wsstart; + /* If start and end are set, they give the text of a scoped name that + * can be enclosed in a when outputting a element for + * an ancestor element. */ + const char *start; + const char *end; + const char *id; +}; + +struct element { + struct node n; + const char *name; +}; + +struct attr { + struct node n; + const char *name; + const char *value; +}; + +struct attrlist { + struct node n; +}; + +struct node *newelement(const char *name); +struct node *newattr(const char *name, const char *val); +struct node *newattrlist(void); +void addnode(struct node *parent, struct node *child); +void reversechildren(struct node *node); +int nodeisempty(struct node *node); +const char *getattr(struct node *node, const char *name); +struct node *nodewalk(struct node *node); +struct node *findreturntype(struct node *node); +struct node *findparamidentifier(struct node *node, const char *name); +struct node *findthrowidentifier(struct node *node, const char *name); +void outputnode(struct node *node, unsigned int indent); + +#endif /* ndef node_h */ + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/os.h b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/os.h new file mode 100644 index 00000000000..ac8f4189d19 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/os.h @@ -0,0 +1,31 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#ifndef os_h +#define os_h + +/* Linux configuration */ +#if defined(__gnu_linux__) + + +/* Windows configuration */ +#elif defined(_MSC_VER) + +#define inline __inline +#define strncasecmp strnicmp +#define snprintf _snprintf +#define va_copy(a,b) ((a)=(b)) + +#endif + +#endif /* ndef os_h */ diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/parse.c b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/parse.c new file mode 100644 index 00000000000..c0e8454ceac --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/parse.c @@ -0,0 +1,1414 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Hand-crafted recursive descent parser for Web IDL grammar. + ***********************************************************************/ +#include +#include +#include +#include + +#include "comment.h" +#include "lex.h" +#include "misc.h" +#include "node.h" +#include "parse.h" + +/*********************************************************************** + * tokerrorexit : error and exit with line number from token + */ +static void +tokerrorexit(struct tok *tok, const char *format, ...) +{ + va_list ap; + char *m; + va_start(ap, format); + m = vmemprintf(format, ap); + if (tok->type == TOK_EOF) + locerrorexit(tok->filename, tok->linenum, "at end of input: %s", m); + else + locerrorexit(tok->filename, tok->linenum, "at '%.*s': %s", tok->len, tok->start, m); + va_end(ap); +} + +/*********************************************************************** + * lexnocomment : lex next token, discarding or storing comments + * + * A block comment starting with |** or |*! is a doxygen comment. + * If it starts with |**< or |*!< then it refers to the previous + * identifier, not the next one. (I am using | to represent / otherwise + * this comment would be illegal.) + * + * An inline comment starting with /// or //! is a doxygen comment. + * If it starts with ///< or //!< then it refers to the previous + * identifier, not the next one. + */ +static struct tok * +lexnocomment(void) +{ + struct tok *tok; + for (;;) { + tok = lex(); + if (tok->type != TOK_BLOCKCOMMENT && tok->type != TOK_INLINECOMMENT) + break; + addcomment(tok); + } + return tok; +} + +/*********************************************************************** + * eat : check token then read the following one + * + * Enter: tok struct + * type = type of token expected, error given if no match + * + * On return, tok is updated to the following token. + */ +static void +eat(struct tok *tok, int type) +{ + if (tok->type != type) { + const char *p; + if (type < TOK_DOMString) + tokerrorexit(tok, "expected '%c'", type); + p = keywords; + while (type != TOK_DOMString) { + p += strlen(p) + 1; + type--; + } + tokerrorexit(tok, "expected '%s'", p); + } + lexnocomment(); +} + +/*********************************************************************** + * setid : flag that an id attribute is required on node + * + * Enter: node + * + * node->id is set to the value of the name attribute. This makes + * outputnode give it an id attribute whose value is the id attribute + * of the parent if any, then "::", then node->id. + */ +static void +setid(struct node *node) +{ + node->id = getattr(node, "name"); +} + +/*********************************************************************** + * setidentifier : allocate 0-terminated string for identifier token + * + * Enter: tok = token, error given if not identifier + * + * Return: allocated 0-terminated string + */ +static char * +setidentifier(struct tok *tok) +{ + char *s; + if (tok->type != TOK_IDENTIFIER) + tokerrorexit(tok, "expected identifier"); + s = memprintf("%.*s", tok->len, tok->start); + return s; +} + +/*********************************************************************** + * setargumentname : allocate 0-terminated string for identifier token + * + * Enter: tok = token, error given if not identifier + * + * Return: allocated 0-terminated string + */ +static char * +setargumentname(struct tok *tok) +{ + char *s; + if (tok->type != TOK_IDENTIFIER && tok->type < TOK_attribute) + tokerrorexit(tok, "expected argument name"); + s = memprintf("%.*s", tok->len, tok->start); + return s; +} + + +/* Prototypes for funcs that have a forward reference. */ +static struct node *parsetype(struct tok *tok); +static struct node *parsedefaultvalue(struct tok *tok, struct node *parent); +static struct node *parseuniontype(struct tok *tok); +static struct node *parseargumentlist(struct tok *tok); +static void parsedefinitions(struct tok *tok, struct node *parent); +static struct node *parsetypesuffixstartingwitharray(struct tok *tok, struct node *node); + +/*********************************************************************** + * parsescopedname : parse [53] ScopedName + * + * Enter: tok = next token + * name = name of attribute to put scoped name in + * ref = whether to enable enclosing of the name in in + * outputwidl + * + * Return: node struct for new attribute + * tok updated + */ +static struct node * +parsescopedname(struct tok *tok, const char *name, int ref) +{ + const char *start = tok->start, *end; + struct node *node; + unsigned int len = 0; + char *s = memalloc(3); + if (tok->type != TOK_IDENTIFIER) + tokerrorexit(tok, "expected identifier"); + s = memrealloc(s, len + tok->len + 1); + memcpy(s + len, tok->start, tok->len); + len += tok->len; + end = tok->start + tok->len; + lexnocomment(); + s[len] = 0; + node = newattr(name, s); + if (ref) { + node->start = start; + node->end = end; + } + return node; +} + +/*********************************************************************** + * parsescopednamelist : parse [51] ScopedNameList + * + * Enter: tok = next token + * name = name of element for scoped name list + * name2 = name of element for entry in list + * comment = whether to attach documentation to each name + * + * Return: node for list of scoped names + * tok updated + */ +static struct node * +parsescopednamelist(struct tok *tok, const char *name, const char *name2, + int comment) +{ + struct node *node = newelement(name); + for (;;) { + struct node *attr = parsescopedname(tok, "name", 1); + struct node *n = newelement(name2); + if (comment) + setcommentnode(n); + addnode(n, attr); + addnode(node, n); + if (tok->type != ',') + break; + lexnocomment(); + } + return node; +} + +/*********************************************************************** + * parsereturntype : parse [50] ReturnType + * + * Enter: tok = next token + * + * Return: node for type + * tok updated + */ +static struct node * +parsereturntype(struct tok *tok) +{ + if (tok->type == TOK_void) { + struct node *node = newelement("Type"); + addnode(node, newattr("type", "void")); + lexnocomment(); + return node; + } + return parsetype(tok); +} + +/*********************************************************************** + * parseunsignedintegertype : parse [46] UnsignedIntegerType + * + * Enter: tok = next token (one of "unsigned", "short" or "long") + * + * Return: 0-terminated canonical string for the type + * tok updated to just past UnsignedIntegerType + */ +static const char * +parseunsignedintegertype(struct tok *tok) +{ + static const char *names[] = { + "short", "long", "long long", 0, + "unsigned short", "unsigned long", "unsigned long long" }; + enum { TYPE_SHORT, TYPE_LONG, TYPE_LONGLONG, + TYPE_UNSIGNED = 4 }; + int type = 0; + if (tok->type == TOK_unsigned) { + type = TYPE_UNSIGNED; + lexnocomment(); + } + if (tok->type == TOK_short) { + type |= TYPE_SHORT; + lexnocomment(); + } else if (tok->type != TOK_long) + tokerrorexit(tok, "expected 'short' or 'long' after 'unsigned'"); + else { + type |= TYPE_LONG; + lexnocomment(); + if (tok->type == TOK_long) { + type += TYPE_LONGLONG - TYPE_LONG; + lexnocomment(); + } + } + return names[type]; +} +/*********************************************************************** + * parsetypesuffix : parse [44] TypeSuffix + * + * Enter: tok = next token + * + * Return: node for type + * tok updated + */ +static struct node * +parsetypesuffix(struct tok *tok, struct node *node) +{ + if (tok->type == TOK_DOUBLEBRACKET) { + struct node *typenode = node; + node = newelement("Type"); + addnode(node, newattr("type", "array")); + addnode(node, typenode); + lexnocomment(); + node = parsetypesuffix(tok, node); + } else if (tok->type == '?') { + addnode(node, newattr("nullable", "nullable")); + lexnocomment(); + node = parsetypesuffixstartingwitharray(tok, node); + } + return node; +} + +/*********************************************************************** + * parsetypesuffixstartingwitharray : parse [44] TypeSuffixStartingWithArray + * + * Enter: tok = next token + * + * Return: node for type + * tok updated + */ +static struct node * +parsetypesuffixstartingwitharray(struct tok *tok, struct node *node) +{ + if (tok->type == TOK_DOUBLEBRACKET) { + struct node *typenode = node; + node = newelement("Type"); + addnode(node, newattr("type", "array")); + addnode(node, typenode); + lexnocomment(); + node = parsetypesuffix(tok, node); + } + return node; +} + +/*********************************************************************** + * parseprimitiveorstringtype : parse [45] PrimitiveOrString + * + * Enter: tok = next token + * + * Return: node for type + * tok updated + */ +static struct node * +parseprimitiveorstringtype(struct tok *tok) +{ + struct node *node; + switch (tok->type) { + case TOK_unsigned: + case TOK_short: + case TOK_long: + node = newelement("Type"); + addnode(node, newattr("type", parseunsignedintegertype(tok))); + break; + default: + node = newelement("Type"); + switch (tok->type) { + default: + tokerrorexit(tok, "expected type"); + break; + case TOK_unrestricted: + lexnocomment(); + if (tok->type == TOK_float) { + addnode(node, newattr("type", "unrestricted float")); + } else if (tok->type == TOK_double) { + addnode(node, newattr("type", "unrestricted double")); + } else { + tokerrorexit(tok, "expected float or double after unrestricted"); + } + break; + case TOK_boolean: + addnode(node, newattr("type", "boolean")); + break; + case TOK_byte: + addnode(node, newattr("type", "byte")); + break; + case TOK_octet: + addnode(node, newattr("type", "octet")); + break; + case TOK_float: + addnode(node, newattr("type", "float")); + break; + case TOK_double: + addnode(node, newattr("type", "double")); + break; + case TOK_DOMString: + addnode(node, newattr("type", "DOMString")); + break; + case TOK_ByteString: + addnode(node, newattr("type", "ByteString")); + break; + case TOK_Date: + addnode(node, newattr("type", "Date")); + break; + case TOK_RegExp: + addnode(node, newattr("type", "RegExp")); + break; + + } + lexnocomment(); + } + return node; +} + +/*********************************************************************** + * parsenonanytype : parse NonAnyType + * + * Enter: tok = next token + * + * Return: node for type + * tok updated + */ +static struct node * +parsenonanytype(struct tok *tok) +{ + struct node *node; + switch (tok->type) { + case TOK_IDENTIFIER: + node = newelement("Type"); + addnode(node, parsescopedname(tok, "name", 1)); + node = parsetypesuffix(tok, node); + break; + case TOK_sequence: + node = newelement("Type"); + addnode(node, newattr("type", "sequence")); + lexnocomment(); + eat(tok, '<'); + addnode(node, parsetype(tok)); + eat(tok, '>'); + if (tok->type == '?') { + addnode(node, newattr("nullable", "nullable")); + lexnocomment(); + } + break; + case TOK_object: + node = newelement("Type"); + addnode(node, newattr("type", "object")); + lexnocomment(); + node = parsetypesuffix(tok, node); + break; + default: + node = parseprimitiveorstringtype(tok); + node = parsetypesuffix(tok, node); + break; + } + return node; +} + +/*********************************************************************** + * parseunionmembertype: parse UnionMemberType + * + * Enter: tok = next token + * + * Return: node for type + * tok updated + */ +static struct node * +parseunionmembertype(struct tok *tok) +{ + struct node *node; + if (tok->type == TOK_any) { + struct node *typenode = newelement("Type"); + addnode(typenode, newattr("type", "any")); + lexnocomment(); + eat(tok, TOK_DOUBLEBRACKET); + node = newelement("Type"); + addnode(node, newattr("type", "array")); + addnode(node, typenode); + lexnocomment(); + node = parsetypesuffix(tok, node); + } else if (tok->type == '(') { + node = parseuniontype(tok); + } else { + node = parsenonanytype(tok); + } + return node; +} + + +/*********************************************************************** + * parseuniontype : parse UnionType + * + * Enter: tok = next token + * + * Return: node for type + * tok updated + */ +static struct node * +parseuniontype(struct tok *tok) +{ + struct node *node; + eat(tok, '('); + node = newelement("Type"); + addnode(node, newattr("type", "union")); + if (tok->type != ')') { + for (;;) { + addnode(node, parseunionmembertype(tok)); + if (tok->type != TOK_or) + break; + lexnocomment(); + } + } + eat(tok, ')'); + node = parsetypesuffix(tok, node); + return node; +} + +/*********************************************************************** + * parsetype : parse [44] Type + * + * Enter: tok = next token + * + * Return: node for type + * tok updated + */ +static struct node * +parsetype(struct tok *tok) +{ + struct node *node; + if (tok->type == '(') { + node = parseuniontype(tok); + } else if (tok->type == TOK_any) { + node = newelement("Type"); + addnode(node, newattr("type", "any")); + lexnocomment(); + node = parsetypesuffixstartingwitharray(tok, node); + } else { + node = parsenonanytype(tok); + } + return node; +} + + +/*********************************************************************** + * parseextendedattribute : parse [39] ExtendedAttribute + * + * Enter: tok = next token + * + * Return: node for extended attribute + * + * This parses the various forms of extended attribute, as in + * rules [57] [58] [59] [60] [61]. + * + * This does not spot the error that you cannot have a ScopedName + * and an ArgumentList. + */ +static struct node * +parseextendedattribute(struct tok *tok) +{ + const char *start ; + struct node *node = newelement("ExtendedAttribute"); + char *attrname = setidentifier(tok); + addnode(node, newattr("name", attrname)); + start = tok->prestart; + node->wsstart = start; + node->end = tok->start + tok->len; + if(!strcmp(attrname, "Constructor") || !strcmp(attrname, "NamedConstructor")) { + setcommentnode(node); + } + lexnocomment(); + if (tok->type == '=') { + lexnocomment(); + addnode(node, parsescopedname(tok, "value", 0)); + } + if (tok->type == '(') { + lexnocomment(); + addnode(node, parseargumentlist(tok)); + node->end = tok->start + tok->len; + eat(tok, ')'); + } + return node; +} + +/*********************************************************************** + * parseextendedattributelist : parse [37] ExtendedAttributeList + * + * Enter: tok = next token + * + * Return: 0 else node for extended attribute list + * tok updated if anything parsed + */ +static struct node * +parseextendedattributelist(struct tok *tok) +{ + struct node *node; + if (tok->type != '[') + return 0; + node = newelement("ExtendedAttributeList"); + for (;;) { + lexnocomment(); + addnode(node, parseextendedattribute(tok)); + if (tok->type != ',') + break; + } + if (tok->type != ']') + tokerrorexit(tok, "expected ',' or ']'"); + lexnocomment(); + return node; +} + +/*********************************************************************** + * parseexceptionfield : parse [36] ExceptionField + * + * Enter: tok = next token + * eal = 0 else extended attribute list node + * + * Return: new node for the exceptionfield + * tok updated + */ +static struct node * +parseexceptionfield(struct tok *tok, struct node *eal) +{ + struct node *node = newelement("ExceptionField"); + if (eal) addnode(node, eal); + setcommentnode(node); + addnode(node, parsetype(tok)); + addnode(node, newattr("name", setidentifier(tok))); + tok = lexnocomment(); + return node; +} + +/*********************************************************************** + * parseargument : parse [31] Argument + * + * Enter: tok = next token + * + * Return: new node + * + * tok updated on return + */ +static struct node * +parseargument(struct tok *tok) +{ + struct node *node = newelement("Argument"); + struct node *eal = parseextendedattributelist(tok); + setcommentnode(node); + if (eal) addnode(node, eal); + if (tok->type == TOK_optional) { + addnode(node, newattr("optional", "optional")); + lexnocomment(); + } + addnode(node, parsetype(tok)); + if (tok->type == TOK_ELLIPSIS) { + addnode(node, newattr("ellipsis", "ellipsis")); + lexnocomment(); + } + addnode(node, newattr("name", setargumentname(tok))); + lexnocomment(); + // Optional default value + if (tok->type == '=') { + tok = lexnocomment(); + node = parsedefaultvalue(tok, node); + } + return node; +} + +/*********************************************************************** + * parseargumentlist : parse [29] ArgumentList + * + * Enter: tok = next token + * + * Return: new node for the arglist + * tok updated + */ +static struct node * +parseargumentlist(struct tok *tok) +{ + struct node *node = newelement("ArgumentList"); + /* We rely on the fact that ArgumentList is always followed by ')'. */ + if (tok->type != ')') { + for (;;) { + addnode(node, parseargument(tok)); + if (tok->type != ',') + break; + lexnocomment(); + } + } + return node; +} + + +/*********************************************************************** + * parseoperationrest : parse [25] OperationRest + * + * Enter: tok = next token + * node + * + * Return: node + * tok on terminating ';' + */ +static struct node * +parseoperationrest(struct tok *tok, struct node *node) +{ + if (tok->type == TOK_IDENTIFIER) { + addnode(node, newattr("name", setidentifier(tok))); + lexnocomment(); + } + eat(tok, '('); + addnode(node, parseargumentlist(tok)); + eat(tok, ')'); + return node; +} + +/*********************************************************************** + * parsereturntypeandoperationrest: parse ReturnType OperationRest + * Enter: tok = next token + * eal + * attrs list of attributes + * Return: node + * tok on terminating ';' + */ +static struct node * +parsereturntypeandoperationrest(struct tok *tok, struct node *eal, struct node *attrs) +{ + struct node *node = newelement("Operation"); + struct node *nodeType = parsereturntype(tok); + if (eal) addnode(node, eal); + setcommentnode(node); + addnode(node, attrs); + addnode(node, nodeType); + return parseoperationrest(tok, node); +} + +/*********************************************************************** + * parseiteratorrest : parse OptionalIteratorInterface + * + * Enter: tok = next token + * node + * + * Return: node + * tok on terminating ';' + */ +static struct node * +parseoptionaliteratorinterface(struct tok *tok, struct node *node) +{ + if (tok->type == '=') { + lexnocomment(); + addnode(node, newattr("interface", setidentifier(tok))); + lexnocomment(); + } + return node; +} + +/*********************************************************************** + * parseoperationoriteratorrest : parse [25] OperationOrIteratorRest + * + * Enter: tok = next token + * eal = 0 else extended attribute list node + * attrs = list-of-attrs node containing attrs to add to new node + * + * Return: new node + * tok on terminating ';' + */ +static struct node * +parseoperationoriteratorrest(struct tok *tok, struct node *eal, struct node *attrs) +{ + struct node *node; + struct node *nodeType = parsereturntype(tok); + unsigned int isIterator = 0; + if (tok->type == TOK_iterator) { + lexnocomment(); + if (tok->type == TOK_object) { + lexnocomment(); + node = newelement("IteratorObject"); + addnode(node, nodeType); + return node; + } else { + node = newelement("Iterator"); + isIterator = 1; + } + } else { + node = newelement("Operation"); + } + if (eal) addnode(node, eal); + setcommentnode(node); + addnode(node, attrs); + addnode(node, nodeType); + if (isIterator) + return parseoptionaliteratorinterface(tok, node); + else + return parseoperationrest(tok, node); +} + + +/*********************************************************************** + * parseattribute : parse [17] Attribute + * + * Enter: tok = next token ("readonly" or "attribute") + * eal = 0 else extended attribute list node + * attrs = list-of-attrs node containing attrs to add to new node + * + * Return: node + * tok on terminating ';' + */ +static struct node * +parseattribute(struct tok *tok, struct node *eal, struct node *attrs) +{ + struct node *node = newelement("Attribute"); + if (eal) addnode(node, eal); + setcommentnode(node); + addnode(node, attrs); + if (tok->type == TOK_inherit) { + lexnocomment(); + addnode(node, newattr("inherit", "inherit")); + } + if (tok->type == TOK_readonly) { + lexnocomment(); + addnode(node, newattr("readonly", "readonly")); + } + eat(tok, TOK_attribute); + addnode(node, parsetype(tok)); + addnode(node, newattr("name", setidentifier(tok))); + lexnocomment(); + return node; +} + +/*********************************************************************** + * parseserializer : parse Serializer + * + * Enter: tok = next token + * eal + * + * Return: node updated with value + * tok updated + */ +static struct node * +parseserializer (struct tok *tok, struct node *eal) { + struct node *nodeAttribute; + struct node *node = newelement("Serializer"); + if (tok->type == '=') { + if (eal) addnode(node, eal); + lexnocomment(); + if (tok->type == TOK_IDENTIFIER) { + addnode(node, newattr("attribute", setidentifier(tok))); + lexnocomment(); + } else if (tok->type == '{') { + unsigned int done = 0; + struct node *nodeMap = newelement("Map"); + lexnocomment(); + if (tok->type == TOK_getter) { + addnode(nodeMap, newattr("pattern", "getter")); + done = 1; + } else if (tok->type == TOK_attribute) { + addnode(nodeMap, newattr("pattern", "all")); + done = 1; + } else if (tok->type == TOK_inherit) { + addnode(nodeMap, newattr("inherit", "inherit")); + lexnocomment(); + eat(tok, ','); + if (tok->type == TOK_attribute) { + addnode(nodeMap, newattr("pattern", "all")); + done = 1; + } + } else if (tok->type != TOK_IDENTIFIER) { + tokerrorexit(tok, "expected 'attribute', 'getter', 'inherit' or attribute identifiers in serializer map"); + } + if (done) { + lexnocomment(); + eat(tok, '}'); + } else { + addnode(nodeMap, newattr("pattern", "selection")); + do { + if (tok->type != TOK_IDENTIFIER) + tokerrorexit(tok, "expected attribute identifiers in serializer map %s", tok->prestart); + nodeAttribute = newelement("PatternAttribute"); + addnode(nodeAttribute, newattr("name", setidentifier(tok))); + addnode(nodeMap, nodeAttribute); + lexnocomment(); + if (tok->type == ',') + lexnocomment(); + } while (tok->type != '}'); + eat(tok, '}'); + } + addnode(node, nodeMap); + } else if (tok->type == '[') { + struct node *nodeList = newelement("List"); + lexnocomment(); + if (tok->type == TOK_getter) { + addnode(nodeList, newattr("pattern", "getter")); + lexnocomment(); + eat(tok, ']'); + } else { + addnode(nodeList, newattr("pattern", "selection")); + do { + if (tok->type != TOK_IDENTIFIER) + tokerrorexit(tok, "expected attribute identifiers in serializer list"); + nodeAttribute = newelement("PatternAttribute"); + addnode(nodeAttribute, newattr("name", setidentifier(tok))); + addnode(nodeList, nodeAttribute); + lexnocomment(); + if (tok->type == ',') + lexnocomment(); + } while (tok->type != ']'); + eat(tok, ']'); + } + addnode(node, nodeList); + } else { + tokerrorexit(tok, "Expected '{', '[' or an attribute identifier in the serializer declaration"); + } + return node; + } else { + if (eal) addnode(node, eal); + return node; + } +} + +/*********************************************************************** + * parseattributeoroperationoriterator : parse [15] AttributeOrOperationOrIterator + * + * Enter: tok = next token + * eal = 0 else extended attribute list node + * + * Return: new node + * tok on terminating ';' + */ +static struct node * +parseattributeoroperationoriterator(struct tok *tok, struct node *eal) +{ + int alreadyseen ; + struct node *attrs = newattrlist(); + if (tok->type == TOK_serializer) { + lexnocomment(); + if (tok->type == '=' || tok->type ==';') { + return parseserializer(tok, eal); + } else { + addnode(attrs, newattr("serializer", "serializer")); + return parsereturntypeandoperationrest(tok, eal, attrs); + } + } + if (tok->type == TOK_stringifier) { + addnode(attrs, newattr("stringifier", "stringifier")); + lexnocomment(); + if (tok->type == ';') { + struct node *node = newelement("Stringifier"); + if (eal) addnode(node, eal); + return node; + } + } + if (tok->type == TOK_static) { + lexnocomment(); + addnode(attrs, newattr("static", "static")); + } + if (tok->type == TOK_inherit || tok->type == TOK_readonly || tok->type == TOK_attribute) + return parseattribute(tok, eal, attrs); + if (!nodeisempty(attrs)) + return parsereturntypeandoperationrest(tok, eal, attrs); + alreadyseen = 0; + for (;;) { + static const int t[] = { TOK_getter, + TOK_setter, TOK_creator, TOK_deleter, TOK_legacycaller, + 0 }; + const int *tt = t; + char *s; + while (*tt && *tt != tok->type) + tt++; + if (!*tt) + break; + s = memprintf("%.*s", tok->len, tok->start); + if (alreadyseen & (1 << (tt - t))) + tokerrorexit(tok, "'%s' qualifier cannot be repeated", s); + alreadyseen |= 1 << (tt - t); + addnode(attrs, newattr(s, s)); + lexnocomment(); + } + if (!nodeisempty(attrs)) + return parsereturntypeandoperationrest(tok, eal, attrs); + else + return parseoperationoriteratorrest(tok, eal, attrs); +} + + +/*********************************************************************** + * parseconstexpr : parse ConstValue + * + * Enter: tok = next token + * node + * + * Return: node updated with value + * tok updated + */ +static struct node * +parseconstexpr (struct tok *tok, struct node *node) { + char *s; + switch(tok->type) { + case TOK_true: + case TOK_false: + case TOK_minusinfinity: + case TOK_INTEGER: + case TOK_FLOAT: + case TOK_null: + case TOK_infinity: + case TOK_NaN: + break; + default: + tokerrorexit(tok, "expected constant value"); + break; + } + s = memalloc(tok->len + 1); + memcpy(s, tok->start, tok->len); + s[tok->len] = 0; + if (tok->type != TOK_STRING) { + addnode(node, newattr("value", s)); + } else { + addnode(node, newattr("stringvalue", s)); + } + lexnocomment(); + return node; +} + +/*********************************************************************** + * parsedefaultvalue : parse DefaultValue + * + * Enter: tok = next token + * node + * + * Return: node updated with value + * tok updated + */ +static struct node * +parsedefaultvalue (struct tok *tok, struct node *node) { + char *s; + if (tok->type == TOK_STRING) { + s = memalloc(tok->len + 1); + memcpy(s, tok->start, tok->len); + s[tok->len] = 0; + addnode(node, newattr("stringvalue", s)); + lexnocomment(); + return node; + } else { + return parseconstexpr(tok, node); + } +} + + + +/*********************************************************************** + * parsedictionarymember : parse DictionaryMember + * + * Enter: tok = next token + * eal = 0 else extended attribute list node + * + * Return: new node + * tok on terminating ';' + */ +static struct node * +parsedictionarymember(struct tok *tok, struct node *eal) +{ + struct node *node = newelement("DictionaryMember"); + if (eal) addnode(node, eal); + setcommentnode(node); + addnode(node, parsetype(tok)); + addnode(node, newattr("name", setidentifier(tok))); + tok = lexnocomment(); + // Optional value + if (tok->type == '=') { + tok = lexnocomment(); + node = parsedefaultvalue(tok, node); + } + return node; +} + +/*********************************************************************** + * parseconst : parse [12] Const + * + * Enter: tok = next token, known to be TOK_const + * eal = 0 else extended attribute list node + * + * Return: new node for the const + * tok on terminating ';' + */ +static struct node * +parseconst(struct tok *tok, struct node *eal) +{ + struct node *node = newelement("Const"); + setcommentnode(node); + if (eal) addnode(node, eal); + tok = lexnocomment(); + switch(tok->type) { + case TOK_boolean: + case TOK_byte: + case TOK_octet: + case TOK_float: + case TOK_double: + case TOK_unsigned: + case TOK_unrestricted: + case TOK_short: + case TOK_long: + addnode(node, parsetype(tok)); + break; + default: + tokerrorexit(tok, "expected acceptable constant type"); + break; + } + addnode(node, newattr("name", setidentifier(tok))); + tok = lexnocomment(); + eat(tok, '='); + node = parseconstexpr(tok, node); + return node; +} + +/*********************************************************************** + * parseimplementsstatement : parse [11] ImplementsStatement + * + * Enter: tok = next token, known to be :: or TOK_IDENTIFIER + * eal = 0 else extended attribute list node + * + * Return: new node for the typedef + * tok updated to the terminating ';' + */ +static struct node * +parseimplementsstatement(struct tok *tok, struct node *eal) +{ + struct node *node = newelement("Implements"); + setcommentnode(node); + if (eal) addnode(node, eal); + addnode(node, parsescopedname(tok, "name1", 1)); + eat(tok, TOK_implements); + addnode(node, parsescopedname(tok, "name2", 1)); + return node; +} + +/*********************************************************************** + * parsetypedef : parse [10] Typedef + * + * Enter: tok = next token, known to be TOK_typedef + * eal = 0 else extended attribute list node + * + * Return: new node for the typedef + * tok updated to the terminating ';' + */ +static struct node * +parsetypedef(struct tok *tok, struct node *eal) +{ +struct node *ealtype; +struct node *typenode; + struct node *node = newelement("Typedef"); + setcommentnode(node); + if (eal) addnode(node, eal); + tok = lexnocomment(); + ealtype = parseextendedattributelist(tok); + typenode = parsetype(tok); + if (ealtype) addnode(typenode, ealtype); + addnode(node, typenode); + addnode(node, newattr("name", setidentifier(tok))); + tok = lexnocomment(); + return node; +} + +/*********************************************************************** + * parseexception : parse [8] Exception + * + * Enter: tok = next token, known to be TOK_exception + * eal = 0 else extended attribute list node + * + * Return: new node for the exception + * tok updated to the terminating ';' + */ +static struct node * +parseexception(struct tok *tok, struct node *eal) +{ + struct node *node = newelement("Exception"); + setcommentnode(node); + if (eal) addnode(node, eal); + tok = lexnocomment(); + addnode(node, newattr("name", setidentifier(tok))); + lexnocomment(); + if (tok->type == ':') { + lexnocomment(); + addnode(node, parsescopednamelist(tok, "ExceptionInheritance", "Name", 1)); + } + eat(tok, '{'); + while (tok->type != '}') { + const char *start = tok->prestart; + struct node *node2; + struct node *eal = parseextendedattributelist(tok); + if (tok->type == TOK_const) + node2 = parseconst(tok, eal); + else + node2 = parseexceptionfield(tok, eal); + addnode(node, node2); + node2->wsstart = start; + node2->end = tok->start + tok->len; + setid(node2); + eat(tok, ';'); + } + lexnocomment(); + return node; +} + +/*********************************************************************** + * parseinterface : parse [4] Interface + * + * Enter: tok = next token, known to be TOK_interface + * eal = 0 else extended attribute list node + * + * Return: new node for the interface + * tok updated to the terminating ';' + */ +static struct node * +parseinterface(struct tok *tok, struct node *eal) +{ + struct node *node = newelement("Interface"); + if (eal) addnode(node, eal); + setcommentnode(node); + tok = lexnocomment(); + addnode(node, newattr("name", setidentifier(tok))); + tok = lexnocomment(); + if (tok->type == ':') { + lexnocomment(); + addnode(node, parsescopednamelist(tok, "InterfaceInheritance", "Name", 1)); + } + eat(tok, '{'); + while (tok->type != '}') { + const char *start = tok->prestart; + struct node *eal = parseextendedattributelist(tok); + struct node *node2; + if (tok->type == TOK_const) + addnode(node, node2 = parseconst(tok, eal)); + else + addnode(node, node2 = parseattributeoroperationoriterator(tok, eal)); + node2->wsstart = start; + node2->end = tok->start + tok->len; + setid(node2); + eat(tok, ';'); + } + lexnocomment(); + return node; +} + +/*********************************************************************** + * parsecallback : parse Callback + * + * Enter: tok = next token, known to be TOK_dictionary + * eal = 0 else extended attribute list node + * + * Return: new node for the enum + * tok updated to the terminating ';' + */ +static struct node * +parsecallback(struct tok *tok, struct node *eal) +{ + struct node *node; + if (tok->type == TOK_interface) { + node = parseinterface(tok, eal); + addnode(node, newattr("callback", "callback")); + } else { + node = newelement("Callback"); + if (eal) addnode(node, eal); + setcommentnode(node); + addnode(node, newattr("name", setidentifier(tok))); + tok = lexnocomment(); + eat(tok, '='); + addnode(node, parsereturntype(tok)); + eat(tok, '('); + addnode(node, parseargumentlist(tok)); + eat(tok, ')'); + } + return node; +} + +/*********************************************************************** + * parsedictionary : parse Dictionary + * + * Enter: tok = next token, known to be TOK_dictionary + * eal = 0 else extended attribute list node + * + * Return: new node for the dictionary + * tok updated to the terminating ';' + */ +static struct node * +parsedictionary(struct tok *tok, struct node *eal) +{ + struct node *node = newelement("Dictionary"); + if (eal) addnode(node, eal); + setcommentnode(node); + tok = lexnocomment(); + addnode(node, newattr("name", setidentifier(tok))); + tok = lexnocomment(); + if (tok->type == ':') { + lexnocomment(); + addnode(node, parsescopednamelist(tok, "DictionaryInheritance", "Name", 1)); + } + eat(tok, '{'); + while (tok->type != '}') { + const char *start = tok->prestart; + struct node *eal = parseextendedattributelist(tok); + struct node *node2; + if (tok->type == TOK_const) + addnode(node, node2 = parseconst(tok, eal)); + else + addnode(node, node2 = parsedictionarymember(tok, eal)); + node2->wsstart = start; + node2->end = tok->start + tok->len; + setid(node2); + eat(tok, ';'); + } + lexnocomment(); + return node; +} + +/*********************************************************************** + * parseenum : parse Enum + * + * Enter: tok = next token, known to be TOK_dictionary + * eal = 0 else extended attribute list node + * + * Return: new node for the enum + * tok updated to the terminating ';' + */ +static struct node * +parseenum(struct tok *tok, struct node *eal) +{ + char *s; + struct node *node = newelement("Enum"); + if (eal) addnode(node, eal); + setcommentnode(node); + tok = lexnocomment(); + addnode(node, newattr("name", setidentifier(tok))); + tok = lexnocomment(); + eat(tok, '{'); + while (tok->type != '}') { + if (tok->type == TOK_STRING) { + const char *start = tok->prestart; + struct node *node2 = newelement("EnumValue"); + setcommentnode(node2); + + s = memalloc(tok->len + 1); + memcpy(s, tok->start, tok->len); + s[tok->len] = 0; + addnode(node2, newattr("stringvalue", s)); + node2->wsstart = start; + node2->end = tok->start + tok->len; + setid(node2); + addnode(node, node2); + } else { + tokerrorexit(tok, "expected string in enum"); + } + lexnocomment(); + if (tok->type == ',') { + lexnocomment(); + } + } + eat(tok, '}'); + return node; +} + +/*********************************************************************** + * parsedefinitions : parse [1] Definitions + * + * Enter: tok = next token + * parent = parent node to add definitions to + * + * On return, tok has been updated. + */ +static void +parsedefinitions(struct tok *tok, struct node *parent) +{ + parent->wsstart = tok->prestart; + for (;;) { + const char *wsstart = tok->prestart; + struct node *eal = parseextendedattributelist(tok); + struct node *node; + switch (tok->type) { + case TOK_partial: + eat(tok, TOK_partial); + if (tok->type == TOK_dictionary) { + node = parsedictionary(tok, eal); + } else { + node = parseinterface(tok, eal); + } + addnode(node, newattr("partial", "partial")); + break; + case TOK_interface: + node = parseinterface(tok, eal); + break; + case TOK_callback: + eat(tok, TOK_callback); + node = parsecallback(tok, eal); + break; + case TOK_dictionary: + node = parsedictionary(tok, eal); + break; + case TOK_enum: + node = parseenum(tok, eal); + break; + case TOK_exception: + node = parseexception(tok, eal); + break; + case TOK_typedef: + node = parsetypedef(tok, eal); + break; + case TOK_IDENTIFIER: + node = parseimplementsstatement(tok, eal); + break; + default: + if (eal) + tokerrorexit(tok, "expected definition after extended attribute list"); + node = 0; + break; + } + if (!node) + break; + node->wsstart = wsstart; + node->end = tok->start + tok->len; + eat(tok, ';'); + addnode(parent, node); + setid(node); + parent->end = node->end; + } +} + +/*********************************************************************** + * parse + * + * Return: root element containing (possibly empty) list of definitions + */ +struct node * +parse(void) +{ + struct tok *tok; + struct node *root = newelement("Definitions"); + setcommentnode(root); + tok = lexnocomment(); + parsedefinitions(tok, root); + if (tok->type != TOK_EOF) + tokerrorexit(tok, "expected end of input"); + reversechildren(root); + return root; +} + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/parse.h b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/parse.h new file mode 100644 index 00000000000..ad9071b453e --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/parse.h @@ -0,0 +1,19 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#ifndef parse_h +#define parse_h + +struct node *parse(void); + +#endif /* ndef parse_h */ diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/process.c b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/process.c new file mode 100644 index 00000000000..d6a343b8aa0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/process.c @@ -0,0 +1,319 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#include +#include +#include +#include "comment.h" +#include "lex.h" +#include "misc.h" +#include "node.h" +#include "os.h" +#include "parse.h" +#include "process.h" + +#if 0 +static const char ntnames[] = { NTNAMES }; +#endif /*0*/ + +/*********************************************************************** + * printtext : print text with xml entity escapes + * + * Enter: s = text + * len = number of bytes + * escamp = whether to escape & + * + * This also escapes double quote mark so it can be used for an + * attribute value. It also turns a tab into spaces. + */ +void +printtext(const char *s, unsigned int len, int escamp) +{ + const char *p = s, *end = s + len; + unsigned int count = 0; + while (p != end) { + int ch = *p; + char buf[9]; + const char *seq = 0; + count++; + switch (ch) { + case '<': + seq = "<"; + break; + case '&': + seq = escamp ? "&" : "&"; + break; + case '"': + seq = """; + break; + case '\n': + p++; + count = 0; + continue; + case '\t': + seq = " " + ((count - 1) & 7); + count = 0; + break; + default: + if ((unsigned char)ch >= 0x20) { + p++; + continue; + } + snprintf(buf, 9, "&#%i;", ch); + seq = buf; + break; + } + if (p - s != fwrite(s, 1, p - s, stdout)) + errorexit("write error"); + fputs(seq, stdout); + s = ++p; + } + if (p - s != fwrite(s, 1, p - s, stdout)) + errorexit("write error"); +} + +#if 0 +/*********************************************************************** + * outputnodeastext : output parse node and descendants as deparsed text + * + * Enter: node = parse node + * needspace = true if last output char was an identifier char + * + * Return: updated needspace value + */ +static int +outputnodeastext(struct node *node, int needspace) +{ + if (node->type >= NT_START) { + struct node *child = node->children; + while (child) { + needspace = outputnodeastext(child, needspace); + child = child->next; + } + } else { + unsigned int len = strlen(node->name); + if (len) { + int ch = node->name[0]; + if (ch == '_' || ((unsigned)(ch - '0') < 10 + || (unsigned)((ch & ~0x20) - 'A') < 26)) + { + if (needspace) putchar(' '); + } + ch = node->name[len - 1]; + if (ch == '_' || ((unsigned)(ch - '0') < 10 + || (unsigned)((ch & ~0x20) - 'A') < 26)) + { + needspace = 1; + } + printtext(node->name, len, 1); + } + } + return needspace; +} + +/*********************************************************************** + * printfqid : print fully-qualified id + * + * Enter: node struct + * + * Return: whether anything printed + */ +static int +printfqid(struct node *node) +{ + int any = 0; + struct node *identifier; + if (node->parent) { + any = printfqid(node->parent); + } + switch (node->type) { + case NT_Module: + case NT_Interface: + case NT_Typedef: + case NT_Operation: + case NT_Attribute: + case NT_Const: + if (any) + printf(":"); + /* Find identifier child if any. */ + identifier = node->children; + while (identifier) { + if (identifier->type == TOK_IDENTIFIER) + break; + if (identifier->type == NT_TypedefRest) { + identifier = identifier->children; + continue; + } + identifier = identifier->next; + } + if (identifier) { + printtext(identifier->name, strlen(identifier->name), 1); + any = 1; + } + break; + } + return any; +} + +/*********************************************************************** + * output : output subtree of parse tree + * + * Enter: node = root of subtree + * extendedattributelist = 0 else extended attribute list node + * applying to node + * indent = indent (nesting) level + */ +static void outputchildren(struct node *node, struct node *identifier, unsigned int indent); + +static void +output(struct node *node, struct node *extendedattributelist, + unsigned int indent) +{ + if (extendedattributelist) { + node->wsstart = extendedattributelist->wsstart; + node->start = extendedattributelist->start; + } + if (node->type == NT_ExtendedAttribute) { + printf("%*s\n"); + } else if (node->type == NT_BooleanLiteral) { + printf("%*s", indent, "", + node->children->name); + } else if (node->type == NT_ReadOnly) { + printf("%*s\n", indent, ""); + } else if (node->type >= NT_START) { + const char *ntname; + /* Find identifier child if any. */ + struct node *identifier = node->children; + while (identifier) { + if (identifier->type == TOK_IDENTIFIER) + break; + identifier = identifier->next; + } + /* Find nonterminal name. */ + ntname = ntnames + 2; + while (node->type - NT_START != ((unsigned char)ntname[-2] | (unsigned char)ntname[-1] << 8)) + ntname += strlen(ntname) + 3; + /* Output start of element. */ + printf("%*s<%s", indent, "", ntname); + /* Output identifier if any as attribute. */ + if (identifier) { + printf(" identifier=\""); + printtext(identifier->name, strlen(identifier->name), 1); + printf("\""); + } + switch (node->type) { + case NT_Module: + case NT_Interface: + case NT_Typedef: + case NT_Const: + /* Output fully qualified id. */ + printf(" fqid=\""); + printfqid(node); + printf("\""); + break; + } + if (!identifier && !extendedattributelist && !node->children && !node->comments) + printf("/>\n"); + else { + printf(">\n"); + /* Output descriptive elements (doxygen comments) for node. */ + outputdescriptive(node, indent + 2); + /* Output descriptive elements (doxygen comments) for identifier. */ + if (identifier) + outputdescriptive(identifier, indent + 2); + /* Output extended attribute list. */ + if (extendedattributelist) + output(extendedattributelist, 0, indent + 2); + /* Output children (excluding identifier child). */ + outputchildren(node, identifier, indent + 2); + printf("%*s\n", indent, "", ntname); + } + } else switch (node->type) { + case TOK_DOMString: + case TOK_any: + case TOK_boolean: + case TOK_octet: + case TOK_float: + case TOK_double: + case TOK_Object: + case TOK_unsigned: + case TOK_short: + case TOK_long: + case TOK_void: + printf("%*s<%s/>\n", indent, "", node->name); + break; + case TOK_INTEGER: + printf("%*sname, strlen(node->name), 1); + printf("\"/>\n"); + break; + case TOK_FLOAT: + printf("%*sname, strlen(node->name), 1); + printf("\"/>\n"); + break; + case TOK_STRING: + printf("%*sname, strlen(node->name), 1); + printf("\"/>\n"); + break; + } +} + +/*********************************************************************** + * outputchildren : call output for each child of node + * + * Enter: node + * identifier = child node to omit from output + * indent = indent (nesting) level + */ +static void +outputchildren(struct node *node, struct node *identifier, unsigned int indent) +{ + struct node *extendedattributelist; + struct node *child; + child = node->children; + extendedattributelist = 0; + while (child) { + if (child->type == NT_ExtendedAttributeList && node->type != NT_Argument) + extendedattributelist = child; + else { + if (identifier != child) + output(child, extendedattributelist, indent); + extendedattributelist = 0; + } + child = child->next; + } +} +#endif /*0*/ + +/*********************************************************************** + * processfiles : process input files + * + * Enter: name = filename + */ +void +processfiles(const char *const *names, int dtdref) +{ + struct node *root; + readinput(names); + root = parse(); + processcomments(root); + printf("\n"); + if(dtdref) + printf("\n"); + outputnode(root, 0); +} + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/process.h b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/process.h new file mode 100644 index 00000000000..bb92b22ce13 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/process.h @@ -0,0 +1,27 @@ +/*********************************************************************** + * $Id$ + * Copyright 2009 Aplix Corporation. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ***********************************************************************/ +#ifndef process_h +#define process_h + +#if 0 +#define NT_START 0x100 +#include "nonterminals.h" +#endif/*0*/ + +void printtext(const char *s, unsigned int len, int escamp); + +void processfiles(const char *const *names, int dtdref); + +#endif /* ndef process_h */ + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/widlprocxmltohtml.xsl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/widlprocxmltohtml.xsl new file mode 100644 index 00000000000..2b583371e7d --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/src/widlprocxmltohtml.xsl @@ -0,0 +1,828 @@ + + + + + + + + + + + + + + + + <xsl:value-of select="$title"/> + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + Bondi logo +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        12 May 2009

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Authors

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Abstract

                                                                                                                                                                                                                                                                                        + + + + + +

                                                                                                                                                                                                                                                                                        Table of Contents

                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        Summary of Methods

                                                                                                                                                                                                                                                                                        + + +

                                                                                                                                                                                                                                                                                        Introduction

                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Feature set

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This is the URI used to declare this API's feature set, for use in bondi.requestFeature. For the URL, the list of features included by the feature set is provided.

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Features

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        This is the list of URIs used to declare this API's features, for use in bondi.requestFeature. For each URL, the list of functions covered is provided.

                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Device capabilities

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Type Definitions

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Interfaces

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Dictionary types

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Callbacks

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Enums

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Includes API features: +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Device capabilities: +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Security parameters:

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + element not supported + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2..

                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Constants

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Constructors

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Attributes

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Methods

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Constants

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Attributes

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +

                                                                                                                                                                                                                                                                                        + This interface inherits from: + + + , + +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + + stringifier + + + readonly + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + + ( + + + + ); + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        API features
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + ( + + + + ); + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Return value
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        API features
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Signature
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +	                
                                                                                                                                                                                                                                                                                        +	                 
                                                                                                                                                                                                                                                                                        +	                
                                                                                                                                                                                                                                                                                        +	                (
                                                                                                                                                                                                                                                                                        +	                
                                                                                                                                                                                                                                                                                        +	                    
                                                                                                                                                                                                                                                                                        +	                
                                                                                                                                                                                                                                                                                        +	                );
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Return value
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Parameters
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + , + + + + + ... + + + + Default value: + + + Default value: "" + + + + +
                                                                                                                                                                                                                                                                                      • + : + +
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Exceptions
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                      • + : + +
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        + + + + + + sequence < + + > + + + + + + ? + + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Values

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        Code example
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        WebIDL
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + Version: +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + +
                                                                                                                                                                                                                                                                                      • + : + +
                                                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                                                        + + + + +

                                                                                                                                                                                                                                                                                        + + + When the feature + + + When any of the features + + +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                        • + +
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        + is successfully requested, the interface + + is instantiated, and the resulting object appears in the global + namespace as + .. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        InterfaceMethod
                                                                                                                                                                                                                                                                                        + + + + + + ( + + + + , + + ) +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/Makefile b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/Makefile new file mode 100644 index 00000000000..c40939e36fc --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/Makefile @@ -0,0 +1,91 @@ +######################################################################## +# $Id: Makefile 418 2010-06-16 15:26:51Z tpr $ +# Copyright 2009 Aplix Corporation. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +######################################################################## + +UNAME = $(shell uname) +VALIDTESTDIR = valid/idl +VALIDTESTREFDIR = valid/xml +VALIDTESTOBJDIR = valid/obj +INVALIDTESTDIR = invalid/idl +INVALIDTESTREFDIR = invalid/error +INVALIDTESTOBJDIR = invalid/obj + +# The settings of SRCDIR (where to find the xsl style sheets), OBJDIR (where to +# find widlproc and widlprocxml.dtd) and VALDTESTOBJDIR (where to put the +# resulting XML files) reflect the directory +# structure of the released widlproc.zip file when unzipped. ../Makefile calls +# this Makefile with these settings overridden to reflect the directory +# structure in svn. +SRCDIR = .. +OBJDIR = .. + +######################################################################## +# Linux configuration +# +ifneq (,$(filter Linux%, $(UNAME))) + +EXESUFFIX = + +else +######################################################################## +# Darwin configuration +# +ifneq (,$(filter Darwin%, $(UNAME))) + +EXESUFFIX = + +else +######################################################################## +# Windows (cygwin but using MS compiler) configuration +# +ifneq (,$(filter CYGWIN%, $(UNAME))) + +EXESUFFIX = .exe + +endif +endif +endif + +######################################################################## +# Common makefile +# +WIDLPROC = $(OBJDIR)/widlproc$(EXESUFFIX) +DTD = $(OBJDIR)/widlprocxml.dtd + +VALID_WIDLS = $(patsubst $(VALIDTESTDIR)/%, %, $(wildcard $(VALIDTESTDIR)/*.widl)) +INVALID_WIDLS = $(patsubst $(INVALIDTESTDIR)/%, %, $(wildcard $(INVALIDTESTDIR)/*.widl)) + +test : $(patsubst %.widl, $(VALIDTESTOBJDIR)/%.widlprocxml, $(VALID_WIDLS)) $(patsubst %.widl, $(INVALIDTESTOBJDIR)/%.txt, $(INVALID_WIDLS)) $(WIDLPROC) + @echo "$@ pass" + +#$(EXAMPLESOBJDIR)/%.html : $(EXAMPLESOBJDIR)/%.widlprocxml $(SRCDIR)/widlprocxmltohtml.xsl Makefile +# cp $(SRCDIR)/widlprocxmltohtml.xsl $(dir $@)/ +# xsltproc $(dir $@)/widlprocxmltohtml.xsl $< >$@ + + +$(VALIDTESTOBJDIR)/%.widlprocxml : $(VALIDTESTDIR)/%.widl $(WIDLPROC) $(DTD) Makefile $(patsubst %.widl, $(VALIDTESTREFDIR)/%.widlprocxml, $(VALID_WIDLS)) + mkdir -p $(dir $@) + $(WIDLPROC) $< >$@ + cp $(OBJDIR)/widlprocxml.dtd $(dir $@)/ + xmllint --noout --dtdvalid $(DTD) $@ + diff $@ $(VALIDTESTREFDIR)/`basename $@` + +$(INVALIDTESTOBJDIR)/%.txt : $(INVALIDTESTDIR)/%.widl $(WIDLPROC) Makefile $(patsubst %.widl, $(INVALIDTESTREFDIR)/%.txt, $(INVALID_WIDLS)) + mkdir -p $(dir $@) + -$(WIDLPROC) $< >$@ 2>&1 + diff $@ $(INVALIDTESTREFDIR)/`basename $@` + + + +.DELETE_ON_ERROR: + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/enum.txt b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/enum.txt new file mode 100644 index 00000000000..6f8ba8eef46 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/enum.txt @@ -0,0 +1 @@ +invalid/idl/enum.widl: 1: at '1': expected string in enum diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/module.txt b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/module.txt new file mode 100644 index 00000000000..7e504316e51 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/module.txt @@ -0,0 +1 @@ +invalid/idl/module.widl: 2: at 'gfx': expected 'implements' diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableany.txt b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableany.txt new file mode 100644 index 00000000000..eeeb25f12ab --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableany.txt @@ -0,0 +1 @@ +invalid/idl/nonnullableany.widl: 2: at '?': expected identifier diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableobjects.txt b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableobjects.txt new file mode 100644 index 00000000000..526622599b7 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/nonnullableobjects.txt @@ -0,0 +1 @@ +invalid/idl/nonnullableobjects.widl: 4: at '?': expected identifier diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/scopedname.txt b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/scopedname.txt new file mode 100644 index 00000000000..5646608cd37 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/scopedname.txt @@ -0,0 +1 @@ +invalid/idl/scopedname.widl: 2: at ':': expected identifier diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/sequenceAsAttribute.txt b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/sequenceAsAttribute.txt new file mode 100644 index 00000000000..15960cb8b5f --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/sequenceAsAttribute.txt @@ -0,0 +1 @@ +invalid/idl/sequenceAsAttribute.widl: 2: at 'sequence': expected type diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/stringconstants.idl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/stringconstants.idl new file mode 100644 index 00000000000..155a892c55a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/error/stringconstants.idl @@ -0,0 +1 @@ +invalid/idl/stringconstants.idl: 2: at 'DOMString': expected acceptable constant type diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/enum.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/enum.widl new file mode 100644 index 00000000000..c355c3251c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/enum.widl @@ -0,0 +1 @@ +enum foo { 1, 2, 3}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/module.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/module.widl new file mode 100644 index 00000000000..a4c79fdf155 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/module.widl @@ -0,0 +1,25 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +module gfx { + + module geom { + interface Shape { /* ... */ }; + interface Rectangle : Shape { /* ... */ }; + interface Path : Shape { /* ... */ }; + }; + + interface GraphicsContext { + void fillShape(geom::Shape s); + void strokeShape(geom::Shape s); + }; +}; + +module gui { + + interface Widget { /* ... */ }; + + interface Window : Widget { + gfx::GraphicsContext getGraphicsContext(); + }; + + interface Button : Widget { /* ... */ }; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableany.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableany.widl new file mode 100644 index 00000000000..38957655523 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableany.widl @@ -0,0 +1,3 @@ +interface NonNullable { + attribute any? foo; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableobjects.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableobjects.widl new file mode 100644 index 00000000000..1deac5aeec9 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/nonnullableobjects.widl @@ -0,0 +1,5 @@ +interface Foo {}; + +interface NonNullable { + attribute Foo?? foo; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/raises.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/raises.widl new file mode 100644 index 00000000000..ff65522f2b3 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/raises.widl @@ -0,0 +1,18 @@ +// getraises and setraises are not longer valid Web IDL +interface Person { + + // An attribute that can raise an exception if it is set to an invalid value. + attribute DOMString name setraises (InvalidName); + + // An attribute whose value cannot be assigned to, and which can raise an + // exception some circumstances. + readonly attribute DOMString petName getraises (NoSuchPet); +}; + +exception SomeException { +}; + +interface ExceptionThrower { + // This attribute always throws a SomeException and never returns a value. + attribute long valueOf getraises(SomeException); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/scopedname.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/scopedname.widl new file mode 100644 index 00000000000..cfcb1ccc939 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/scopedname.widl @@ -0,0 +1,2 @@ +// scoped names are no longer valid in WebIDL + typedef gfx::geom::geom2d::Point Point; diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/sequenceAsAttribute.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/sequenceAsAttribute.widl new file mode 100644 index 00000000000..c23da82ac22 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/sequenceAsAttribute.widl @@ -0,0 +1,3 @@ +interface sequenceAsAttribute { + attribute sequence invalid; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/special-omittable.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/special-omittable.widl new file mode 100644 index 00000000000..bdfbfa70973 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/special-omittable.widl @@ -0,0 +1,8 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +// omittable is no longer a recognized keywoard as of 20110905 +interface Dictionary { + readonly attribute unsigned long propertyCount; + + omittable getter float getProperty(DOMString propertyName); + omittable setter void setProperty(DOMString propertyName, float propertyValue); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/stringconstants.idl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/stringconstants.idl new file mode 100644 index 00000000000..44fd3ff136e --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/invalid/idl/stringconstants.idl @@ -0,0 +1,3 @@ +interface Util { + const DOMString hello = "world"; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/allowany.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/allowany.widl new file mode 100644 index 00000000000..2343bb96374 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/allowany.widl @@ -0,0 +1,6 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface B { + void g(); + void g(B b); + void g([AllowAny] DOMString s); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/array.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/array.widl new file mode 100644 index 00000000000..22e21fb6564 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/array.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[Constructor] +interface LotteryResults { + readonly attribute unsigned short[][] numbers; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/attributes.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/attributes.widl new file mode 100644 index 00000000000..7e1d691cbe2 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/attributes.widl @@ -0,0 +1,14 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +exception InvalidName { + DOMString reason; +}; + +exception NoSuchPet { }; + +interface Person { + + // A simple attribute that can be set to any value the range an unsigned + // short can take. + attribute unsigned short age; + +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/callback.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/callback.widl new file mode 100644 index 00000000000..d92f6a18c0a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/callback.widl @@ -0,0 +1,5 @@ +callback AsyncOperationCallback = void (DOMString status); + +callback interface EventHandler { + void eventOccurred(DOMString details); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/caller.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/caller.widl new file mode 100644 index 00000000000..92acb1c0176 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/caller.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface NumberQuadrupler { + // This operation simply returns four times the given number x. + legacycaller float compute(float x); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constants.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constants.widl new file mode 100644 index 00000000000..5e28ae9c116 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constants.widl @@ -0,0 +1,18 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Util { + const boolean DEBUG = false; + const short negative = -1; + const octet LF = 10; + const unsigned long BIT_MASK = 0x0000fc00; + const float AVOGADRO = 6.022e23; + const unrestricted float sobig = Infinity; + const unrestricted double minusonedividedbyzero = -Infinity; + const short notanumber = NaN; +}; + +exception Error { + const short ERR_UNKNOWN = 0; + const short ERR_OUT_OF_MEMORY = 1; + + short errorCode; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constructor.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constructor.widl new file mode 100644 index 00000000000..f93ec08a6e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/constructor.widl @@ -0,0 +1,9 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[Constructor, + Constructor(float radius)] +interface Circle { + attribute float r; + attribute float cx; + attribute float cy; + readonly attribute float circumference; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary-inherits.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary-inherits.widl new file mode 100644 index 00000000000..48f8a0fdceb --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary-inherits.widl @@ -0,0 +1,9 @@ +dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + +dictionary WetPaintOptions : PaintOptions { + float hydrometry; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary.widl new file mode 100644 index 00000000000..f46b7ba7806 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/dictionary.widl @@ -0,0 +1,11 @@ +// Extracted from Web IDL editors draft May 31 2011 +dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + +partial dictionary A { + long h; + long d; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation-dos.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation-dos.widl new file mode 100644 index 00000000000..fb801101f14 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation-dos.widl @@ -0,0 +1,33 @@ +/** +* \brief Testing documentation features +* +* This is a +* single paragraph +* +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                          +*
                                                                                                                                                                                                                                                                                        • This
                                                                                                                                                                                                                                                                                        • +*
                                                                                                                                                                                                                                                                                        • is
                                                                                                                                                                                                                                                                                        • +*
                                                                                                                                                                                                                                                                                        • valid
                                                                                                                                                                                                                                                                                        • +*
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        This
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        valid
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        +* +* +* +* +* +* +* +* +*
                                                                                                                                                                                                                                                                                        thisis
                                                                                                                                                                                                                                                                                        valid
                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +*/ +interface Documentation {}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation.widl new file mode 100644 index 00000000000..003e9226f67 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/documentation.widl @@ -0,0 +1,34 @@ +/** +* \brief Testing documentation features +* +* This is a +* single paragraph +* +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is valid.

                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                          +*
                                                                                                                                                                                                                                                                                        • This
                                                                                                                                                                                                                                                                                        • +*
                                                                                                                                                                                                                                                                                        • is
                                                                                                                                                                                                                                                                                        • +*
                                                                                                                                                                                                                                                                                        • valid
                                                                                                                                                                                                                                                                                        • +*
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        This
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        valid
                                                                                                                                                                                                                                                                                        +*
                                                                                                                                                                                                                                                                                        +* +* +* +* +* +* +* +* +*
                                                                                                                                                                                                                                                                                        thisis
                                                                                                                                                                                                                                                                                        valid
                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +*

                                                                                                                                                                                                                                                                                        Valid

                                                                                                                                                                                                                                                                                        +*/ +interface Documentation {}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/enum.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/enum.widl new file mode 100644 index 00000000000..851fca2e6f6 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/enum.widl @@ -0,0 +1,8 @@ +enum MealType { "rice", "noodles", "other" }; + +interface Meal { + attribute MealType type; + attribute float size; // in grams + + void initialize(MealType type, float size); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/equivalent-decl.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/equivalent-decl.widl new file mode 100644 index 00000000000..6b3e0eda284 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/equivalent-decl.widl @@ -0,0 +1,18 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float getProperty(DOMString propertyName); + setter void setProperty(DOMString propertyName, float propertyValue); +}; + + +interface Dictionary { + readonly attribute unsigned long propertyCount; + + float getProperty(DOMString propertyName); + void setProperty(DOMString propertyName, float propertyValue); + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception-inheritance.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception-inheritance.widl new file mode 100644 index 00000000000..258fdeba6f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception-inheritance.widl @@ -0,0 +1,7 @@ +// from http://lists.w3.org/Archives/Public/public-script-coord/2010OctDec/0112.html + exception DOMException { + unsigned short code; + }; + + exception HierarchyRequestError : DOMException { }; + exception NoModificationAllowedError : DOMException { }; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception.widl new file mode 100644 index 00000000000..f4b6ae29e10 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/exception.widl @@ -0,0 +1,8 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dahut { + attribute DOMString type; +}; + +exception SomeException { +}; + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/getter-setter.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/getter-setter.widl new file mode 100644 index 00000000000..bdf87e1c7c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/getter-setter.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/identifier-qualified-names.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/identifier-qualified-names.widl new file mode 100644 index 00000000000..33893d4c644 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/identifier-qualified-names.widl @@ -0,0 +1,44 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 + // Typedef identifier: "number" + // Qualified name: "::framework::number" + typedef float number; + + // Exception identifier: "FrameworkException" + // Qualified name: "::framework::FrameworkException" + exception FrameworkException { + + // Constant identifier: "ERR_NOT_FOUND" + // Qualified name: "::framework::FrameworkException::ERR_NOT_FOUND" + const long ERR_NOT_FOUND = 1; + + // Exception field identifier: "code" + long code; + }; + + // Interface identifier: "System" + // Qualified name: "::framework::System" + interface System { + + // Operation identifier: "createObject" + // Operation argument identifier: "interface" + object createObject(DOMString _interface); + + // Operation has no identifier; it declares a getter. + getter DOMString (DOMString keyName); + }; + + + // Interface identifier: "TextField" + // Qualified name: "::framework::gui::TextField" + interface TextField { + + // Attribute identifier: "const" + attribute boolean _const; + + // Attribute identifier: "value" + attribute DOMString? _value; + }; + +interface Foo { + void op(object interface); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/implements.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/implements.widl new file mode 100644 index 00000000000..7a310926f1c --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/implements.widl @@ -0,0 +1,14 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 + interface Node { + readonly attribute unsigned short nodeType; + // ... + }; + + interface EventTarget { + void addEventListener(DOMString type, + EventListener listener, + boolean useCapture); + // ... + }; + + Node implements EventTarget; diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/indexed-properties.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/indexed-properties.widl new file mode 100644 index 00000000000..acf0ed3bf84 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/indexed-properties.widl @@ -0,0 +1,12 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface OrderedMap { + readonly attribute unsigned long size; + + getter any getByIndex(unsigned long index); + setter void setByIndex(unsigned long index, any value); + deleter void removeByIndex(unsigned long index); + + getter any get(DOMString name); + setter creator void set(DOMString name, any value); + deleter void remove(DOMString name); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/inherits-getter.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/inherits-getter.widl new file mode 100644 index 00000000000..558e8116494 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/inherits-getter.widl @@ -0,0 +1,16 @@ +interface Animal { + + // A simple attribute that can be set to any string value. + readonly attribute DOMString name; +}; + +interface Person : Animal { + + // An attribute whose value cannot be assigned to. + readonly attribute unsigned short age; + + // An attribute that can raise an exception if it is set to an invalid value. + // Its getter behavior is inherited from Animal, and need not be specified + // the description of Person. + inherit attribute DOMString name; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/interface-inherits.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/interface-inherits.widl new file mode 100644 index 00000000000..7921def7727 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/interface-inherits.widl @@ -0,0 +1,12 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Animal { + attribute DOMString name; +}; + +interface Human : Animal { + attribute Dog pet; +}; + +interface Dog : Animal { + attribute Human owner; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/iterator.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/iterator.widl new file mode 100644 index 00000000000..3bf1b36dec6 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/iterator.widl @@ -0,0 +1,35 @@ +interface SessionManager { + Session getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session iterator; +}; + +interface Session { + readonly attribute DOMString username; + // ... +}; + +interface SessionManager2 { + Session2 getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session2 iterator = SessionIterator; +}; + +interface Session2 { + readonly attribute DOMString username; + // ... +}; + +interface SessionIterator { + readonly attribute unsigned long remainingSessions; +}; + + interface NodeList { + Node iterator = NodeIterator; + }; + + interface NodeIterator { + Node iterator object; + }; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/namedconstructor.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/namedconstructor.widl new file mode 100644 index 00000000000..c468b78f8e1 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/namedconstructor.widl @@ -0,0 +1,6 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[NamedConstructor=Audio, + NamedConstructor=Audio(DOMString src)] +interface HTMLAudioElement : HTMLMediaElement { + // ... +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nointerfaceobject.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nointerfaceobject.widl new file mode 100644 index 00000000000..c17d75ff8fd --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nointerfaceobject.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[NoInterfaceObject] +interface Query { + any lookupEntry(unsigned long key); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullable.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullable.widl new file mode 100644 index 00000000000..ccbf625ff8a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullable.widl @@ -0,0 +1,9 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface MyConstants { + const boolean? ARE_WE_THERE_YET = false; +}; + +interface Node { + readonly attribute DOMString? namespaceURI; + // ... +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullableobjects.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullableobjects.widl new file mode 100644 index 00000000000..83d1d40b2ac --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/nullableobjects.widl @@ -0,0 +1,13 @@ +// Extracted from WebIDL spec 2011-05-23 + +interface A { + // ... +}; +interface B { + // ... +}; +interface C { + void f(A? x); + void f(B? x); + +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/operation-optional-arg.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/operation-optional-arg.widl new file mode 100644 index 00000000000..379053b45f1 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/operation-optional-arg.widl @@ -0,0 +1,4 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface ColorCreator { + object createColor(float v1, float v2, float v3, optional float alpha = 3.5); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overloading.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overloading.widl new file mode 100644 index 00000000000..ef1288a8877 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overloading.widl @@ -0,0 +1,20 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface A { + // ... +}; + +interface B { + // ... +}; + +interface C { + void f(A x); + void f(B x); +}; + +interface A { + /* f1 */ void f(DOMString a); + /* f2 */ void f([AllowAny] DOMString a, DOMString b, float... c); + /* f3 */ void f(); + /* f4 */ void f(long a, DOMString b, optional DOMString c, float... d); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overridebuiltins.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overridebuiltins.widl new file mode 100644 index 00000000000..79211c29e84 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/overridebuiltins.widl @@ -0,0 +1,6 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[OverrideBuiltins] +interface StringMap2 { + readonly attribute unsigned long length; + getter DOMString lookup(DOMString key); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/partial-interface.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/partial-interface.widl new file mode 100644 index 00000000000..90e7e0ea421 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/partial-interface.widl @@ -0,0 +1,7 @@ +interface Foo { + attribute DOMString bar; +}; + +partial interface Foo { + attribute DOMString quux; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/primitives.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/primitives.widl new file mode 100644 index 00000000000..92939601a1a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/primitives.widl @@ -0,0 +1,19 @@ +interface Primitives { + attribute boolean truth; + attribute byte character; + attribute octet value; + attribute short number; + attribute unsigned short positive; + attribute long big; + attribute unsigned long bigpositive; + attribute long long bigbig; + attribute unsigned long long bigbigpositive; + attribute float real; + attribute double bigreal; + attribute unrestricted float realwithinfinity; + attribute unrestricted double bigrealwithinfinity; + attribute DOMString string; + attribute ByteString bytes; + attribute Date date; + attribute RegExp regexp; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/prototyperoot.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/prototyperoot.widl new file mode 100644 index 00000000000..30dd5cbca13 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/prototyperoot.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[PrototypeRoot] +interface Node { + readonly attribute unsigned short nodeType; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/putforwards.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/putforwards.widl new file mode 100644 index 00000000000..1e50a4ee394 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/putforwards.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Person { + [PutForwards=full] readonly attribute Name name; + attribute unsigned short age; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/reg-operations.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/reg-operations.widl new file mode 100644 index 00000000000..13997cb1d12 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/reg-operations.widl @@ -0,0 +1,17 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dimensions { + attribute unsigned long width; + attribute unsigned long height; +}; + +exception NoPointerDevice { }; + +interface Button { + + // An operation that takes no arguments, returns a boolean + boolean isMouseOver(); + + // Overloaded operations. + void setDimensions(Dimensions size); + void setDimensions(unsigned long width, unsigned long height); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/replaceable.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/replaceable.widl new file mode 100644 index 00000000000..c14d0c37689 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/replaceable.widl @@ -0,0 +1,5 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Counter { + [Replaceable] readonly attribute unsigned long value; + void increment(); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/sequence.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/sequence.widl new file mode 100644 index 00000000000..a1aa931f5f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/sequence.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +// edited to remove sequence as attributes, now invalid +interface Canvas { + void drawPolygon(sequence coordinates); + sequence getInflectionPoints(); + // ... +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/serializer.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/serializer.widl new file mode 100644 index 00000000000..6f6ccd0e8d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/serializer.widl @@ -0,0 +1,64 @@ +interface Transaction { + readonly attribute Account from; + readonly attribute Account to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer; +}; + +interface Account { + attribute DOMString name; + attribute unsigned long number; + serializer DOMString serialize(); +}; + +interface Transaction2 { + readonly attribute Account2 from; + readonly attribute Account2 to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer = { from, to, amount, description }; +}; + +interface Account2 { + attribute DOMString name; + attribute unsigned long number; + serializer = number; +}; + +interface Account3 { + attribute DOMString name; + attribute unsigned long number; + + serializer = { attribute }; +}; + +interface Account4 { + getter object getItem(unsigned long index); + serializer = { getter }; +}; + +interface Account5 : Account { + attribute DOMString secondname; + serializer = { inherit, secondname }; +}; + +interface Account6 : Account { + attribute DOMString secondname; + serializer = { inherit, attribute }; +}; + +interface Account7 { + attribute DOMString name; + attribute unsigned long number; + serializer = [ name, number ]; +}; + +interface Account8 { + getter object getItem(unsigned long index); + serializer = [ getter ]; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/static.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/static.widl new file mode 100644 index 00000000000..5b2cd36590f --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/static.widl @@ -0,0 +1,11 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Point { /* ... */ }; + +interface Circle { + attribute float cx; + attribute float cy; + attribute float radius; + + static readonly attribute long triangulationCount; + static Point triangulate(Circle c1, Circle c2, Circle c3); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-attribute.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-attribute.widl new file mode 100644 index 00000000000..c964ecb93e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-attribute.widl @@ -0,0 +1,6 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[Constructor] +interface Student { + attribute unsigned long id; + stringifier attribute DOMString name; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-custom.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-custom.widl new file mode 100644 index 00000000000..b5d7c87e7f4 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier-custom.widl @@ -0,0 +1,9 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +[Constructor] +interface Student { + attribute unsigned long id; + attribute DOMString? familyName; + attribute DOMString givenName; + + stringifier DOMString (); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier.widl new file mode 100644 index 00000000000..4eb483d9b53 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/stringifier.widl @@ -0,0 +1,8 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface A { + stringifier DOMString (); +}; + +interface A { + stringifier; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasnull.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasnull.widl new file mode 100644 index 00000000000..d3c55b008c0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasnull.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Dog { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatNullAs=EmptyString] DOMString breedName); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasundefined.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasundefined.widl new file mode 100644 index 00000000000..e30050f8413 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/treatasundefined.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface Cat { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatUndefinedAs=EmptyString] DOMString breedName); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typedef.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typedef.widl new file mode 100644 index 00000000000..b4c17d8d36a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typedef.widl @@ -0,0 +1,22 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 + interface Point { + attribute float x; + attribute float y; + }; + + typedef sequence PointSequence; + + interface Rect { + attribute Point topleft; + attribute Point bottomright; + }; + + interface Widget { + + readonly attribute Rect bounds; + + boolean pointWithinBounds(Point p); + boolean allPointsWithinBounds(PointSequence ps); + }; + + typedef [Clamp] octet value; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typesuffixes.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typesuffixes.widl new file mode 100644 index 00000000000..95e31c16902 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/typesuffixes.widl @@ -0,0 +1,3 @@ +interface Suffixes { + void test(sequence? foo); +}; diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/uniontype.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/uniontype.widl new file mode 100644 index 00000000000..4d99f019630 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/uniontype.widl @@ -0,0 +1,3 @@ +interface Union { + attribute (float or (Date or Event) or (Node or DOMString)?) test; +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/variadic-operations.widl b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/variadic-operations.widl new file mode 100644 index 00000000000..51fae4cc1ea --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/idl/variadic-operations.widl @@ -0,0 +1,7 @@ +// Extracted from http://dev.w3.org/2006/webapi/WebIDL/ on 2011-05-06 +interface IntegerSet { + readonly attribute unsigned long cardinality; + + void union(long... ints); + void intersection(long... ints); +}; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/allowany.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/allowany.widlprocxml new file mode 100644 index 00000000000..7da508bcb5c --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/allowany.widlprocxml @@ -0,0 +1,44 @@ + + + + interface B { + void g(); + void g(B b); + void g([AllowAny] DOMString s); +}; + + interface B { + void g(); + void g(B b); + void g([AllowAny] DOMString s); +}; + + void g(); + + + + + void g(B b); + + + + + + + + + void g([AllowAny] DOMString s); + + + + + + AllowAny + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/array.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/array.widlprocxml new file mode 100644 index 00000000000..3df72ff1608 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/array.widlprocxml @@ -0,0 +1,27 @@ + + + + [Constructor] +interface LotteryResults { + readonly attribute unsigned short[][] numbers; +}; + + [Constructor] +interface LotteryResults { + readonly attribute unsigned short[][] numbers; +}; + + + Constructor + + + + readonly attribute unsigned short[][] numbers; + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/attributes.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/attributes.widlprocxml new file mode 100644 index 00000000000..89bd8ac9b01 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/attributes.widlprocxml @@ -0,0 +1,38 @@ + + + + exception InvalidName { + DOMString reason; +}; + +exception NoSuchPet { }; + +interface Person { + + attribute unsigned short age; + +}; + + exception InvalidName { + DOMString reason; +}; + + DOMString reason; + + + + + exception NoSuchPet { }; + + + interface Person { + + attribute unsigned short age; + +}; + + attribute unsigned short age; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/callback.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/callback.widlprocxml new file mode 100644 index 00000000000..9eac06ce279 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/callback.widlprocxml @@ -0,0 +1,32 @@ + + + + callback AsyncOperationCallback = void (DOMString status); + +callback interface EventHandler { + void eventOccurred(DOMString details); +}; + + callback AsyncOperationCallback = void (DOMString status); + + + + + + + + + callback interface EventHandler { + void eventOccurred(DOMString details); +}; + + void eventOccurred(DOMString details); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/caller.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/caller.widlprocxml new file mode 100644 index 00000000000..9754d4e0268 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/caller.widlprocxml @@ -0,0 +1,21 @@ + + + + interface NumberQuadrupler { + legacycaller float compute(float x); +}; + + interface NumberQuadrupler { + legacycaller float compute(float x); +}; + + legacycaller float compute(float x); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constants.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constants.widlprocxml new file mode 100644 index 00000000000..51cb4331f75 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constants.widlprocxml @@ -0,0 +1,85 @@ + + + + interface Util { + const boolean DEBUG = false; + const short negative = -1; + const octet LF = 10; + const unsigned long BIT_MASK = 0x0000fc00; + const float AVOGADRO = 6.022e23; + const unrestricted float sobig = Infinity; + const unrestricted double minusonedividedbyzero = -Infinity; + const short notanumber = NaN; +}; + +exception Error { + const short ERR_UNKNOWN = 0; + const short ERR_OUT_OF_MEMORY = 1; + + short errorCode; +}; + + interface Util { + const boolean DEBUG = false; + const short negative = -1; + const octet LF = 10; + const unsigned long BIT_MASK = 0x0000fc00; + const float AVOGADRO = 6.022e23; + const unrestricted float sobig = Infinity; + const unrestricted double minusonedividedbyzero = -Infinity; + const short notanumber = NaN; +}; + + const boolean DEBUG = false; + + + + const short negative = -1; + + + + const octet LF = 10; + + + + const unsigned long BIT_MASK = 0x0000fc00; + + + + const float AVOGADRO = 6.022e23; + + + + const unrestricted float sobig = Infinity; + + + + const unrestricted double minusonedividedbyzero = -Infinity; + + + + const short notanumber = NaN; + + + + + exception Error { + const short ERR_UNKNOWN = 0; + const short ERR_OUT_OF_MEMORY = 1; + + short errorCode; +}; + + const short ERR_UNKNOWN = 0; + + + + const short ERR_OUT_OF_MEMORY = 1; + + + + short errorCode; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constructor.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constructor.widlprocxml new file mode 100644 index 00000000000..8e78fbab365 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/constructor.widlprocxml @@ -0,0 +1,51 @@ + + + + [Constructor, + Constructor(float radius)] +interface Circle { + attribute float r; + attribute float cx; + attribute float cy; + readonly attribute float circumference; +}; + + [Constructor, + Constructor(float radius)] +interface Circle { + attribute float r; + attribute float cx; + attribute float cy; + readonly attribute float circumference; +}; + + + Constructor + + + Constructor(float radius) + + + + + + + + + attribute float r; + + + + attribute float cx; + + + + attribute float cy; + + + + readonly attribute float circumference; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary-inherits.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary-inherits.widlprocxml new file mode 100644 index 00000000000..269a83cd849 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary-inherits.widlprocxml @@ -0,0 +1,44 @@ + + + + dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + +dictionary WetPaintOptions : PaintOptions { + float hydrometry; +}; + + dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + + DOMString? fillPattern = "black"; + + + + DOMString? strokePattern = null; + + + + Point position; + + + + + dictionary WetPaintOptions : PaintOptions { + float hydrometry; +}; + + + + + float hydrometry; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary.widlprocxml new file mode 100644 index 00000000000..978ccb4e271 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/dictionary.widlprocxml @@ -0,0 +1,47 @@ + + + + dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + +partial dictionary A { + long h; + long d; +}; + + dictionary PaintOptions { + DOMString? fillPattern = "black"; + DOMString? strokePattern = null; + Point position; +}; + + DOMString? fillPattern = "black"; + + + + DOMString? strokePattern = null; + + + + Point position; + + + + + partial dictionary A { + long h; + long d; +}; + + long h; + + + + long d; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation-dos.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation-dos.widlprocxml new file mode 100644 index 00000000000..1611f0e576a --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation-dos.widlprocxml @@ -0,0 +1,59 @@ + + + + interface Documentation {}; + + interface Documentation {}; + + + Testing documentation features + + +

                                                                                                                                                                                                                                                                                        +This is a +single paragraph +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is valid.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is valid.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is valid.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is valid.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • +This
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • +is
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • +valid
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +This
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +valid
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                        +this +is
                                                                                                                                                                                                                                                                                        +valid
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation.widlprocxml new file mode 100644 index 00000000000..afe4527c221 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/documentation.widlprocxml @@ -0,0 +1,61 @@ + + + + interface Documentation {}; + + interface Documentation {}; + + + Testing documentation features + + +

                                                                                                                                                                                                                                                                                        +This is a +single paragraph +

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is valid.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is valid.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is valid.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is valid.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • +This
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • +is
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • +valid
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +This
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +valid
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + + + + + + +
                                                                                                                                                                                                                                                                                        +this +is
                                                                                                                                                                                                                                                                                        +valid
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +This is
                                                                                                                                                                                                                                                                                        valid.

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        +Valid

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/enum.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/enum.widlprocxml new file mode 100644 index 00000000000..e1e8258fbd0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/enum.widlprocxml @@ -0,0 +1,52 @@ + + + + enum MealType { "rice", "noodles", "other" }; + +interface Meal { + attribute MealType type; + attribute float size; + + void initialize(MealType type, float size); +}; + + enum MealType { "rice", "noodles", "other" }; + + "rice + + + "noodles + + + "other + + + + interface Meal { + attribute MealType type; + attribute float size; + + void initialize(MealType type, float size); +}; + + attribute MealType type; + + + + attribute float size; + + + + void initialize(MealType type, float size); + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/equivalent-decl.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/equivalent-decl.widlprocxml new file mode 100644 index 00000000000..c322d0a5e22 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/equivalent-decl.widlprocxml @@ -0,0 +1,111 @@ + + + + interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float getProperty(DOMString propertyName); + setter void setProperty(DOMString propertyName, float propertyValue); +}; + + +interface Dictionary { + readonly attribute unsigned long propertyCount; + + float getProperty(DOMString propertyName); + void setProperty(DOMString propertyName, float propertyValue); + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; + + interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float getProperty(DOMString propertyName); + setter void setProperty(DOMString propertyName, float propertyValue); +}; + + readonly attribute unsigned long propertyCount; + + + + getter float getProperty(DOMString propertyName); + + + + + + + + + setter void setProperty(DOMString propertyName, float propertyValue); + + + + + + + + + + + + + interface Dictionary { + readonly attribute unsigned long propertyCount; + + float getProperty(DOMString propertyName); + void setProperty(DOMString propertyName, float propertyValue); + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; + + readonly attribute unsigned long propertyCount; + + + + float getProperty(DOMString propertyName); + + + + + + + + + void setProperty(DOMString propertyName, float propertyValue); + + + + + + + + + + + + getter float (DOMString propertyName); + + + + + + + + + setter void (DOMString propertyName, float propertyValue); + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception-inheritance.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception-inheritance.widlprocxml new file mode 100644 index 00000000000..3a1f868a4b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception-inheritance.widlprocxml @@ -0,0 +1,31 @@ + + + + exception DOMException { + unsigned short code; + }; + + exception HierarchyRequestError : DOMException { }; + exception NoModificationAllowedError : DOMException { }; + + exception DOMException { + unsigned short code; + }; + + unsigned short code; + + + + + exception HierarchyRequestError : DOMException { }; + + + + + + exception NoModificationAllowedError : DOMException { }; + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception.widlprocxml new file mode 100644 index 00000000000..ac93320fe16 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/exception.widlprocxml @@ -0,0 +1,23 @@ + + + + interface Dahut { + attribute DOMString type; +}; + +exception SomeException { +}; + + interface Dahut { + attribute DOMString type; +}; + + attribute DOMString type; + + + + + exception SomeException { +}; + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/getter-setter.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/getter-setter.widlprocxml new file mode 100644 index 00000000000..76afc058c68 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/getter-setter.widlprocxml @@ -0,0 +1,43 @@ + + + + interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; + + interface Dictionary { + readonly attribute unsigned long propertyCount; + + getter float (DOMString propertyName); + setter void (DOMString propertyName, float propertyValue); +}; + + readonly attribute unsigned long propertyCount; + + + + getter float (DOMString propertyName); + + + + + + + + + setter void (DOMString propertyName, float propertyValue); + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/identifier-qualified-names.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/identifier-qualified-names.widlprocxml new file mode 100644 index 00000000000..b6024e5ff68 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/identifier-qualified-names.widlprocxml @@ -0,0 +1,107 @@ + + + + typedef float number; + + exception FrameworkException { + + const long ERR_NOT_FOUND = 1; + + long code; + }; + + interface System { + + object createObject(DOMString _interface); + + getter DOMString (DOMString keyName); + }; + + + interface TextField { + + attribute boolean _const; + + attribute DOMString? _value; + }; + +interface Foo { + void op(object interface); +}; + + typedef float number; + + + + exception FrameworkException { + + const long ERR_NOT_FOUND = 1; + + long code; + }; + + const long ERR_NOT_FOUND = 1; + + + + long code; + + + + + interface System { + + object createObject(DOMString _interface); + + getter DOMString (DOMString keyName); + }; + + object createObject(DOMString _interface); + + + + + + + + + getter DOMString (DOMString keyName); + + + + + + + + + + interface TextField { + + attribute boolean _const; + + attribute DOMString? _value; + }; + + attribute boolean _const; + + + + attribute DOMString? _value; + + + + + interface Foo { + void op(object interface); +}; + + void op(object interface); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/implements.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/implements.widlprocxml new file mode 100644 index 00000000000..3d1c1ab8478 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/implements.widlprocxml @@ -0,0 +1,51 @@ + + + + interface Node { + readonly attribute unsigned short nodeType; + }; + + interface EventTarget { + void addEventListener(DOMString type, + EventListener listener, + boolean useCapture); + }; + + Node implements EventTarget; + + interface Node { + readonly attribute unsigned short nodeType; + }; + + readonly attribute unsigned short nodeType; + + + + + interface EventTarget { + void addEventListener(DOMString type, + EventListener listener, + boolean useCapture); + }; + + void addEventListener(DOMString type, + EventListener listener, + boolean useCapture); + + + + + + + + + + + + + + + + Node implements EventTarget; + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/indexed-properties.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/indexed-properties.widlprocxml new file mode 100644 index 00000000000..fb83621b60d --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/indexed-properties.widlprocxml @@ -0,0 +1,92 @@ + + + + interface OrderedMap { + readonly attribute unsigned long size; + + getter any getByIndex(unsigned long index); + setter void setByIndex(unsigned long index, any value); + deleter void removeByIndex(unsigned long index); + + getter any get(DOMString name); + setter creator void set(DOMString name, any value); + deleter void remove(DOMString name); +}; + + interface OrderedMap { + readonly attribute unsigned long size; + + getter any getByIndex(unsigned long index); + setter void setByIndex(unsigned long index, any value); + deleter void removeByIndex(unsigned long index); + + getter any get(DOMString name); + setter creator void set(DOMString name, any value); + deleter void remove(DOMString name); +}; + + readonly attribute unsigned long size; + + + + getter any getByIndex(unsigned long index); + + + + + + + + + setter void setByIndex(unsigned long index, any value); + + + + + + + + + + + + deleter void removeByIndex(unsigned long index); + + + + + + + + + getter any get(DOMString name); + + + + + + + + + setter creator void set(DOMString name, any value); + + + + + + + + + + + + deleter void remove(DOMString name); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/inherits-getter.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/inherits-getter.widlprocxml new file mode 100644 index 00000000000..55e7a317fd9 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/inherits-getter.widlprocxml @@ -0,0 +1,44 @@ + + + + interface Animal { + + readonly attribute DOMString name; +}; + +interface Person : Animal { + + readonly attribute unsigned short age; + + inherit attribute DOMString name; +}; + + interface Animal { + + readonly attribute DOMString name; +}; + + readonly attribute DOMString name; + + + + + interface Person : Animal { + + readonly attribute unsigned short age; + + inherit attribute DOMString name; +}; + + + + + readonly attribute unsigned short age; + + + + inherit attribute DOMString name; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/interface-inherits.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/interface-inherits.widlprocxml new file mode 100644 index 00000000000..94f0e29df05 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/interface-inherits.widlprocxml @@ -0,0 +1,48 @@ + + + + interface Animal { + attribute DOMString name; +}; + +interface Human : Animal { + attribute Dog pet; +}; + +interface Dog : Animal { + attribute Human owner; +}; + + interface Animal { + attribute DOMString name; +}; + + attribute DOMString name; + + + + + interface Human : Animal { + attribute Dog pet; +}; + + + + + attribute Dog pet; + + + + + interface Dog : Animal { + attribute Human owner; +}; + + + + + attribute Human owner; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/iterator.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/iterator.widlprocxml new file mode 100644 index 00000000000..8ca95fbbd17 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/iterator.widlprocxml @@ -0,0 +1,132 @@ + + + + interface SessionManager { + Session getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session iterator; +}; + +interface Session { + readonly attribute DOMString username; +}; + +interface SessionManager2 { + Session2 getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session2 iterator = SessionIterator; +}; + +interface Session2 { + readonly attribute DOMString username; +}; + +interface SessionIterator { + readonly attribute unsigned long remainingSessions; +}; + + interface NodeList { + Node iterator = NodeIterator; + }; + + interface NodeIterator { + Node iterator object; + }; + + interface SessionManager { + Session getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session iterator; +}; + + Session getSessionForUser(DOMString username); + + + + + + + + + readonly attribute unsigned long sessionCount; + + + + Session iterator; + + + + + interface Session { + readonly attribute DOMString username; +}; + + readonly attribute DOMString username; + + + + + interface SessionManager2 { + Session2 getSessionForUser(DOMString username); + readonly attribute unsigned long sessionCount; + + Session2 iterator = SessionIterator; +}; + + Session2 getSessionForUser(DOMString username); + + + + + + + + + readonly attribute unsigned long sessionCount; + + + + Session2 iterator = SessionIterator; + + + + + interface Session2 { + readonly attribute DOMString username; +}; + + readonly attribute DOMString username; + + + + + interface SessionIterator { + readonly attribute unsigned long remainingSessions; +}; + + readonly attribute unsigned long remainingSessions; + + + + + interface NodeList { + Node iterator = NodeIterator; + }; + + Node iterator = NodeIterator; + + + + + interface NodeIterator { + Node iterator object; + }; + + Node iterator object; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/module.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/module.widlprocxml new file mode 100644 index 00000000000..b575b8705af --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/module.widlprocxml @@ -0,0 +1,99 @@ + + + + + module gfx { + + module geom { + interface Shape { }; + interface Rectangle : Shape { }; + interface Path : Shape { }; + }; + + interface GraphicsContext { + void fillShape(geom::Shape s); + void strokeShape(geom::Shape s); + }; +}; + + module geom { + interface Shape { }; + interface Rectangle : Shape { }; + interface Path : Shape { }; + }; + + interface Shape { }; + + + interface Rectangle : Shape { }; + + + + + + interface Path : Shape { }; + + + + + + + interface GraphicsContext { + void fillShape(geom::Shape s); + void strokeShape(geom::Shape s); + }; + + void fillShape(geom::Shape s); + + + + + + + + + void strokeShape(geom::Shape s); + + + + + + + + + + + module gui { + + interface Widget { }; + + interface Window : Widget { + gfx::GraphicsContext getGraphicsContext(); + }; + + interface Button : Widget { }; +}; + + interface Widget { }; + + + interface Window : Widget { + gfx::GraphicsContext getGraphicsContext(); + }; + + + + + gfx::GraphicsContext getGraphicsContext(); + + + + + + interface Button : Widget { }; + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namedconstructor.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namedconstructor.widlprocxml new file mode 100644 index 00000000000..9f661612879 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namedconstructor.widlprocxml @@ -0,0 +1,30 @@ + + + + [NamedConstructor=Audio, + NamedConstructor=Audio(DOMString src)] +interface HTMLAudioElement : HTMLMediaElement { +}; + + [NamedConstructor=Audio, + NamedConstructor=Audio(DOMString src)] +interface HTMLAudioElement : HTMLMediaElement { +}; + + + NamedConstructor + + + NamedConstructor=Audio(DOMString src) + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namespaceobject.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namespaceobject.widlprocxml new file mode 100644 index 00000000000..af0cde93719 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/namespaceobject.widlprocxml @@ -0,0 +1,60 @@ + + + + + [NamespaceObject] +module acme { + + exception DeviceException { }; + + module pim { + + [Constructor] + interface Contact { }; + + [Constructor, + NamedConstructor=RecurringEvent(long freq)] + interface CalendarEvent { }; + }; +}; + + + + + exception DeviceException { }; + + + module pim { + + [Constructor] + interface Contact { }; + + [Constructor, + NamedConstructor=RecurringEvent(long freq)] + interface CalendarEvent { }; + }; + + [Constructor] + interface Contact { }; + + + + + + [Constructor, + NamedConstructor=RecurringEvent(long freq)] + interface CalendarEvent { }; + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nointerfaceobject.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nointerfaceobject.widlprocxml new file mode 100644 index 00000000000..f64f116b60f --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nointerfaceobject.widlprocxml @@ -0,0 +1,28 @@ + + + + [NoInterfaceObject] +interface Query { + any lookupEntry(unsigned long key); +}; + + [NoInterfaceObject] +interface Query { + any lookupEntry(unsigned long key); +}; + + + NoInterfaceObject + + + + any lookupEntry(unsigned long key); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullable.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullable.widlprocxml new file mode 100644 index 00000000000..8739e443262 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullable.widlprocxml @@ -0,0 +1,29 @@ + + + + interface MyConstants { + const boolean? ARE_WE_THERE_YET = false; +}; + +interface Node { + readonly attribute DOMString? namespaceURI; +}; + + interface MyConstants { + const boolean? ARE_WE_THERE_YET = false; +}; + + const boolean? ARE_WE_THERE_YET = false; + + + + + interface Node { + readonly attribute DOMString? namespaceURI; +}; + + readonly attribute DOMString? namespaceURI; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullableobjects.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullableobjects.widlprocxml new file mode 100644 index 00000000000..22d9fdd25d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/nullableobjects.widlprocxml @@ -0,0 +1,46 @@ + + + + interface A { +}; +interface B { +}; +interface C { + void f(A? x); + void f(B? x); + +}; + + interface A { +}; + + + interface B { +}; + + + interface C { + void f(A? x); + void f(B? x); + +}; + + void f(A? x); + + + + + + + + + void f(B? x); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/operation-optional-arg.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/operation-optional-arg.widlprocxml new file mode 100644 index 00000000000..54aef1f87e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/operation-optional-arg.widlprocxml @@ -0,0 +1,30 @@ + + + + interface ColorCreator { + object createColor(float v1, float v2, float v3, optional float alpha = 3.5); +}; + + interface ColorCreator { + object createColor(float v1, float v2, float v3, optional float alpha = 3.5); +}; + + object createColor(float v1, float v2, float v3, optional float alpha = 3.5); + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overloading.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overloading.widlprocxml new file mode 100644 index 00000000000..db6da7a68c7 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overloading.widlprocxml @@ -0,0 +1,113 @@ + + + + interface A { +}; + +interface B { +}; + +interface C { + void f(A x); + void f(B x); +}; + +interface A { +void f(DOMString a); +void f([AllowAny] DOMString a, DOMString b, float... c); +void f(); +void f(long a, DOMString b, optional DOMString c, float... d); +}; + + interface A { +}; + + + interface B { +}; + + + interface C { + void f(A x); + void f(B x); +}; + + void f(A x); + + + + + + + + + void f(B x); + + + + + + + + + + interface A { +void f(DOMString a); +void f([AllowAny] DOMString a, DOMString b, float... c); +void f(); +void f(long a, DOMString b, optional DOMString c, float... d); +}; + + void f(DOMString a); + + + + + + + + + void f([AllowAny] DOMString a, DOMString b, float... c); + + + + + + AllowAny + + + + + + + + + + + + + + void f(); + + + + + void f(long a, DOMString b, optional DOMString c, float... d); + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overridebuiltins.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overridebuiltins.widlprocxml new file mode 100644 index 00000000000..56c92517beb --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/overridebuiltins.widlprocxml @@ -0,0 +1,34 @@ + + + + [OverrideBuiltins] +interface StringMap2 { + readonly attribute unsigned long length; + getter DOMString lookup(DOMString key); +}; + + [OverrideBuiltins] +interface StringMap2 { + readonly attribute unsigned long length; + getter DOMString lookup(DOMString key); +}; + + + OverrideBuiltins + + + + readonly attribute unsigned long length; + + + + getter DOMString lookup(DOMString key); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/partial-interface.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/partial-interface.widlprocxml new file mode 100644 index 00000000000..8d7dcb4e4f7 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/partial-interface.widlprocxml @@ -0,0 +1,29 @@ + + + + interface Foo { + attribute DOMString bar; +}; + +partial interface Foo { + attribute DOMString quux; +}; + + interface Foo { + attribute DOMString bar; +}; + + attribute DOMString bar; + + + + + partial interface Foo { + attribute DOMString quux; +}; + + attribute DOMString quux; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/primitives.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/primitives.widlprocxml new file mode 100644 index 00000000000..46977a2d74e --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/primitives.widlprocxml @@ -0,0 +1,112 @@ + + + + interface Primitives { + attribute boolean truth; + attribute byte character; + attribute octet value; + attribute short number; + attribute unsigned short positive; + attribute long big; + attribute unsigned long bigpositive; + attribute long long bigbig; + attribute unsigned long long bigbigpositive; + attribute float real; + attribute double bigreal; + attribute unrestricted float realwithinfinity; + attribute unrestricted double bigrealwithinfinity; + attribute DOMString string; + attribute ByteString bytes; + attribute Date date; + attribute RegExp regexp; +}; + + interface Primitives { + attribute boolean truth; + attribute byte character; + attribute octet value; + attribute short number; + attribute unsigned short positive; + attribute long big; + attribute unsigned long bigpositive; + attribute long long bigbig; + attribute unsigned long long bigbigpositive; + attribute float real; + attribute double bigreal; + attribute unrestricted float realwithinfinity; + attribute unrestricted double bigrealwithinfinity; + attribute DOMString string; + attribute ByteString bytes; + attribute Date date; + attribute RegExp regexp; +}; + + attribute boolean truth; + + + + attribute byte character; + + + + attribute octet value; + + + + attribute short number; + + + + attribute unsigned short positive; + + + + attribute long big; + + + + attribute unsigned long bigpositive; + + + + attribute long long bigbig; + + + + attribute unsigned long long bigbigpositive; + + + + attribute float real; + + + + attribute double bigreal; + + + + attribute unrestricted float realwithinfinity; + + + + attribute unrestricted double bigrealwithinfinity; + + + + attribute DOMString string; + + + + attribute ByteString bytes; + + + + attribute Date date; + + + + attribute RegExp regexp; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/prototyperoot.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/prototyperoot.widlprocxml new file mode 100644 index 00000000000..2e56cd75ec3 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/prototyperoot.widlprocxml @@ -0,0 +1,23 @@ + + + + [PrototypeRoot] +interface Node { + readonly attribute unsigned short nodeType; +}; + + [PrototypeRoot] +interface Node { + readonly attribute unsigned short nodeType; +}; + + + PrototypeRoot + + + + readonly attribute unsigned short nodeType; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/putforwards.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/putforwards.widlprocxml new file mode 100644 index 00000000000..634fad55a56 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/putforwards.widlprocxml @@ -0,0 +1,27 @@ + + + + interface Person { + [PutForwards=full] readonly attribute Name name; + attribute unsigned short age; +}; + + interface Person { + [PutForwards=full] readonly attribute Name name; + attribute unsigned short age; +}; + + [PutForwards=full] readonly attribute Name name; + + + PutForwards + + + + + + attribute unsigned short age; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/reg-operations.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/reg-operations.widlprocxml new file mode 100644 index 00000000000..3b756ed68d8 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/reg-operations.widlprocxml @@ -0,0 +1,70 @@ + + + + interface Dimensions { + attribute unsigned long width; + attribute unsigned long height; +}; + +exception NoPointerDevice { }; + +interface Button { + + boolean isMouseOver(); + + void setDimensions(Dimensions size); + void setDimensions(unsigned long width, unsigned long height); +}; + + interface Dimensions { + attribute unsigned long width; + attribute unsigned long height; +}; + + attribute unsigned long width; + + + + attribute unsigned long height; + + + + + exception NoPointerDevice { }; + + + interface Button { + + boolean isMouseOver(); + + void setDimensions(Dimensions size); + void setDimensions(unsigned long width, unsigned long height); +}; + + boolean isMouseOver(); + + + + + void setDimensions(Dimensions size); + + + + + + + + + void setDimensions(unsigned long width, unsigned long height); + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/replaceable.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/replaceable.widlprocxml new file mode 100644 index 00000000000..f9762166825 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/replaceable.widlprocxml @@ -0,0 +1,28 @@ + + + + interface Counter { + [Replaceable] readonly attribute unsigned long value; + void increment(); +}; + + interface Counter { + [Replaceable] readonly attribute unsigned long value; + void increment(); +}; + + [Replaceable] readonly attribute unsigned long value; + + + Replaceable + + + + + + void increment(); + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/sequence.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/sequence.widlprocxml new file mode 100644 index 00000000000..d5f4564175b --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/sequence.widlprocxml @@ -0,0 +1,32 @@ + + + + interface Canvas { + void drawPolygon(sequence<float> coordinates); + sequence<float> getInflectionPoints(); +}; + + interface Canvas { + void drawPolygon(sequence<float> coordinates); + sequence<float> getInflectionPoints(); +}; + + void drawPolygon(sequence<float> coordinates); + + + + + + + + + + + sequence<float> getInflectionPoints(); + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/serializer.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/serializer.widlprocxml new file mode 100644 index 00000000000..eb4219f8a5e --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/serializer.widlprocxml @@ -0,0 +1,296 @@ + + + + interface Transaction { + readonly attribute Account from; + readonly attribute Account to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer; +}; + +interface Account { + attribute DOMString name; + attribute unsigned long number; + serializer DOMString serialize(); +}; + +interface Transaction2 { + readonly attribute Account2 from; + readonly attribute Account2 to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer = { from, to, amount, description }; +}; + +interface Account2 { + attribute DOMString name; + attribute unsigned long number; + serializer = number; +}; + +interface Account3 { + attribute DOMString name; + attribute unsigned long number; + + serializer = { attribute }; +}; + +interface Account4 { + getter object getItem(unsigned long index); + serializer = { getter }; +}; + +interface Account5 : Account { + attribute DOMString secondname; + serializer = { inherit, secondname }; +}; + +interface Account6 : Account { + attribute DOMString secondname; + serializer = { inherit, attribute }; +}; + +interface Account7 { + attribute DOMString name; + attribute unsigned long number; + serializer = [ name, number ]; +}; + +interface Account8 { + getter object getItem(unsigned long index); + serializer = [ getter ]; +}; + + interface Transaction { + readonly attribute Account from; + readonly attribute Account to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer; +}; + + readonly attribute Account from; + + + + readonly attribute Account to; + + + + readonly attribute float amount; + + + + readonly attribute DOMString description; + + + + readonly attribute unsigned long number; + + + + serializer; + + + + interface Account { + attribute DOMString name; + attribute unsigned long number; + serializer DOMString serialize(); +}; + + attribute DOMString name; + + + + attribute unsigned long number; + + + + serializer DOMString serialize(); + + + + + + interface Transaction2 { + readonly attribute Account2 from; + readonly attribute Account2 to; + readonly attribute float amount; + readonly attribute DOMString description; + readonly attribute unsigned long number; + + serializer = { from, to, amount, description }; +}; + + readonly attribute Account2 from; + + + + readonly attribute Account2 to; + + + + readonly attribute float amount; + + + + readonly attribute DOMString description; + + + + readonly attribute unsigned long number; + + + + serializer = { from, to, amount, description }; + + + + + + + + + + interface Account2 { + attribute DOMString name; + attribute unsigned long number; + serializer = number; +}; + + attribute DOMString name; + + + + attribute unsigned long number; + + + + serializer = number; + + + + interface Account3 { + attribute DOMString name; + attribute unsigned long number; + + serializer = { attribute }; +}; + + attribute DOMString name; + + + + attribute unsigned long number; + + + + serializer = { attribute }; + + + + + interface Account4 { + getter object getItem(unsigned long index); + serializer = { getter }; +}; + + getter object getItem(unsigned long index); + + + + + + + + + serializer = { getter }; + + + + + interface Account5 : Account { + attribute DOMString secondname; + serializer = { inherit, secondname }; +}; + + + + + attribute DOMString secondname; + + + + serializer = { inherit, secondname }; + + + + + + + interface Account6 : Account { + attribute DOMString secondname; + serializer = { inherit, attribute }; +}; + + + + + attribute DOMString secondname; + + + + serializer = { inherit, attribute }; + + + + + interface Account7 { + attribute DOMString name; + attribute unsigned long number; + serializer = [ name, number ]; +}; + + attribute DOMString name; + + + + attribute unsigned long number; + + + + serializer = [ name, number ]; + + + + + + + + interface Account8 { + getter object getItem(unsigned long index); + serializer = [ getter ]; +}; + + getter object getItem(unsigned long index); + + + + + + + + + serializer = [ getter ]; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/special-omittable.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/special-omittable.widlprocxml new file mode 100644 index 00000000000..1986d190a80 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/special-omittable.widlprocxml @@ -0,0 +1,37 @@ + + + + + interface Dictionary { + readonly attribute unsigned long propertyCount; + + omittable getter float getProperty(DOMString propertyName); + omittable setter void setProperty(DOMString propertyName, float propertyValue); +}; + + readonly attribute unsigned long propertyCount; + + + + omittable getter float getProperty(DOMString propertyName); + + + + + + + + + omittable setter void setProperty(DOMString propertyName, float propertyValue); + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/static.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/static.widlprocxml new file mode 100644 index 00000000000..03c14e16eba --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/static.widlprocxml @@ -0,0 +1,58 @@ + + + + interface Point { }; + +interface Circle { + attribute float cx; + attribute float cy; + attribute float radius; + + static readonly attribute long triangulationCount; + static Point triangulate(Circle c1, Circle c2, Circle c3); +}; + + interface Point { }; + + + interface Circle { + attribute float cx; + attribute float cy; + attribute float radius; + + static readonly attribute long triangulationCount; + static Point triangulate(Circle c1, Circle c2, Circle c3); +}; + + attribute float cx; + + + + attribute float cy; + + + + attribute float radius; + + + + static readonly attribute long triangulationCount; + + + + static Point triangulate(Circle c1, Circle c2, Circle c3); + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-attribute.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-attribute.widlprocxml new file mode 100644 index 00000000000..082ce4d341b --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-attribute.widlprocxml @@ -0,0 +1,29 @@ + + + + [Constructor] +interface Student { + attribute unsigned long id; + stringifier attribute DOMString name; +}; + + [Constructor] +interface Student { + attribute unsigned long id; + stringifier attribute DOMString name; +}; + + + Constructor + + + + attribute unsigned long id; + + + + stringifier attribute DOMString name; + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-custom.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-custom.widlprocxml new file mode 100644 index 00000000000..cdab1ccfc37 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier-custom.widlprocxml @@ -0,0 +1,44 @@ + + + + [Constructor] +interface Student { + attribute unsigned long id; + attribute DOMString? familyName; + attribute DOMString givenName; + + stringifier DOMString (); +}; + + [Constructor] +interface Student { + attribute unsigned long id; + attribute DOMString? familyName; + attribute DOMString givenName; + + stringifier DOMString (); +}; + + + Constructor + + + + attribute unsigned long id; + + + + attribute DOMString? familyName; + + + + attribute DOMString givenName; + + + + stringifier DOMString (); + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier.widlprocxml new file mode 100644 index 00000000000..4a18b80b704 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/stringifier.widlprocxml @@ -0,0 +1,29 @@ + + + + interface A { + stringifier DOMString (); +}; + +interface A { + stringifier; +}; + + interface A { + stringifier DOMString (); +}; + + stringifier DOMString (); + + + + + + interface A { + stringifier; +}; + + stringifier; + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasnull.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasnull.widlprocxml new file mode 100644 index 00000000000..a57ae163f0b --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasnull.widlprocxml @@ -0,0 +1,40 @@ + + + + interface Dog { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatNullAs=EmptyString] DOMString breedName); +}; + + interface Dog { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatNullAs=EmptyString] DOMString breedName); +}; + + attribute DOMString name; + + + + attribute DOMString owner; + + + + boolean isMemberOfBreed([TreatNullAs=EmptyString] DOMString breedName); + + + + + + TreatNullAs + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasundefined.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasundefined.widlprocxml new file mode 100644 index 00000000000..17e71081da0 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/treatasundefined.widlprocxml @@ -0,0 +1,40 @@ + + + + interface Cat { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatUndefinedAs=EmptyString] DOMString breedName); +}; + + interface Cat { + attribute DOMString name; + attribute DOMString owner; + + boolean isMemberOfBreed([TreatUndefinedAs=EmptyString] DOMString breedName); +}; + + attribute DOMString name; + + + + attribute DOMString owner; + + + + boolean isMemberOfBreed([TreatUndefinedAs=EmptyString] DOMString breedName); + + + + + + TreatUndefinedAs + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typedef.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typedef.widlprocxml new file mode 100644 index 00000000000..785f6706e6d --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typedef.widlprocxml @@ -0,0 +1,100 @@ + + + + interface Point { + attribute float x; + attribute float y; + }; + + typedef sequence<Point> PointSequence; + + interface Rect { + attribute Point topleft; + attribute Point bottomright; + }; + + interface Widget { + + readonly attribute Rect bounds; + + boolean pointWithinBounds(Point p); + boolean allPointsWithinBounds(PointSequence ps); + }; + + typedef [Clamp] octet value; + + interface Point { + attribute float x; + attribute float y; + }; + + attribute float x; + + + + attribute float y; + + + + + typedef sequence<Point> PointSequence; + + + + + + interface Rect { + attribute Point topleft; + attribute Point bottomright; + }; + + attribute Point topleft; + + + + attribute Point bottomright; + + + + + interface Widget { + + readonly attribute Rect bounds; + + boolean pointWithinBounds(Point p); + boolean allPointsWithinBounds(PointSequence ps); + }; + + readonly attribute Rect bounds; + + + + boolean pointWithinBounds(Point p); + + + + + + + + + boolean allPointsWithinBounds(PointSequence ps); + + + + + + + + + + typedef [Clamp] octet value; + + + + Clamp + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typesuffixes.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typesuffixes.widlprocxml new file mode 100644 index 00000000000..830fe62bc0d --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/typesuffixes.widlprocxml @@ -0,0 +1,25 @@ + + + + interface Suffixes { + void test(sequence<DOMString[]?>? foo); +}; + + interface Suffixes { + void test(sequence<DOMString[]?>? foo); +}; + + void test(sequence<DOMString[]?>? foo); + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/uniontype.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/uniontype.widlprocxml new file mode 100644 index 00000000000..7d088079956 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/uniontype.widlprocxml @@ -0,0 +1,26 @@ + + + + interface Union { + attribute (float or (Date or Event) or (Node or DOMString)?) test; +}; + + interface Union { + attribute (float or (Date or Event) or (Node or DOMString)?) test; +}; + + attribute (float or (Date or Event) or (Node or DOMString)?) test; + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/variadic-operations.widlprocxml b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/variadic-operations.widlprocxml new file mode 100644 index 00000000000..0bc9f784413 --- /dev/null +++ b/tests/wpt/web-platform-tests/resources/webidl2/test/widlproc/test/valid/xml/variadic-operations.widlprocxml @@ -0,0 +1,40 @@ + + + + interface IntegerSet { + readonly attribute unsigned long cardinality; + + void union(long... ints); + void intersection(long... ints); +}; + + interface IntegerSet { + readonly attribute unsigned long cardinality; + + void union(long... ints); + void intersection(long... ints); +}; + + readonly attribute unsigned long cardinality; + + + + void union(long... ints); + + + + + + + + + void intersection(long... ints); + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.html b/tests/wpt/web-platform-tests/selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.html new file mode 100644 index 00000000000..f27e4e66f0c --- /dev/null +++ b/tests/wpt/web-platform-tests/selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.html @@ -0,0 +1,89 @@ + + +Selectors-API Level 2 Test Suite: HTML with Selectors Level 3 + + + + + + + + +
                                                                                                                                                                                                                                                                                        This test requires JavaScript.
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.js b/tests/wpt/web-platform-tests/selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.js new file mode 100644 index 00000000000..e55a0fb2ea8 --- /dev/null +++ b/tests/wpt/web-platform-tests/selectors-api/tests/submissions/Opera/ParentNode-query-queryAll.js @@ -0,0 +1,278 @@ +/* + * Check that the query and queryAll methods exist on the given Node + */ +function interfaceCheckQuery(type, obj) { + test(function() { + var q = typeof obj.query === "function"; + assert_true(q, type + " supports query."); + }, type + " supports query") + + test(function() { + var qa = typeof obj.queryAll === "function"; + assert_true( qa, type + " supports queryAll."); + }, type + " supports queryAll") +} + +/* + * Verify that the NodeList returned by queryAll is static and and that a new list is created after + * each call. A static list should not be affected by subsequent changes to the DOM. + */ +function verifyStaticList(type, root) { + var pre, post, preLength; + + test(function() { + pre = root.queryAll("div"); + preLength = pre.length; + + var div = doc.createElement("div"); + (root.body || root).appendChild(div); + + assert_equals(pre.length, preLength, "The length of the NodeList should not change.") + }, type + ": static NodeList") + + test(function() { + post = root.queryAll("div"), + assert_equals(post.length, preLength + 1, "The length of the new NodeList should be 1 more than the previous list.") + }, type + ": new NodeList") +} + +/* + * Verify handling of special values for the selector parameter, including stringification of + * null and undefined, and the handling of the empty string. + */ +function runSpecialSelectorTests(type, root) { + test(function() { // 1 + assert_equals(root.queryAll(null).length, 1, "This should query one element with the tag name 'NULL'."); + }, type + ".queryAll null") + + test(function() { // 2 + assert_equals(root.queryAll(undefined).length, 1, "This should query one elements with the tag name 'UNDEFINED'."); + }, type + ".queryAll undefined") + + test(function() { // 3 + assert_throws(TypeError(), function() { + root.queryAll(); + }, "This should throw a TypeError.") + }, type + ".queryAll no parameter") + + test(function() { // 4 + var elm = root.query(null) + assert_not_equals(elm, null, "This should query an element."); + assert_equals(elm.tagName.toUpperCase(), "NULL", "The tag name should be 'NULL'.") + }, type + ".query null") + + test(function() { // 5 + var elm = root.query(undefined) + assert_not_equals(elm, undefined, "This should query an element."); + assert_equals(elm.tagName.toUpperCase(), "UNDEFINED", "The tag name should be 'UNDEFINED'.") + }, type + ".query undefined") + + test(function() { // 6 + assert_throws(TypeError(), function() { + root.query(); + }, "This should throw a TypeError.") + }, type + ".query no parameter.") + + test(function() { // 7 + result = root.queryAll("*"); + var i = 0; + traverse(root, function(elem) { + if (elem !== root) { + assert_equals(elem, result[i++], "The result in index " + i + " should be in tree order.") + } + }) + }, type + ".queryAll tree order"); +} + +/* + * Execute queries with the specified valid selectors for both query() and queryAll() + * Only run these tests when results are expected. Don't run for syntax error tests. + * + * context.queryAll(selector, refNodes) + * context.queryAll(selector) // Only if refNodes is not specified + * root.queryAll(selector, context) // Only if refNodes is not specified + * root.queryAll(selector, refNodes) // Only if context is not specified + * root.queryAll(selector) // Only if neither context nor refNodes is specified + * + * Equivalent tests will be run for .query() as well. + */ +function runValidSelectorTest(type, root, selectors, docType) { + var nodeType = getNodeType(root); + + for (var i = 0; i < selectors.length; i++) { + var s = selectors[i]; + var n = s["name"]; + var q = s["selector"]; + var e = s["expect"]; + + var ctx = s["ctx"]; + var ref = s["ref"]; + + if (!s["exclude"] || (s["exclude"].indexOf(nodeType) === -1 && s["exclude"].indexOf(docType) === -1)) { + //console.log("Running tests " + nodeType + ": " + s["testType"] + "&" + testType + "=" + (s["testType"] & testType) + ": " + JSON.stringify(s)) + var foundall, found, context, refNodes, refArray; + + if (s["testType"] & TEST_FIND) { + + + /* + * If ctx and ref are specified: + * context.queryAll(selector, refNodes) + * context.query(selector, refNodes) + */ + if (ctx && ref) { + context = root.querySelector(ctx); + refNodes = root.querySelectorAll(ref); + refArray = Array.prototype.slice.call(refNodes, 0); + + test(function() { + foundall = context.queryAll(q, refNodes); + verifyNodeList(foundall, expect); + }, type + " [Context Element].queryAll: " + n + " (with refNodes NodeList): " + q); + + test(function() { + foundall = context.queryAll(q, refArray); + verifyNodeList(foundall, expect); + }, type + " [Context Element].queryAll: " + n + " (with refNodes Array): " + q); + + test(function() { + found = context.query(q, refNodes); + verifyElement(found, foundall, expect) + }, type + " [Context Element].query: " + n + " (with refNodes NodeList): " + q); + + test(function() { + found = context.query(q, refArray); + verifyElement(found, foundall, expect) + }, type + " [Context Element].query: " + n + " (with refNodes Array): " + q); + } + + + /* + * If ctx is specified, ref is not: + * context.queryAll(selector) + * context.query(selector) + * root.queryAll(selector, context) + * root.query(selector, context) + */ + if (ctx && !ref) { + context = root.querySelector(ctx); + + test(function() { + foundall = context.queryAll(q); + verifyNodeList(foundall, expect); + }, type + " [Context Element].queryAll: " + n + " (with no refNodes): " + q); + + test(function() { + found = context.query(q); + verifyElement(found, foundall, expect) + }, type + " [Context Element].query: " + n + " (with no refNodes): " + q); + + test(function() { + foundall = root.queryAll(q, context); + verifyNodeList(foundall, expect); + }, type + " [Root Node].queryAll: " + n + " (with refNode Element): " + q); + + test(function() { + foundall = root.query(q, context); + verifyElement(found, foundall, expect); + }, type + " [Root Node].query: " + n + " (with refNode Element): " + q); + } + + /* + * If ref is specified, ctx is not: + * root.queryAll(selector, refNodes) + * root.query(selector, refNodes) + */ + if (!ctx && ref) { + refNodes = root.querySelectorAll(ref); + refArray = Array.prototype.slice.call(refNodes, 0); + + test(function() { + foundall = root.queryAll(q, refNodes); + verifyNodeList(foundall, expect); + }, type + " [Root Node].queryAll: " + n + " (with refNodes NodeList): " + q); + + test(function() { + foundall = root.queryAll(q, refArray); + verifyNodeList(foundall, expect); + }, type + " [Root Node].queryAll: " + n + " (with refNodes Array): " + q); + + test(function() { + found = root.query(q, refNodes); + verifyElement(found, foundall, expect); + }, type + " [Root Node].query: " + n + " (with refNodes NodeList): " + q); + + test(function() { + found = root.query(q, refArray); + verifyElement(found, foundall, expect); + }, type + " [Root Node].query: " + n + " (with refNodes Array): " + q); + } + + /* + * If neither ctx nor ref is specified: + * root.queryAll(selector) + * root.query(selector) + */ + if (!ctx && !ref) { + test(function() { + foundall = root.queryAll(q); + verifyNodeList(foundall, expect); + }, type + ".queryAll: " + n + " (with no refNodes): " + q); + + test(function() { + found = root.query(q); + verifyElement(found, foundall, expect); + }, type + ".query: " + n + " (with no refNodes): " + q); + } + } + } else { + //console.log("Excluding for " + nodeType + ": " + s["testType"] + "&" + testType + "=" + (s["testType"] & testType) + ": " + JSON.stringify(s)) + } + } +} + +/* + * Execute queries with the specified invalid selectors for both query() and queryAll() + * Only run these tests when errors are expected. Don't run for valid selector tests. + */ +function runInvalidSelectorTestQuery(type, root, selectors) { + for (var i = 0; i < selectors.length; i++) { + var s = selectors[i]; + var n = s["name"]; + var q = s["selector"]; + + test(function() { + assert_throws("SyntaxError", function() { + root.query(q) + }) + }, type + ".query: " + n + ": " + q); + + test(function() { + assert_throws("SyntaxError", function() { + root.queryAll(q) + }) + }, type + ".queryAll: " + n + ": " + q); + } +} + +function verifyNodeList(resultAll, expect) { + assert_not_equals(resultAll, null, "The method should not return null."); + assert_equals(resultAll.length, e.length, "The method should return the expected number of matches."); + + for (var i = 0; i < e.length; i++) { + assert_not_equals(resultAll[i], null, "The item in index " + i + " should not be null.") + assert_equals(resultAll[i].getAttribute("id"), e[i], "The item in index " + i + " should have the expected ID."); + assert_false(resultAll[i].hasAttribute("data-clone"), "This should not be a cloned element."); + } +} + +function verifyElement(result, resultAll, expect) { + if (expect.length > 0) { + assert_not_equals(result, null, "The method should return a match.") + assert_equals(found.getAttribute("id"), e[0], "The method should return the first match."); + assert_equals(result, resultAll[0], "The result should match the first item from querySelectorAll."); + assert_false(found.hasAttribute("data-clone"), "This should not be annotated as a cloned element."); + } else { + assert_equals(result, null, "The method should not match anything."); + } +} diff --git a/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/cssom.html b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/cssom.html new file mode 100644 index 00000000000..4b1c7d3bcc1 --- /dev/null +++ b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/cssom.html @@ -0,0 +1,65 @@ + +Selectors: CSSOM of case-sensitivity attribute selector + + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/resources/semantics-quirks.html b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/resources/semantics-quirks.html new file mode 100644 index 00000000000..b6c3dfe4ea0 --- /dev/null +++ b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/resources/semantics-quirks.html @@ -0,0 +1,4 @@ + + diff --git a/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/resources/semantics-xml.xhtml b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/resources/semantics-xml.xhtml new file mode 100644 index 00000000000..f4d40fb852b --- /dev/null +++ b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/resources/semantics-xml.xhtml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/resources/syntax-quirks.html b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/resources/syntax-quirks.html new file mode 100644 index 00000000000..4606419b31c --- /dev/null +++ b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/resources/syntax-quirks.html @@ -0,0 +1,5 @@ + +
                                                                                                                                                                                                                                                                                        + diff --git a/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/resources/syntax-xml.xhtml b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/resources/syntax-xml.xhtml new file mode 100644 index 00000000000..19491c94c46 --- /dev/null +++ b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/resources/syntax-xml.xhtml @@ -0,0 +1,11 @@ + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/semantics.html b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/semantics.html new file mode 100644 index 00000000000..7b6d7373af0 --- /dev/null +++ b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/semantics.html @@ -0,0 +1,146 @@ + +Selectors: semantics of case-sensitivity attribute selector + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/syntax.html b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/syntax.html new file mode 100644 index 00000000000..754af95c9d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/selectors/attribute-selectors/attribute-case/syntax.html @@ -0,0 +1,117 @@ + +Selectors: syntax of case-sensitivity attribute selector + + + +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/serve b/tests/wpt/web-platform-tests/serve new file mode 100755 index 00000000000..51761b02c62 --- /dev/null +++ b/tests/wpt/web-platform-tests/serve @@ -0,0 +1,5 @@ +#!/usr/bin/env python +import serve + +if __name__ == "__main__": + serve.main() diff --git a/tests/wpt/web-platform-tests/serve.py b/tests/wpt/web-platform-tests/serve.py new file mode 100644 index 00000000000..536ed4963e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/serve.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python +from tools.serve import serve + +def main(): + serve.main() diff --git a/tests/wpt/web-platform-tests/server-side.md b/tests/wpt/web-platform-tests/server-side.md new file mode 100644 index 00000000000..46a9e8367c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/server-side.md @@ -0,0 +1,234 @@ +# Writing Complex Tests # + +For many tests, writing one or more static HTML files is +sufficient. However there are a large class of tests for which this +approach is insufficient, including: + +* Tests that require cross-domain access + +* Tests that depend on setting specific headers or status codes + +* Tests that need to inspect the browser sent request + +* Tests that require state to be stored on the server + +* Tests that require precise timing of the response. + +To make writing such tests possible, we are using a number of +server-side components designed to make it easy to manipulate the +precise details of the response: + +* *wptserve*, a custom python HTTP server. + +* *pywebsocket*, an existing websockets server + +This document will concentrate on the features of wptserve available +to test authors. + +## Introduction to wptserve ## + +wptserve is a python-based web server. By default it serves static +files in the testsuite. For more sophisticated requirements, several +mechanisms are available to take control of the response. These are +outlined below. + +## Pipes ## + +Suitable for: + + * Cross domain requests + * Adding headers or status codes to static files + * Controlling the sending of static file bodies + +Pipes are designed to allow simple manipulation of the way that +static files are sent without requiring any custom code. They are also +useful for cross-origin tests because they can be used to activate a +substitution mechanism which can fill in details of ports and server +names in the setup on which the tests are being run. + +Pipes are indicated by adding a query string to a request for a static +resource, with the parameter name `pipe`. The value of the query +should be a `|` serperated list of pipe functions. For example to +return a `.html` file with the status code 410 and a Content-Type of +text/plain, one might use: + + /resources/example.html?pipe=status(410)|header(Content-Type,text/plain) + +There are a selection of pipe functions provided with wptserve and +more may be added if there are good use cases. + +### sub ### + +Used to subsitute variables from the server environment, or from the +request into the response. A typical use case is for testing +cross-domain since the exact domain name and ports of the servers are +generally unknown. + +Substitutions are marked in a file using a block delimited by `{{` +and `}}`. Inside the block the following variables are avalible: + +* `{{host}}` - the host name of the server exclusing any subdomain part. +* `{{domains[]}}` - the domain name of a particular subdomain + e.g. `{{domains[www]}}` for the `www` subdomain. +* `{{ports[][]}}` - The port number of servers, by protocol + e.g. `{{ports[http][1]}}` for the second (i.e. non-default) http + server. +* `{{headers[]}}` - The HTTP headers in the request + e.g. `{{headers[X-Test]}}` for a hypothetical `X-Test` header. +* `{{GET[]}}` - The query parameters for the request + e.g. `{{GET[id]}}` for an id parameter sent with the request. + +So, for example, to write a javascript file called `xhr.js` that does a +cross domain XHR test to a different subdomain and port, one would +write in the file: + + var server_url = "http://{{domains[www]}}:{{ports[http][1]}}/path/to/resource"; + //Create the actual XHR and so on + +The file would then be included as: + + + +### status ### + +Used to set the HTTP status of the response, for example: + + example.js?pipe=status(410) + +### headers ### + +Used to add or replace http headers in the response. Takes two or +three arguments; the header name, the header value and whether to +append the header rather than replace an existing header (default: +False). So, for example, a request for: + + example.html?pipe=header(Content-Type,text/plain) + +causes example.html to be returned with a text/plain content type +whereas: + + example.html?pipe=header(Content-Type,text/plain,True) + +Will cause example.html to be returned with both text/html and +text/plain content-type headers. + +### slice ### + +Used to send only part of a response body. Takes the start and, +optionally, end bytes as arguments, although either can be null to +indicate the start or end of the file, respectively. So for example: + + example.txt?pipe=slice(10,20) + +Would result in a response with a body containing 10 bytes of +example.txt including byte 10 but excluding byte 20. + + example.txt?pipe=slice(10) + +Would cause all bytes from byte 10 of example.txt to be sent, but: + + example.txt?pipe=slice(null,20) + +Would send the first 20 bytes of example.txt. + +### trickle ### + +Used to send the body of a response in chunks with delays. Takes a +single argument that is a microsyntax consisting of colon-separated +commands. There are three types of commands: + +* Bare numbers represent a number of bytes to send + +* Numbers prefixed `d` indicate a delay in seconds + +* Numbers prefixed `r` must only appear at the end of the command, and + indicate that the preceding N items must be repeated until there is + no more content to send. + +In the absence of a repetition command, the entire remainder of the content is +sent at once when the command list is exhausted. So for example: + + example.txt?pipe=trickle(d1) + +causes a 1s delay before sending the entirety of example.txt. + + example.txt?pipe=trickle(100:d1) + +causes 100 bytes of example.txt to be sent, followed by a 1s delay, +and then the remainder of the file to be sent. On the other hand: + + example.txt?pipe=trickle(100:d1:r2) + +Will cause the file to be sent in 100 byte chunks separated by a 1s +delay until the whole content has been sent. + +## asis files ## + +Suitable for: + + * Static, HTTP-non-compliant responses + +asis files are simply files with the extension `.asis`. They are sent +byte for byte to the server without adding a HTTP status line, +headers, or anything else. This makes them suitable for testing +situations where the precise bytes on the wire are static, and control +over the timing is unnecessary, but the response does not conform to +HTTP requirements. + +## py files ## + +Suitable for: + + * All tests requiring dynamic responses + * Tests that need to store server side state. + +The most flexible mechanism for writing tests is to use `.py` +files. These are interpreted as code and are suitable for the same +kinds of tasks that one might achieve using cgi, PHP or a similar +technology. Unlike cgi or PHP, the file is not executed directly and +does not produce output by writing to `stdout`. Instead files must +contain (at least) a function named `main`, with the signature: + + def main(request, response): + pass + +Here `request` is a `Request` object that contains details of the +request, and `response` is a `Response` object that can be used to set +properties of the response. Full details of these objects is +provided in the [wptserve documentation](http://wptserve.readthedocs.org/en/latest/). + +In many cases tests will not need to work with the `response` object +directly. Instead they can set the status, headers and body simply by +returning values from the `main` function. If any value is returned, +it is interpreted as the response body. If two values are returned +they are interpreted as headers and body, and three values are +interpreted as status, headers, body. So, for example: + + def main(request, response): + return "TEST" + +creates a response with no non-default headers and the body +`TEST`. Headers can be added as follows: + + def main(request, response): + return ([("Content-Type", "text/plain"), ("X-Test", "test")], + "TEST") + +And a status code as: + + def main(request, response): + return (410, + [("Content-Type", "text/plain"), ("X-Test", "test")], + "TEST") + +A custom status string may be returned by using a tuple `code, string` +in place of the code alone. + +At the other end of the scale, some tests require precision over the +exact bytes sent over the wire and their timing. This can be achieved +using the `writer` property of the response, which exposes a +`ResponseWriter` object that allows wither writing specific parts of +the request or direct access to the underlying socket. + +For full documentation on the facilities available in `.py` files, see +the [wptserve documentation](http://wptserve.readthedocs.org/en/latest/). diff --git a/tests/wpt/web-platform-tests/service-workers/specgen.json b/tests/wpt/web-platform-tests/service-workers/specgen.json new file mode 100644 index 00000000000..5d76da8271a --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/specgen.json @@ -0,0 +1,658 @@ +{ + "sections": [ + { + "href": "#introduction", + "id": "introduction", + "hash": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "secno": "1", + "testable": false + }, + { + "href": "#about", + "id": "about", + "hash": "8d3cf149aa73cff52328509ebbaffd933e8fb6af", + "secno": "1.1", + "testable": false + }, + { + "href": "#dependencies", + "id": "dependencies", + "hash": "1355f2d7ec9bf4e617ee632c0db44f834c96435b", + "secno": "1.2", + "testable": false + }, + { + "href": "#motivations", + "id": "motivations", + "hash": "92d899bc1e63a170d2324638d16f580b97b4f4d6", + "secno": "1.3", + "testable": false + }, + { + "href": "#concepts", + "id": "concepts", + "hash": "589023372dc033b0a77be1cd01f54f5f8c3ebfa8", + "secno": "2", + "testable": false + }, + { + "href": "#document-context", + "id": "document-context", + "hash": "34feeb18dea978349a2f76e6b17c127123b3db74", + "secno": "3", + "testable": false + }, + { + "href": "#service-worker-obj", + "id": "service-worker-obj", + "hash": "6cbd0107199072ab86b36e72d08d5465b42e6da8", + "secno": "3.1", + "testPageHash": "8dbbc9aa4300f0203524f3e405dbf7ca462e7164", + "testPagePath": "stub-3.1-service-worker-obj.html", + "testable": true + }, + { + "href": "#service-worker-scope", + "id": "service-worker-scope", + "hash": "136f25ef227515a7be9b32c44967f68b34ad8924", + "secno": "3.1.1", + "testPageHash": "965a00b32d56192330aa9f6337072bb3633ad382", + "testPagePath": "stub-3.1.1-service-worker-scope.html", + "testable": true + }, + { + "href": "#service-worker-url", + "id": "service-worker-url", + "hash": "df66a1b4b3bfa3e7ab96fd491a6829fab1d18a88", + "secno": "3.1.2", + "testPageHash": "92f6aed1437bb39c5941b495ac6c5f342c025b38", + "testPagePath": "stub-3.1.2-service-worker-url.html", + "testable": true + }, + { + "href": "#service-worker-state", + "id": "service-worker-state", + "hash": "8f80f2b4cbb1c228867c9dd90c05cbecfc92dd77", + "secno": "3.1.3", + "testPageHash": "4aad1dc47572879fdc2c79a814ad21e1ef9a64ec", + "testPagePath": "stub-3.1.3-service-worker-state.html", + "testable": true + }, + { + "href": "#service-worker-on-state-change", + "id": "service-worker-on-state-change", + "hash": "0f8fd9d1431deacea72fe739f42992ab5a396bf2", + "secno": "3.1.4", + "testPageHash": "6bb309bccc1e7c74ade7fc4c6e400bafb60daceb", + "testPagePath": "stub-3.1.4-service-worker-on-state-change.html", + "testable": true + }, + { + "href": "#navigator-service-worker", + "id": "navigator-service-worker", + "hash": "22f1ebbafca6976d0f4814b0fbb8f173bf919f06", + "secno": "3.2", + "testPageHash": "6d597735816a09ec774150029ed5136198f52ab7", + "testPagePath": "stub-3.2-navigator-service-worker.html", + "testable": true + }, + { + "href": "#navigator-service-worker-installing", + "id": "navigator-service-worker-installing", + "hash": "9675c3cdf5ba4b4155284e06a19e4de631645509", + "secno": "3.2.1", + "testPageHash": "2c8e56e74c130104e395de46bad20fb5d3021d95", + "testPagePath": "stub-3.2.1-navigator-service-worker-installing.html", + "testable": true + }, + { + "href": "#navigator-service-worker-waiting", + "id": "navigator-service-worker-waiting", + "hash": "88b4db92cc49109e6a15ddebdd219690d9648e76", + "secno": "3.2.2", + "testPageHash": "1cf6ed58bf5ecf963fed8c3d9211b853dab564e2", + "testPagePath": "stub-3.2.2-navigator-service-worker-waiting.html", + "testable": true + }, + { + "href": "#navigator-service-worker-active", + "id": "navigator-service-worker-active", + "hash": "0da48e885c77da60d1837197780049904789e3cb", + "secno": "3.2.3", + "testPageHash": "f5dca8c6eb5f29a0f9a5f06e25861e7f3106cc67", + "testPagePath": "stub-3.2.3-navigator-service-worker-active.html", + "testable": true + }, + { + "href": "#navigator-service-worker-controller", + "id": "navigator-service-worker-controller", + "hash": "293433ccb7bb2a22d8d5a81e788892e071b25e65", + "secno": "3.2.4", + "testPageHash": "6452f431d0765d7aa3135d18fee43e6664dcbb12", + "testPagePath": "stub-3.2.4-navigator-service-worker-controller.html", + "testable": true + }, + { + "href": "#navigator-service-worker-ready", + "id": "navigator-service-worker-ready", + "hash": "6240fde8d7168beeb95f4f36aa9e143319b2061b", + "secno": "3.2.5", + "testPageHash": "ae4fd694c88bab72f338d97bf96b7d23e2e83e87", + "testPagePath": "stub-3.2.5-navigator-service-worker-ready.html", + "testable": true + }, + { + "href": "#navigator-service-worker-getAll", + "id": "navigator-service-worker-getAll", + "hash": "292ee3af2cc8fadc24302446809d04bf2e9811a5", + "secno": "3.2.6", + "testPageHash": "4096ae712cc3e753456fbe05bb4d0cfc4399d2c9", + "testPagePath": "stub-3.2.6-navigator-service-worker-getAll.html", + "testable": true + }, + { + "href": "#navigator-service-worker-register", + "id": "navigator-service-worker-register", + "hash": "c999dc5f67126c9f0f02b25fd943a34b48cff618", + "secno": "3.2.7", + "testPageHash": "bde900b97dbb08b053ff8115775ea3b79a124b6e", + "testPagePath": "stub-3.2.7-navigator-service-worker-register.html", + "testable": true + }, + { + "href": "#navigator-service-worker-unregister", + "id": "navigator-service-worker-unregister", + "hash": "fd196f926f181563855e4683cc995405c1e611d0", + "secno": "3.2.8", + "testPageHash": "dbd99a1dcbcb629431617790a305e840495049eb", + "testPagePath": "stub-3.2.8-navigator-service-worker-unregister.html", + "testable": true + }, + { + "href": "#navigator-service-worker-onupdatefound", + "id": "navigator-service-worker-onupdatefound", + "hash": "2bb5aabaca24a68f9e6b4c4443968178eb1ccfe8", + "secno": "3.2.9", + "testPageHash": "eef0c1c39577abefb3654a6e9917ff2da657871b", + "testPagePath": "stub-3.2.9-navigator-service-worker-onupdatefound.html", + "testable": true + }, + { + "href": "#navigator-service-worker-oncontrollerchange", + "id": "navigator-service-worker-oncontrollerchange", + "hash": "c89a4ffba10d9285e07c38c28718719d87053994", + "secno": "3.2.10", + "testPageHash": "35e0ce2b8f4527ebbd75d4dfa3436fd7f8c79792", + "testPagePath": "stub-3.2.10-navigator-service-worker-oncontrollerchange.html", + "testable": true + }, + { + "href": "#navigator-service-worker-onreloadpage", + "id": "navigator-service-worker-onreloadpage", + "hash": "424441910abf2e1bdc3db658fe46827f7abe60a4", + "secno": "3.2.11", + "testPageHash": "ae614de17e5f339b65f77cafa6e0f5625491abfb", + "testPagePath": "stub-3.2.11-navigator-service-worker-onreloadpage.html", + "testable": true + }, + { + "href": "#navigator-service-worker-onerror", + "id": "navigator-service-worker-onerror", + "hash": "710f7fcd2f5340147b9e030bc5932b8242cef828", + "secno": "3.2.12", + "testPageHash": "cd62779e27151d55f14ac6ab7aa41dcf723e0ac7", + "testPagePath": "stub-3.2.12-navigator-service-worker-onerror.html", + "testable": true + }, + { + "href": "#execution-context", + "id": "execution-context", + "hash": "ddf24f0adf58237e264c3c43cb7ab07af3013c9d", + "secno": "4", + "testable": false + }, + { + "href": "#service-worker-global-scope", + "id": "service-worker-global-scope", + "hash": "e6b8bb7f99c125f4226fc5b6c51cf03a7437f2ef", + "secno": "4.1", + "testPageHash": "2f596b6b07bcfb71c01d75f725eb52c84e9c69dd", + "testPagePath": "stub-4.1-service-worker-global-scope.html", + "testable": true + }, + { + "href": "#service-worker-global-scope-caches", + "id": "service-worker-global-scope-caches", + "hash": "43d3c9f441b3a7abd0d3a7f55d93faaceeb7d97d", + "secno": "4.1.1", + "testPageHash": "f19b91c887f6312688b66b1988147a599cd9470f", + "testPagePath": "stub-4.1.1-service-worker-global-scope-caches.html", + "testable": true + }, + { + "href": "#service-worker-global-scope-clients", + "id": "service-worker-global-scope-clients", + "hash": "cb83230107645229da9776ed0fc9f7bc6fcce747", + "secno": "4.1.2", + "testPageHash": "45b3aae572f7161748fa98e97b4f2b738c3dcfef", + "testPagePath": "stub-4.1.2-service-worker-global-scope-clients.html", + "testable": true + }, + { + "href": "#service-worker-global-scope-scope", + "id": "service-worker-global-scope-scope", + "hash": "08c808048b647aa9d4cc0b0a0f70b06ca89af4a3", + "secno": "4.1.3", + "testPageHash": "bfe7eaf8deb8de7d2ccfbba97640478b1c81d6c7", + "testPagePath": "stub-4.1.3-service-worker-global-scope-scope.html", + "testable": true + }, + { + "href": "#service-worker-global-scope-fetch", + "id": "service-worker-global-scope-fetch", + "hash": "b66133d8a2c67f9b10c274d5b05383ff76d2cd42", + "secno": "4.1.4", + "testPageHash": "2b1ffa915afddeb099dfff23f4ecf555b0710ed4", + "testPagePath": "stub-4.1.4-service-worker-global-scope-fetch.html", + "testable": true + }, + { + "href": "#service-worker-global-scope-update", + "id": "service-worker-global-scope-update", + "hash": "3ddf48cecb4d4a67a329248787dd220ce17f4eff", + "secno": "4.1.5", + "testPageHash": "15879bf45f460c0ab0c02793655096c1bca418a7", + "testPagePath": "stub-4.1.5-service-worker-global-scope-update.html", + "testable": true + }, + { + "href": "#service-worker-global-scope-unregister", + "id": "service-worker-global-scope-unregister", + "hash": "fff9ef2daa5689b38a17eeb9a6bd7071098ca778", + "secno": "4.1.6", + "testPageHash": "c4bf327228628b794db9c6f2eb17519e37cea6b9", + "testPagePath": "stub-4.1.6-service-worker-global-scope-unregister.html", + "testable": true + }, + { + "href": "#service-worker-global-scope-onmessage", + "id": "service-worker-global-scope-onmessage", + "hash": "bc8f6aed2d515dc7f6b0757afa02f37899082668", + "secno": "4.1.7", + "testPageHash": "9e6f2732d21871ec06e9541ea881baf962f7cdf4", + "testPagePath": "stub-4.1.7-service-worker-global-scope-onmessage.html", + "testable": true + }, + { + "href": "#client", + "id": "client", + "hash": "47a1c10cd9e4db9a5c86d9bcf80477f771ea954c", + "secno": "4.2", + "testPageHash": "21d74c1af0b3176b029c9b62b37fe73436e0f197", + "testPagePath": "stub-4.2-client.html", + "testable": true + }, + { + "href": "#service-worker-clients", + "id": "service-worker-clients", + "hash": "c2c6f4873f07b53705a46b2bd44ba10f84dd2b56", + "secno": "4.3", + "testPageHash": "9c0366e6cfd28caaeaf940bad2b3c7ace93037f6", + "testPagePath": "stub-4.3-service-worker-clients.html", + "testable": true + }, + { + "href": "#get-serviced-method", + "id": "get-serviced-method", + "hash": "299abaa21cf096e423edfa19755987986f742a1f", + "secno": "4.3.1", + "testPageHash": "efeb1c2dc8144c30e6628cb56b3e532531ee1e88", + "testPagePath": "stub-4.3.1-get-serviced-method.html", + "testable": true + }, + { + "href": "#reloadall-method", + "id": "reloadall-method", + "hash": "bb4d775d261e69cbeaf65c123e949c24cf542ae7", + "secno": "4.3.2", + "testPageHash": "d1a4dde873b77201b4de745d2083bf63549b0b8b", + "testPagePath": "stub-4.3.2-reloadall-method.html", + "testable": true + }, + { + "href": "#request-objects", + "id": "request-objects", + "hash": "65ae6c08f720a2eedb7b140f5635a5ac46ddadfc", + "secno": "4.4", + "testPageHash": "ec493c70e8a0d8d3eeb0ecaef59610aed97d298e", + "testPagePath": "stub-4.4-request-objects.html", + "testable": true + }, + { + "href": "#response-objects", + "id": "response-objects", + "hash": "2efbff63c70ab92f93e4acd021409b9df4776882", + "secno": "4.5", + "testPageHash": "8340b69d62f111f56095c5fe9047d9215fa7aefc", + "testPagePath": "stub-4.5-response-objects.html", + "testable": true + }, + { + "href": "#abstract-response", + "id": "abstract-response", + "hash": "bddc306a9892c0bca43e8b361c1ee22b87759e23", + "secno": "4.5.1", + "testable": false + }, + { + "href": "#response", + "id": "response", + "hash": "6471d25755bdab0d4f72413f9367b7bb36c53a6f", + "secno": "4.5.2", + "testPageHash": "346d63cc7eb8ee412f5f704ba241205c8d437540", + "testPagePath": "stub-4.5.2-response.html", + "testable": true + }, + { + "href": "#header", + "id": "header", + "hash": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "secno": "4.5.3", + "testable": false + }, + { + "href": "#opaque-response", + "id": "opaque-response", + "hash": "df5431f4fbd26d81f2d4f567309c6a7a26dbfd4a", + "secno": "4.5.4", + "testPageHash": "85373f290cf594f0f09eb0a76bc6ef6299be595f", + "testPagePath": "stub-4.5.4-opaque-response.html", + "testable": true + }, + { + "href": "#cors-response", + "id": "cors-response", + "hash": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "secno": "4.5.5", + "testable": false + }, + { + "href": "#cache-objects", + "id": "cache-objects", + "hash": "001d0dfb8fbcbcb6443d1be2b722c9a84d6fd95b", + "secno": "4.6", + "testPageHash": "c1ef341d15a8c76d015eef57842ed10e62c02927", + "testPagePath": "stub-4.6-cache-objects.html", + "testable": true + }, + { + "href": "#cache-lifetimes", + "id": "cache-lifetimes", + "hash": "7c73698ca9b686a0314ddf368bf8ad4ca6af392f", + "secno": "4.6.1", + "testPageHash": "f3524320a98f2fbdc5d711de82770957a7f5ec4b", + "testPagePath": "stub-4.6.1-cache-lifetimes.html", + "testable": true + }, + { + "href": "#cache", + "id": "cache", + "hash": "bf1fe844577ab57a60eb550be24335a3321ca2ee", + "secno": "4.6.2", + "testPageHash": "c55b7b05c8e2f4b65722e16cdbcd78ffdfe1e4bf", + "testPagePath": "stub-4.6.2-cache.html", + "testable": true + }, + { + "href": "#cache-storage", + "id": "cache-storage", + "hash": "9cdaac070f56e55d66a89cd4b6e669a04aa73b82", + "secno": "4.6.3", + "testPageHash": "ee6902f170d94cc1e3a4a00f4c90e7e19c4dff95", + "testPagePath": "stub-4.6.3-cache-storage.html", + "testable": true + }, + { + "href": "#events", + "id": "events", + "hash": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "secno": "4.7", + "testable": false + }, + { + "href": "#install-phase-event", + "id": "install-phase-event", + "hash": "8495382b418adbbed436b2002ab0155a3a295ef2", + "secno": "4.7.1", + "testPageHash": "e48e98d51936bd57d21903615203f2b78d3f4b12", + "testPagePath": "stub-4.7.1-install-phase-event.html", + "testable": true + }, + { + "href": "#wait-until-method", + "id": "wait-until-method", + "hash": "295fb5d4932396fd13365ed2fe57aa672f1f2a56", + "secno": "4.7.1.1", + "testPageHash": "c3769e51852b8438a97c39c50fa62351a73c4ee6", + "testPagePath": "stub-4.7.1.1-wait-until-method.html", + "testable": true + }, + { + "href": "#install-event", + "id": "install-event", + "hash": "3a0f6da1771c22ab21ddc00729433a4d95ac6782", + "secno": "4.7.2", + "testPageHash": "9a103cc461eaca3da75db583ce08f13ecd2b1a98", + "testPagePath": "stub-4.7.2-install-event.html", + "testable": true + }, + { + "href": "#install-event-section", + "id": "install-event-section", + "hash": "4631577df2efc1a4350000461629bc1ca93dbd14", + "secno": "4.7.2.1", + "testPageHash": "32f54e74bef784d2f0ac772b44abeee06573062d", + "testPagePath": "stub-4.7.2.1-install-event-section.html", + "testable": true + }, + { + "href": "#replace-method", + "id": "replace-method", + "hash": "b9093b05204d09748311023b4c737ede02ff8115", + "secno": "4.7.2.2", + "testPageHash": "372bed923f8c35c4923634ae27fa121919ac0fec", + "testPagePath": "stub-4.7.2.2-replace-method.html", + "testable": true + }, + { + "href": "#activate-event", + "id": "activate-event", + "hash": "ac3d03aa0ed961fb1122850aeab92c302c55ecd0", + "secno": "4.7.3", + "testPageHash": "6241762ab1d6f430fa9b7cc8f02a00e6591c6bc6", + "testPagePath": "stub-4.7.3-activate-event.html", + "testable": true + }, + { + "href": "#fetch-event", + "id": "fetch-event", + "hash": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "secno": "4.7.4", + "testable": false + }, + { + "href": "#fetch-event-section", + "id": "fetch-event-section", + "hash": "ae24fda9664a3bd7b7fe2a8712ac469c3ee7128e", + "secno": "4.7.4.1", + "testPageHash": "393fc7b65e9f5afd18da666b6b206ccd639397cd", + "testPagePath": "stub-4.7.4.1-fetch-event-section.html", + "testable": true + }, + { + "href": "#respond-with-method", + "id": "respond-with-method", + "hash": "7e4f010e2ec1ea0500b435cf599ba58942164457", + "secno": "4.7.4.2", + "testPageHash": "31e0acd058b9a5b722ae9f405b50bc94d31596b8", + "testPagePath": "stub-4.7.4.2-respond-with-method.html", + "testable": true + }, + { + "href": "#default-method", + "id": "default-method", + "hash": "4d6f8f93b2e10ab0e486dbf464ff107ec1a6aa4c", + "secno": "4.7.4.3", + "testPageHash": "34e015c973887e2b3bf8b6db62f75d5d417a43cc", + "testPagePath": "stub-4.7.4.3-default-method.html", + "testable": true + }, + { + "href": "#is-reload-attribute", + "id": "is-reload-attribute", + "hash": "6e1afd9e8940e9cd38aa7de1ed57e8c5b1a60e3d", + "secno": "4.7.4.4", + "testPageHash": "703a6469782d37be3c25e2214f897d1064acca47", + "testPagePath": "stub-4.7.4.4-is-reload-attribute.html", + "testable": true + }, + { + "href": "#security-considerations", + "id": "security-considerations", + "hash": "5b02b143172647dd7f74f0464dffa7ec7d0e8f94", + "secno": "5", + "testable": false + }, + { + "href": "#origin-relativity", + "id": "origin-relativity", + "hash": "72bbbd7d3d43a859af6ff9f19353210ddfcc26de", + "secno": "5.1", + "testPageHash": "1c92607dfac57b0f59654d059a4a67e0f984b84d", + "testPagePath": "stub-5.1-origin-relativity.html", + "testable": true + }, + { + "href": "#cross-origin-resources", + "id": "cross-origin-resources", + "hash": "6176879ecfb5ae769679ceef4ee1e8889be8df92", + "secno": "5.2", + "testPageHash": "bcf85ba278c70c086645c416cee729ce753bc528", + "testPagePath": "stub-5.2-cross-origin-resources.html", + "testable": true + }, + { + "href": "#storage-considerations", + "id": "storage-considerations", + "hash": "e101cee2062749b1a73086492377458251a5e875", + "secno": "6", + "testable": false + }, + { + "href": "#extensibility", + "id": "extensibility", + "hash": "ef1b382bb89c52e01edad421b02b237765a21ce7", + "secno": "7", + "testable": false + }, + { + "href": "#algorithms", + "id": "algorithms", + "hash": "d130247eab1d368efea646ff369e65f6c0c19481", + "secno": "8", + "testable": false + }, + { + "href": "#registration-algorithm", + "id": "registration-algorithm", + "hash": "b688d090671c08ca17ea7cadc561e6d471ee099e", + "secno": "8.1", + "testable": false + }, + { + "href": "#update-algorithm", + "id": "update-algorithm", + "hash": "679a19fef428affc83103c1eec0dbd3be40c4e2a", + "secno": "8.2", + "testable": false + }, + { + "href": "#soft-update-algorithm", + "id": "soft-update-algorithm", + "hash": "8eb103f5cd0e595ee5e25f075e8c6239211e482a", + "secno": "8.3", + "testable": false + }, + { + "href": "#installation-algorithm", + "id": "installation-algorithm", + "hash": "5874d9247d979009b67aedf964ae097837cfb3d9", + "secno": "8.4", + "testable": false + }, + { + "href": "#activation-algorithm", + "id": "activation-algorithm", + "hash": "648b34baf6e7c2096a842e6d367949117843108e", + "secno": "8.5", + "testable": false + }, + { + "href": "#on-fetch-request-algorithm", + "id": "on-fetch-request-algorithm", + "hash": "e1da43671071ec307f99cd781fc9b46353f3adfd", + "secno": "8.6", + "testable": false + }, + { + "href": "#on-document-unload-algorithm", + "id": "on-document-unload-algorithm", + "hash": "8a7196b5dd04ad4fb9b96e16a52f4f7ac1906763", + "secno": "8.7", + "testable": false + }, + { + "href": "#unregistration-algorithm", + "id": "unregistration-algorithm", + "hash": "0114db166d42211d0d7ab4b8e77de64a9fc97517", + "secno": "8.8", + "testable": false + }, + { + "href": "#update-state-algorithm", + "id": "update-state-algorithm", + "hash": "2ed8a1e7479f1a8ad038aa44ccdd5e4f6b65cf05", + "secno": "8.9", + "testable": false + }, + { + "href": "#scope-match-algorithm", + "id": "scope-match-algorithm", + "hash": "a2117fb34a8fa4ca3e832d9276477cfc1318dd1a", + "secno": "8.10", + "testable": false + }, + { + "href": "#get-registration-algorithm", + "id": "get-registration-algorithm", + "hash": "b20332db952ba8f4b7e5f65b740a18da4a199c2e", + "secno": "8.11", + "testable": false + }, + { + "href": "#get-newest-worker-algorithm", + "id": "get-newest-worker-algorithm", + "hash": "72dc1cbee8c98501931c411018fd1cad4376142b", + "secno": "8.12", + "testable": false + }, + { + "href": "#acknowledgements", + "id": "acknowledgements", + "hash": "6347067ca5a574f8cc80c76d95dee568042d059b", + "secno": "9", + "testable": false + } + ], + "specUrl": "https://slightlyoff.github.io/ServiceWorker/spec/service_worker/" +} \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.1-service-worker-obj.html b/tests/wpt/web-platform-tests/service-workers/stub-3.1-service-worker-obj.html new file mode 100644 index 00000000000..588720e0754 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.1-service-worker-obj.html @@ -0,0 +1,63 @@ + + +Service Workers: ServiceWorker + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.1.1-service-worker-scope.html b/tests/wpt/web-platform-tests/service-workers/stub-3.1.1-service-worker-scope.html new file mode 100644 index 00000000000..47b49353424 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.1.1-service-worker-scope.html @@ -0,0 +1,46 @@ + + +Service Workers: scope + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.1.2-service-worker-url.html b/tests/wpt/web-platform-tests/service-workers/stub-3.1.2-service-worker-url.html new file mode 100644 index 00000000000..be17bb8d39d --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.1.2-service-worker-url.html @@ -0,0 +1,43 @@ + + +Service Workers: url + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.1.3-service-worker-state.html b/tests/wpt/web-platform-tests/service-workers/stub-3.1.3-service-worker-state.html new file mode 100644 index 00000000000..40f4da40a25 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.1.3-service-worker-state.html @@ -0,0 +1,76 @@ + + +Service Workers: state + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.1.4-service-worker-on-state-change.html b/tests/wpt/web-platform-tests/service-workers/stub-3.1.4-service-worker-on-state-change.html new file mode 100644 index 00000000000..36138742016 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.1.4-service-worker-on-state-change.html @@ -0,0 +1,35 @@ + + +Service Workers: onstatechange + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2-navigator-service-worker.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2-navigator-service-worker.html new file mode 100644 index 00000000000..0855d6cc05b --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2-navigator-service-worker.html @@ -0,0 +1,84 @@ + + +Service Workers: navigator.serviceWorker + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2.1-navigator-service-worker-installing.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2.1-navigator-service-worker-installing.html new file mode 100644 index 00000000000..d73a35b1f6c --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2.1-navigator-service-worker-installing.html @@ -0,0 +1,43 @@ + + +Service Workers: installing + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2.10-navigator-service-worker-oncontrollerchange.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2.10-navigator-service-worker-oncontrollerchange.html new file mode 100644 index 00000000000..1e23e8247a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2.10-navigator-service-worker-oncontrollerchange.html @@ -0,0 +1,45 @@ + + +Service Workers: oncontrollerchange + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2.11-navigator-service-worker-onreloadpage.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2.11-navigator-service-worker-onreloadpage.html new file mode 100644 index 00000000000..ef3fd10fb9e --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2.11-navigator-service-worker-onreloadpage.html @@ -0,0 +1,41 @@ + + +Service Workers: onreloadpage + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2.12-navigator-service-worker-onerror.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2.12-navigator-service-worker-onerror.html new file mode 100644 index 00000000000..e2542569866 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2.12-navigator-service-worker-onerror.html @@ -0,0 +1,37 @@ + + +Service Workers: onerror + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2.2-navigator-service-worker-waiting.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2.2-navigator-service-worker-waiting.html new file mode 100644 index 00000000000..2852d97fb68 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2.2-navigator-service-worker-waiting.html @@ -0,0 +1,34 @@ + + +Service Workers: waiting + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2.3-navigator-service-worker-active.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2.3-navigator-service-worker-active.html new file mode 100644 index 00000000000..3ac45d1b42e --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2.3-navigator-service-worker-active.html @@ -0,0 +1,40 @@ + + +Service Workers: active + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2.4-navigator-service-worker-controller.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2.4-navigator-service-worker-controller.html new file mode 100644 index 00000000000..90378dd619e --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2.4-navigator-service-worker-controller.html @@ -0,0 +1,37 @@ + + +Service Workers: controller + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2.5-navigator-service-worker-ready.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2.5-navigator-service-worker-ready.html new file mode 100644 index 00000000000..f3b1ca78f35 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2.5-navigator-service-worker-ready.html @@ -0,0 +1,67 @@ + + +Service Workers: ready + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2.6-navigator-service-worker-getAll.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2.6-navigator-service-worker-getAll.html new file mode 100644 index 00000000000..18180b9b74a --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2.6-navigator-service-worker-getAll.html @@ -0,0 +1,30 @@ + + +Service Workers: getAll() + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2.7-navigator-service-worker-register.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2.7-navigator-service-worker-register.html new file mode 100644 index 00000000000..c9253dd7129 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2.7-navigator-service-worker-register.html @@ -0,0 +1,32 @@ + + +Service Workers: register() + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2.8-navigator-service-worker-unregister.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2.8-navigator-service-worker-unregister.html new file mode 100644 index 00000000000..c4c0c247e5e --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2.8-navigator-service-worker-unregister.html @@ -0,0 +1,31 @@ + + +Service Workers: unregister() + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-3.2.9-navigator-service-worker-onupdatefound.html b/tests/wpt/web-platform-tests/service-workers/stub-3.2.9-navigator-service-worker-onupdatefound.html new file mode 100644 index 00000000000..4502b2e19b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-3.2.9-navigator-service-worker-onupdatefound.html @@ -0,0 +1,42 @@ + + +Service Workers: onupdatefound + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.1-service-worker-global-scope.html b/tests/wpt/web-platform-tests/service-workers/stub-4.1-service-worker-global-scope.html new file mode 100644 index 00000000000..ce6a045e25e --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.1-service-worker-global-scope.html @@ -0,0 +1,75 @@ + + +Service Workers: ServiceWorkerGlobalScope + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.1.1-service-worker-global-scope-caches.html b/tests/wpt/web-platform-tests/service-workers/stub-4.1.1-service-worker-global-scope-caches.html new file mode 100644 index 00000000000..4e68cc27980 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.1.1-service-worker-global-scope-caches.html @@ -0,0 +1,36 @@ + + +Service Workers: caches + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.1.2-service-worker-global-scope-clients.html b/tests/wpt/web-platform-tests/service-workers/stub-4.1.2-service-worker-global-scope-clients.html new file mode 100644 index 00000000000..8499c717b84 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.1.2-service-worker-global-scope-clients.html @@ -0,0 +1,33 @@ + + +Service Workers: clients + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.1.3-service-worker-global-scope-scope.html b/tests/wpt/web-platform-tests/service-workers/stub-4.1.3-service-worker-global-scope-scope.html new file mode 100644 index 00000000000..3784e1eeb41 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.1.3-service-worker-global-scope-scope.html @@ -0,0 +1,36 @@ + + +Service Workers: scope + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.1.4-service-worker-global-scope-fetch.html b/tests/wpt/web-platform-tests/service-workers/stub-4.1.4-service-worker-global-scope-fetch.html new file mode 100644 index 00000000000..29548a760ba --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.1.4-service-worker-global-scope-fetch.html @@ -0,0 +1,55 @@ + + +Service Workers: fetch(request) + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.1.5-service-worker-global-scope-update.html b/tests/wpt/web-platform-tests/service-workers/stub-4.1.5-service-worker-global-scope-update.html new file mode 100644 index 00000000000..ee9552b4d72 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.1.5-service-worker-global-scope-update.html @@ -0,0 +1,36 @@ + + +Service Workers: update() + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.1.6-service-worker-global-scope-unregister.html b/tests/wpt/web-platform-tests/service-workers/stub-4.1.6-service-worker-global-scope-unregister.html new file mode 100644 index 00000000000..9f76ee34a2f --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.1.6-service-worker-global-scope-unregister.html @@ -0,0 +1,31 @@ + + +Service Workers: unregister() + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.1.7-service-worker-global-scope-onmessage.html b/tests/wpt/web-platform-tests/service-workers/stub-4.1.7-service-worker-global-scope-onmessage.html new file mode 100644 index 00000000000..d536a2c0ae9 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.1.7-service-worker-global-scope-onmessage.html @@ -0,0 +1,45 @@ + + +Service Workers: onmessage + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.2-client.html b/tests/wpt/web-platform-tests/service-workers/stub-4.2-client.html new file mode 100644 index 00000000000..96976c1ee1d --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.2-client.html @@ -0,0 +1,61 @@ + + +Service Workers: Client + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.3-service-worker-clients.html b/tests/wpt/web-platform-tests/service-workers/stub-4.3-service-worker-clients.html new file mode 100644 index 00000000000..beb5d59b7dd --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.3-service-worker-clients.html @@ -0,0 +1,48 @@ + + +Service Workers: ServiceWorkerClients + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.3.1-get-serviced-method.html b/tests/wpt/web-platform-tests/service-workers/stub-4.3.1-get-serviced-method.html new file mode 100644 index 00000000000..8543bd44621 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.3.1-get-serviced-method.html @@ -0,0 +1,34 @@ + + +Service Workers: getServiced() + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.3.2-reloadall-method.html b/tests/wpt/web-platform-tests/service-workers/stub-4.3.2-reloadall-method.html new file mode 100644 index 00000000000..dd79a9168dc --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.3.2-reloadall-method.html @@ -0,0 +1,37 @@ + + +Service Workers: reloadAll() + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.4-request-objects.html b/tests/wpt/web-platform-tests/service-workers/stub-4.4-request-objects.html new file mode 100644 index 00000000000..aa3502bfd0b --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.4-request-objects.html @@ -0,0 +1,72 @@ + + +Service Workers: Request Objects + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.5-response-objects.html b/tests/wpt/web-platform-tests/service-workers/stub-4.5-response-objects.html new file mode 100644 index 00000000000..a3345864c25 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.5-response-objects.html @@ -0,0 +1,75 @@ + + +Service Workers: Response Objects + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.5.2-response.html b/tests/wpt/web-platform-tests/service-workers/stub-4.5.2-response.html new file mode 100644 index 00000000000..0a8715c7511 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.5.2-response.html @@ -0,0 +1,36 @@ + + +Service Workers: Response + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.5.4-opaque-response.html b/tests/wpt/web-platform-tests/service-workers/stub-4.5.4-opaque-response.html new file mode 100644 index 00000000000..1698558daec --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.5.4-opaque-response.html @@ -0,0 +1,36 @@ + + +Service Workers: OpaqueResponse + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.6-cache-objects.html b/tests/wpt/web-platform-tests/service-workers/stub-4.6-cache-objects.html new file mode 100644 index 00000000000..3bb47b27ef6 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.6-cache-objects.html @@ -0,0 +1,37 @@ + + +Service Workers: Caches + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.6.1-cache-lifetimes.html b/tests/wpt/web-platform-tests/service-workers/stub-4.6.1-cache-lifetimes.html new file mode 100644 index 00000000000..9068d0c3ba7 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.6.1-cache-lifetimes.html @@ -0,0 +1,38 @@ + + +Service Workers: Understanding Cache Lifetimes + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.6.2-cache.html b/tests/wpt/web-platform-tests/service-workers/stub-4.6.2-cache.html new file mode 100644 index 00000000000..faee336b8b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.6.2-cache.html @@ -0,0 +1,64 @@ + + +Service Workers: Cache + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.6.3-cache-storage.html b/tests/wpt/web-platform-tests/service-workers/stub-4.6.3-cache-storage.html new file mode 100644 index 00000000000..875220ea9ff --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.6.3-cache-storage.html @@ -0,0 +1,62 @@ + + +Service Workers: CacheStorage + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.7.1-install-phase-event.html b/tests/wpt/web-platform-tests/service-workers/stub-4.7.1-install-phase-event.html new file mode 100644 index 00000000000..195c38d9415 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.7.1-install-phase-event.html @@ -0,0 +1,51 @@ + + +Service Workers: InstallPhaseEvent + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.7.1.1-wait-until-method.html b/tests/wpt/web-platform-tests/service-workers/stub-4.7.1.1-wait-until-method.html new file mode 100644 index 00000000000..84b730f5c73 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.7.1.1-wait-until-method.html @@ -0,0 +1,39 @@ + + +Service Workers: event.waitUntil(f) + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.7.2-install-event.html b/tests/wpt/web-platform-tests/service-workers/stub-4.7.2-install-event.html new file mode 100644 index 00000000000..a2a5b1d310b --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.7.2-install-event.html @@ -0,0 +1,35 @@ + + +Service Workers: install Event + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.7.2.1-install-event-section.html b/tests/wpt/web-platform-tests/service-workers/stub-4.7.2.1-install-event-section.html new file mode 100644 index 00000000000..c305159b1d2 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.7.2.1-install-event-section.html @@ -0,0 +1,47 @@ + + +Service Workers: InstallEvent + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.7.2.2-replace-method.html b/tests/wpt/web-platform-tests/service-workers/stub-4.7.2.2-replace-method.html new file mode 100644 index 00000000000..78c916f0ee9 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.7.2.2-replace-method.html @@ -0,0 +1,38 @@ + + +Service Workers: event.replace() + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.7.3-activate-event.html b/tests/wpt/web-platform-tests/service-workers/stub-4.7.3-activate-event.html new file mode 100644 index 00000000000..82c049a9417 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.7.3-activate-event.html @@ -0,0 +1,41 @@ + + +Service Workers: activate Event + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.7.4.1-fetch-event-section.html b/tests/wpt/web-platform-tests/service-workers/stub-4.7.4.1-fetch-event-section.html new file mode 100644 index 00000000000..8555903d3cc --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.7.4.1-fetch-event-section.html @@ -0,0 +1,71 @@ + + +Service Workers: FetchEvent + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.7.4.2-respond-with-method.html b/tests/wpt/web-platform-tests/service-workers/stub-4.7.4.2-respond-with-method.html new file mode 100644 index 00000000000..f178a50cfbf --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.7.4.2-respond-with-method.html @@ -0,0 +1,46 @@ + + +Service Workers: event.respondWith(r) + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.7.4.3-default-method.html b/tests/wpt/web-platform-tests/service-workers/stub-4.7.4.3-default-method.html new file mode 100644 index 00000000000..52a8dbda4b8 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.7.4.3-default-method.html @@ -0,0 +1,52 @@ + + +Service Workers: event.default() + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-4.7.4.4-is-reload-attribute.html b/tests/wpt/web-platform-tests/service-workers/stub-4.7.4.4-is-reload-attribute.html new file mode 100644 index 00000000000..f116b6875c9 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-4.7.4.4-is-reload-attribute.html @@ -0,0 +1,32 @@ + + +Service Workers: event.isReload + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-5.1-origin-relativity.html b/tests/wpt/web-platform-tests/service-workers/stub-5.1-origin-relativity.html new file mode 100644 index 00000000000..e885de650dd --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-5.1-origin-relativity.html @@ -0,0 +1,35 @@ + + +Service Workers: Origin Relativity + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/service-workers/stub-5.2-cross-origin-resources.html b/tests/wpt/web-platform-tests/service-workers/stub-5.2-cross-origin-resources.html new file mode 100644 index 00000000000..3a10c9e0883 --- /dev/null +++ b/tests/wpt/web-platform-tests/service-workers/stub-5.2-cross-origin-resources.html @@ -0,0 +1,48 @@ + + +Service Workers: Cross-Origin Resources & CORS + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/LICENSE b/tests/wpt/web-platform-tests/shadow-dom/LICENSE new file mode 100644 index 00000000000..531fac43af2 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/LICENSE @@ -0,0 +1,107 @@ +Copyright 2012, Google Inc. +All rights reserved. + +Licensed under the W3C Test Suite License (the "License"); you may not +use this software except in compliance with the License. You may +obtain a copy of the License at + + http://www.w3.org/Consortium/Legal/2008/04-testsuite-license.html + +Alternatively, this software may be distributed under the terms of the +W3C 3-clause BSD License. You may obtain a copy of the W3C 3-clause +BSD License at + + http://www.w3.org/Consortium/Legal/2008/03-bsd-license.html + + +W3C Test Suite Licence + +This document, Test Suites and other documents that link to this +statement are provided by the copyright holders under the following +license: By using and/or copying this document, or the W3C document +from which this statement is linked, you (the licensee) agree that you +have read, understood, and will comply with the following terms and +conditions: + +Permission to copy, and distribute the contents of this document, or +the W3C document from which this statement is linked, in any medium +for any purpose and without fee or royalty is hereby granted, provided +that you include the following on ALL copies of the document, or +portions thereof, that you use: + + 1. A link or URL to the original W3C document. + 2. The pre-existing copyright notice of the original author, or if +it doesn't exist, a notice (hypertext is preferred, but a textual +representation is permitted) of the form: "Copyright © +[$date-of-document] World Wide Web Consortium, (Massachusetts +Institute of Technology, European Research Consortium for Informatics +and Mathematics, Keio University) and others. All Rights +Reserved. http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html" + 3. If it exists, the STATUS of the W3C document. When space +permits, inclusion of the full text of this NOTICE should be +provided. We request that authorship attribution be provided in any +software, documents, or other items or products that you create +pursuant to the implementation of the contents of this document, or +any portion thereof. + +No right to create modifications or derivatives of W3C documents is +granted pursuant to this license. However, if additional requirements +(documented in the Copyright FAQ) are satisfied, the right to create +modifications or derivatives is sometimes granted by the W3C to +individuals complying with those requirements. + +If a Test Suite distinguishes the test harness (or, framework for +navigation) and the actual tests, permission is given to remove or +alter the harness or navigation if the Test Suite in question allows +to do so. The tests themselves shall NOT be changed in any way. + +The name and trademarks of W3C and other copyright holders may NOT be +used in advertising or publicity pertaining to this document or other +documents that link to this statement without specific, written prior +permission. Title to copyright in this document will at all times +remain with copyright holders. Permission is given to use the +trademarked string W3C within claims of performance concerning W3C +Specifications or features described therein, and there only, if the +test suite so authorizes. + +THIS WORK IS PROVIDED BY W3C, MIT, ERCIM, KEIO UNIVERSITY, THE +COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL W3C, MIT, ERCIM, KEIO UNIVERSITY, THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + + +W3C 3-clause BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of works must retain the original copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the original +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of the W3C nor the names of its contributors may +be used to endorse or promote products derived from this work without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html new file mode 100644 index 00000000000..3d0b11841cd --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html @@ -0,0 +1,54 @@ + + + + +Shadow DOM Test: A_10_02_01_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html new file mode 100644 index 00000000000..ebc56e654cb --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-005.html @@ -0,0 +1,44 @@ + + + + +Shadow DOM Test: A_10_02_01_05 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html new file mode 100644 index 00000000000..a2d497d2a1b --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-006.html @@ -0,0 +1,38 @@ + + + + +Shadow DOM Test: A_10_02_01_06 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html new file mode 100644 index 00000000000..5449547e112 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/elements-001.html @@ -0,0 +1,49 @@ + + + + +Shadow DOM Test: HTML elements can host shadow trees + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html new file mode 100644 index 00000000000..23dfc3d7cbe --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/non-element-nodes-001.html @@ -0,0 +1,136 @@ + + + + +Shadow DOM Test: Non-element node cannot be a shadow host + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html new file mode 100644 index 00000000000..5db05bc30ed --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-001.html @@ -0,0 +1,40 @@ + + + + +Shadow DOM Test: A_10_02_02_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html new file mode 100644 index 00000000000..6e6ab48bccc --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-002.html @@ -0,0 +1,45 @@ + + + + +Shadow DOM Test: A_10_02_02_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html new file mode 100644 index 00000000000..f916fb0e098 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/methods/test-003.html @@ -0,0 +1,56 @@ + + + + +Shadow DOM Test: A_10_02_02_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html new file mode 100644 index 00000000000..e1a251dd606 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-001.html @@ -0,0 +1,56 @@ + + + + +Shadow DOM Test - event path + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html new file mode 100644 index 00000000000..d3da92bf4a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/extensions-to-event-interface/event-path-002.html @@ -0,0 +1,47 @@ + + + + +Shadow DOM Test - event path + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html new file mode 100644 index 00000000000..fbd2bd566d5 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/activeElement-confirm-return-null.html @@ -0,0 +1,78 @@ + + + + +Shadow DOM Test: Confirm activeElement return null + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html new file mode 100644 index 00000000000..15c9e130828 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-007.html @@ -0,0 +1,50 @@ + + + + +Shadow DOM Test: A_10_01_01_03_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html new file mode 100644 index 00000000000..865cb160b22 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-009.html @@ -0,0 +1,43 @@ + + + + +Shadow DOM Test: A_10_01_01_04_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html new file mode 100644 index 00000000000..9c6b978db75 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-010.html @@ -0,0 +1,75 @@ + + + + +Shadow DOM Test: A_10_01_01_04_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html new file mode 100644 index 00000000000..2789e841edd --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-011.html @@ -0,0 +1,56 @@ + + + + +Shadow DOM Test: A_10_01_01_05_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html new file mode 100644 index 00000000000..6413f1b2dd5 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-012.html @@ -0,0 +1,39 @@ + + + + +Shadow DOM Test: A_10_01_01_06 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html new file mode 100644 index 00000000000..efc01bbd5a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-013.html @@ -0,0 +1,39 @@ + + + + +Shadow DOM Test: A_10_01_01_07 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html new file mode 100644 index 00000000000..a067f13ba08 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-attributes/test-014.html @@ -0,0 +1,49 @@ + + + + +Shadow DOM Test: ShadowRoot olderShadowRoot + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html new file mode 100644 index 00000000000..0b63fdaac54 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html @@ -0,0 +1,62 @@ + + + + +Shadow DOM Test: A_10_01_02_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-002.html new file mode 100644 index 00000000000..f3c91213bb6 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-002.html @@ -0,0 +1,83 @@ + + + + +Shadow DOM Test: A_10_01_02_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-003.html new file mode 100644 index 00000000000..bd8ce05be77 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-003.html @@ -0,0 +1,154 @@ + + + + +Shadow DOM Test: A_10_01_02_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html new file mode 100644 index 00000000000..53f4a2ab328 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html @@ -0,0 +1,51 @@ + + + + +Shadow DOM Test: A_10_01_02_04 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-005.html new file mode 100644 index 00000000000..8ce777f5e33 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-005.html @@ -0,0 +1,80 @@ + + + + +Shadow DOM Test: A_10_01_02_05 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html new file mode 100644 index 00000000000..30b63067354 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html @@ -0,0 +1,42 @@ + + + + +Shadow DOM Test: A_10_01_02_06_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html new file mode 100644 index 00000000000..eac430adec2 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html @@ -0,0 +1,63 @@ + + + + +Shadow DOM Test: A_10_01_02_06_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html new file mode 100644 index 00000000000..699d7237693 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-010.html @@ -0,0 +1,42 @@ + + + + +Shadow DOM Test: A_10_01_02_09 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-001.html new file mode 100644 index 00000000000..2b5b5692cbd --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-001.html @@ -0,0 +1,82 @@ + + + + +Shadow DOM Test: A_10_04_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-002.html new file mode 100644 index 00000000000..5eb8dc1f9cc --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-002.html @@ -0,0 +1,98 @@ + + + + +Shadow DOM Test: A_10_04_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-003.html new file mode 100644 index 00000000000..00461ef8a6c --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-003.html @@ -0,0 +1,130 @@ + + + + +Shadow DOM Test: A_10_04_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004.html new file mode 100644 index 00000000000..cb08e7a999f --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004.html @@ -0,0 +1,163 @@ + + + + +Shadow DOM Test: A_10_04_04 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-005.html new file mode 100644 index 00000000000..9d24c6e0f18 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-005.html @@ -0,0 +1,94 @@ + + + + +Shadow DOM Test: A_10_04_05 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-006.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-006.html new file mode 100644 index 00000000000..67a57bcf331 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-content-html-element/test-006.html @@ -0,0 +1,94 @@ + + + + +Shadow DOM Test: A_10_04_06 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-001.html new file mode 100644 index 00000000000..5349a6a198e --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-001.html @@ -0,0 +1,66 @@ + + + + +Shadow DOM Test: A_10_05_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-002.html new file mode 100644 index 00000000000..6cd360b1680 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-002.html @@ -0,0 +1,51 @@ + + + + +Shadow DOM Test: A_10_05_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003.html new file mode 100644 index 00000000000..0c1561a6db8 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003.html @@ -0,0 +1,189 @@ + + + + +Shadow DOM Test: A_10_05_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-004.html new file mode 100644 index 00000000000..199b1c551df --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-004.html @@ -0,0 +1,107 @@ + + + + +Shadow DOM Test: A_10_05_04 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-001.html new file mode 100644 index 00000000000..54b2b566d43 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-001.html @@ -0,0 +1,258 @@ + + + + +Shadow DOM Test: A_05_05_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-002.html new file mode 100644 index 00000000000..4a8214a16df --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-002.html @@ -0,0 +1,61 @@ + + + + +Shadow DOM Test: A_05_05_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-003.html new file mode 100644 index 00000000000..da3d62fee30 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/event-dispatch/test-003.html @@ -0,0 +1,60 @@ + + + + +Shadow DOM Test: A_05_05_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-001.html new file mode 100644 index 00000000000..4504baf6219 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-001.html @@ -0,0 +1,107 @@ + + + + +Shadow DOM Test: A_05_01_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-002.html new file mode 100644 index 00000000000..6013f7d3cb9 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-002.html @@ -0,0 +1,60 @@ + + + + +Shadow DOM Test: A_05_01_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-003.html new file mode 100644 index 00000000000..134430d61f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-003.html @@ -0,0 +1,61 @@ + + + + +Shadow DOM Test: A_05_01_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-004.html new file mode 100644 index 00000000000..8e861686173 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/event-retargeting/test-004.html @@ -0,0 +1,365 @@ + + + + +Shadow DOM Test: A_05_01_04 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-001.html new file mode 100644 index 00000000000..e93bc840afc --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-001.html @@ -0,0 +1,60 @@ + + + + +Shadow DOM Test: A_05_04_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-002.html new file mode 100644 index 00000000000..c4d9ec2bc40 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-002.html @@ -0,0 +1,60 @@ + + + + +Shadow DOM Test: A_05_04_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-003.html new file mode 100644 index 00000000000..f5674f5ae26 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-003.html @@ -0,0 +1,61 @@ + + + + +Shadow DOM Test: A_05_04_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-004.html new file mode 100644 index 00000000000..56c7be9d514 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-004.html @@ -0,0 +1,61 @@ + + + + +Shadow DOM Test: A_05_04_04 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-005.html new file mode 100644 index 00000000000..f2b8cad556a --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-005.html @@ -0,0 +1,61 @@ + + + + +Shadow DOM Test: A_05_04_05 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-006.html b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-006.html new file mode 100644 index 00000000000..a055fd4d394 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-006.html @@ -0,0 +1,61 @@ + + + + +Shadow DOM Test: A_05_04_06 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-007.html b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-007.html new file mode 100644 index 00000000000..c9db1cd94d7 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-007.html @@ -0,0 +1,61 @@ + + + + +Shadow DOM Test: A_05_04_07 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-008.html b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-008.html new file mode 100644 index 00000000000..f251a0c1a84 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-008.html @@ -0,0 +1,61 @@ + + + + +Shadow DOM Test: A_05_04_08 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-009.html b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-009.html new file mode 100644 index 00000000000..f6172892911 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/events-that-are-always-stopped/test-009.html @@ -0,0 +1,61 @@ + + + + +Shadow DOM Test: A_05_04_09 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-001.html new file mode 100644 index 00000000000..e230765ddd7 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-001.html @@ -0,0 +1,322 @@ + + + + +Shadow DOM Test: A_05_03_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-002.html new file mode 100644 index 00000000000..7ce91498a95 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-002.html @@ -0,0 +1,63 @@ + + + + +Shadow DOM Test: A_05_03_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-003.html new file mode 100644 index 00000000000..a565f8ddf26 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-focus-events/test-003.html @@ -0,0 +1,62 @@ + + + + +Shadow DOM Test: A_05_03_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-001.html new file mode 100644 index 00000000000..1c60896737e --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-001.html @@ -0,0 +1,69 @@ + + + + +Shadow DOM Test: A_05_02_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-002.html new file mode 100644 index 00000000000..98f52072ce8 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-002.html @@ -0,0 +1,64 @@ + + + + +Shadow DOM Test: A_05_02_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-003.html new file mode 100644 index 00000000000..d10ae575e60 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/retargeting-relatedtarget/test-003.html @@ -0,0 +1,64 @@ + + + + +Shadow DOM Test: A_05_02_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/events/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/events/test-001.html new file mode 100644 index 00000000000..cb3097ccff6 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/events/test-001.html @@ -0,0 +1,71 @@ + + + + +Shadow DOM Test: A_05_00_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-001.html new file mode 100644 index 00000000000..029f26debe0 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-001.html @@ -0,0 +1,232 @@ + + + + +Shadow DOM Test: A_09_00_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-002.html new file mode 100644 index 00000000000..d5b4705370e --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-002.html @@ -0,0 +1,82 @@ + + + + +Shadow DOM Test: A_09_00_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-003.html new file mode 100644 index 00000000000..00c20159995 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-003.html @@ -0,0 +1,73 @@ + + + + +Shadow DOM Test: A_09_00_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-004.html new file mode 100644 index 00000000000..579f9616a06 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/html-elements-and-their-shadow-trees/test-004.html @@ -0,0 +1,75 @@ + + + + +Shadow DOM Test: A_09_00_04 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-001.html new file mode 100644 index 00000000000..aea6682bd07 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-001.html @@ -0,0 +1,74 @@ + + + + +Shadow DOM Test: A_08_02_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-002.html new file mode 100644 index 00000000000..8d7eb575878 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-002.html @@ -0,0 +1,103 @@ + + + + +Shadow DOM Test: A_08_02_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-003.html new file mode 100644 index 00000000000..78a0749420d --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/html-forms/test-003.html @@ -0,0 +1,90 @@ + + + + +Shadow DOM Test: A_08_02_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-001.html new file mode 100644 index 00000000000..b283c63c998 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-001.html @@ -0,0 +1,80 @@ + + + + +Shadow DOM Test: A_08_01_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-002.html new file mode 100644 index 00000000000..bb7903938b9 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/html-elements-in-shadow-trees/inert-html-elements/test-002.html @@ -0,0 +1,46 @@ + + + + +Shadow DOM Test: A_08_01_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/resources/blank.html b/tests/wpt/web-platform-tests/shadow-dom/resources/blank.html new file mode 100644 index 00000000000..5469aa6d0a1 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/resources/blank.html @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/shadow-dom/resources/bobs_page.html b/tests/wpt/web-platform-tests/shadow-dom/resources/bobs_page.html new file mode 100644 index 00000000000..c5b04eb1fb7 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/resources/bobs_page.html @@ -0,0 +1,35 @@ + + + + + +
                                                                                                                                                                                                                                                                                        + Some text +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • Item 11
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • Item 12
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • Item 13 Shadow
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • Item 14 Shadow 2
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • Item 15
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • Item 16 Shadow
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/composition/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/composition/test-001.html new file mode 100644 index 00000000000..f180a805036 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/composition/test-001.html @@ -0,0 +1,164 @@ + + + + +Shadow DOM Test: A_04_07_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/content-pseudo-element/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/content-pseudo-element/test-001.html new file mode 100644 index 00000000000..ffafc7795e5 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/content-pseudo-element/test-001.html @@ -0,0 +1,77 @@ + + + + +Shadow DOM Test: A_04_04_01 + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/content-pseudo-element/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/content-pseudo-element/test-002.html new file mode 100644 index 00000000000..d583cfed4d6 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/content-pseudo-element/test-002.html @@ -0,0 +1,67 @@ + + + + +Shadow DOM Test: A_04_04_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/custom-pseudo-elements/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/custom-pseudo-elements/test-001.html new file mode 100644 index 00000000000..a31030c4f59 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/custom-pseudo-elements/test-001.html @@ -0,0 +1,64 @@ + + + + +Shadow DOM Test: A_04_10_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002-ref.html new file mode 100644 index 00000000000..6cc4b52ec6a --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002-ref.html @@ -0,0 +1,15 @@ + + + + + Shadow DOM - The older tree is inserted into shadow, and the original branch is inserted into content. + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Younger tree's node

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Older tree's node

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Original tree's node

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002.html new file mode 100644 index 00000000000..4d589b50550 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-002.html @@ -0,0 +1,23 @@ + + + + + Shadow DOM Test - Tests shadow inserts older tree. + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Original tree's node

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003-ref.html new file mode 100644 index 00000000000..629821c2c75 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003-ref.html @@ -0,0 +1,15 @@ + + + + + Shadow DOM - The shadow should insert original tree's node if no older shadow tree exists. + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Younger tree's node

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Older tree's node

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Original tree's node

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003.html new file mode 100644 index 00000000000..b9f237275f9 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-003.html @@ -0,0 +1,23 @@ + + + + + Shadow DOM Test - Tests shadow should insert original tree's node if no older shadow tree exists. + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Original tree's node

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004-ref.html new file mode 100644 index 00000000000..29d5eff0e21 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004-ref.html @@ -0,0 +1,14 @@ + + + + + Shadow DOM - The only first shadow element is used. + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        1st shadow tree's node

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2nd shadow tree's node

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004.html new file mode 100644 index 00000000000..5dfffd13a9a --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-004.html @@ -0,0 +1,23 @@ + + + + + Shadow DOM Test - The only first shadow element is used. + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Original tree's node

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005-ref.html new file mode 100644 index 00000000000..6d7b13af706 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005-ref.html @@ -0,0 +1,14 @@ + + + + + Shadow DOM - Older shadow tree is not used + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2nd shadow tree's node

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Original tree's node

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005.html new file mode 100644 index 00000000000..82d54d0cb87 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-005.html @@ -0,0 +1,23 @@ + + + + + Shadow DOM Test - The older shadow tree is not used. + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Original tree's node

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006-ref.html new file mode 100644 index 00000000000..ea90ce8ad35 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006-ref.html @@ -0,0 +1,15 @@ + + + + + Shadow DOM - Content and shadow elements are both inserted + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        2nd shadow tree's node

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Original tree's node

                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        1st shadow tree's node

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006.html new file mode 100644 index 00000000000..a352be28790 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees-006.html @@ -0,0 +1,23 @@ + + + + + Shadow DOM Test - Content and shadow elements are both inserted. + + + + + + + +
                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                        Original tree's node

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-001.html new file mode 100644 index 00000000000..a62bcf32ed6 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-001.html @@ -0,0 +1,128 @@ + + + + +Shadow DOM Test: A_04_05_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-002.html new file mode 100644 index 00000000000..a9e967878c2 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-002.html @@ -0,0 +1,86 @@ + + + + +Shadow DOM Test: A_04_05_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-003.html new file mode 100644 index 00000000000..13dbe3f4e96 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-003.html @@ -0,0 +1,88 @@ + + + + +Shadow DOM Test: A_04_05_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html new file mode 100644 index 00000000000..e19d98845c3 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001-ref.html @@ -0,0 +1,35 @@ + + + + +Shadow DOM Test: Distribution: Unordered list (Reference) + + + +

                                                                                                                                                                                                                                                                                        +You should see an unordered list below, consisting of ten elements +each of which contains a capital letter ranging from "A" to "J", +in alphabetical order. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • A
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • B
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • C
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • D
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • E
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • F
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • G
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • H
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • I
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • J
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html new file mode 100644 index 00000000000..891b4248946 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-001.html @@ -0,0 +1,47 @@ + + + + +Shadow DOM Test: Distribution: Unordered list + + + + + + + +

                                                                                                                                                                                                                                                                                        +You should see an unordered list below, consisting of ten elements +each of which contains a capital letter ranging from "A" to "J", +in alphabetical order. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        • H
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • B
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • E
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • I
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        • C
                                                                                                                                                                                                                                                                                        • +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html new file mode 100644 index 00000000000..5114b64b4ea --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002-ref.html @@ -0,0 +1,40 @@ + + + + +Shadow DOM Test: Distribution: Ordered list (Reference) + + + + +

                                                                                                                                                                                                                                                                                        +You should see an ordered list below, consisting of ten elements numbered +from 1 through 10, and each line should contain a capital letter ranging from +"A" to "J", in alphabetical order. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. A
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. B
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. C
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        7. D
                                                                                                                                                                                                                                                                                        8. +
                                                                                                                                                                                                                                                                                        9. E
                                                                                                                                                                                                                                                                                        10. +
                                                                                                                                                                                                                                                                                        11. F
                                                                                                                                                                                                                                                                                        12. +
                                                                                                                                                                                                                                                                                        13. G
                                                                                                                                                                                                                                                                                        14. +
                                                                                                                                                                                                                                                                                        15. H
                                                                                                                                                                                                                                                                                        16. +
                                                                                                                                                                                                                                                                                        17. I
                                                                                                                                                                                                                                                                                        18. +
                                                                                                                                                                                                                                                                                        19. J
                                                                                                                                                                                                                                                                                        20. +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002.html new file mode 100644 index 00000000000..e0d93ad6f34 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-002.html @@ -0,0 +1,53 @@ + + + + +Shadow DOM Test: Distribution: Ordered list + + + + + + + + + +

                                                                                                                                                                                                                                                                                        +You should see an ordered list below, consisting of ten elements numbered +from 1 through 10, and each line should contain a capital letter ranging from +"A" to "J", in alphabetical order. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                        1. H
                                                                                                                                                                                                                                                                                        2. +
                                                                                                                                                                                                                                                                                        3. B
                                                                                                                                                                                                                                                                                        4. +
                                                                                                                                                                                                                                                                                        5. E
                                                                                                                                                                                                                                                                                        6. +
                                                                                                                                                                                                                                                                                        7. I
                                                                                                                                                                                                                                                                                        8. +
                                                                                                                                                                                                                                                                                        9. C
                                                                                                                                                                                                                                                                                        10. +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003.html new file mode 100644 index 00000000000..e21fc90f738 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003.html @@ -0,0 +1,75 @@ + + + + +Shadow DOM Test: Invariants after distribution + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003.html new file mode 100644 index 00000000000..3dea1f6838a --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-003.html @@ -0,0 +1,131 @@ + + + + +Shadow DOM Test: A_04_02_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004.html new file mode 100644 index 00000000000..ea67f9bb058 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-004.html @@ -0,0 +1,103 @@ + + + + +Shadow DOM Test: A_04_02_04 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-005.html new file mode 100644 index 00000000000..b15b603a6f0 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/lower-boundary-encapsulation/test-005.html @@ -0,0 +1,67 @@ + + + + +Shadow DOM Test: A_04_02_05 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html new file mode 100644 index 00000000000..f4b8bab7602 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest-ref.html @@ -0,0 +1,25 @@ + + + + + Shadow DOM Test Ref file - Tests nested shadow tree. + + + + + + +

                                                                                                                                                                                                                                                                                        The test passes if there is a green square. Test failed if there is a red square.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest.html new file mode 100644 index 00000000000..679b70f0dde --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/nested_tree_reftest.html @@ -0,0 +1,30 @@ + + + + + Shadow DOM Test - Tests nested shadow tree. + + + + + + + + +

                                                                                                                                                                                                                                                                                        The test passes if there is a green square. Test failed if there is a red square.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/test-001.html new file mode 100644 index 00000000000..68bda04cc7a --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/nested-shadow-trees/test-001.html @@ -0,0 +1,99 @@ + + + + +Shadow DOM Test: A_04_08_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/rendering-shadow-trees/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/rendering-shadow-trees/test-001.html new file mode 100644 index 00000000000..3671669e216 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/rendering-shadow-trees/test-001.html @@ -0,0 +1,256 @@ + + + + +Shadow DOM Test: A_04_09_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-001-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-001-ref.html new file mode 100644 index 00000000000..98c7a609c4f --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-001-ref.html @@ -0,0 +1,35 @@ + + + + + +Shadow DOM Test: Basic reprojection (reference) + + + + + +

                                                                                                                                                                                                                                                                                        You should see green text saying "Apple" and "Orange" below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Hello a Shadow Root2.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + Hello a Shadow Root. +
                                                                                                                                                                                                                                                                                        Apple.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Orange.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Banana.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-001.html new file mode 100644 index 00000000000..6f957709e9c --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-001.html @@ -0,0 +1,39 @@ + + + + + +Shadow DOM Test - Tests a reprojection. + + + + + + + + + +

                                                                                                                                                                                                                                                                                        You should see green text saying "Apple" and "Orange" below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Apple.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Orange.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-002-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-002-ref.html new file mode 100644 index 00000000000..8e538c91e59 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-002-ref.html @@ -0,0 +1,30 @@ + + + + + +Shadow DOM Test: Basic reprojection with a select attribute (reference) + + + + + +

                                                                                                                                                                                                                                                                                        You should see green text saying "Apple" below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Hello a Shadow Root2.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Apple.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-002.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-002.html new file mode 100644 index 00000000000..8cc408d8860 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/reprojection-002.html @@ -0,0 +1,40 @@ + + + + + +Shadow DOM Test - Tests a reprojection with a select attribute. + + + + + + + + + +

                                                                                                                                                                                                                                                                                        You should see green text saying "Apple" below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Apple.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Orange.
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/test-001.html new file mode 100644 index 00000000000..eaaa0c7de2c --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/reprojection/test-001.html @@ -0,0 +1,176 @@ + + + + +Shadow DOM Test: A_04_06_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-001.html new file mode 100644 index 00000000000..2291c9329d0 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-001.html @@ -0,0 +1,60 @@ + + + + +Shadow DOM Test: A_04_03_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-002.html new file mode 100644 index 00000000000..ca64b9ed103 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-002.html @@ -0,0 +1,66 @@ + + + + +Shadow DOM Test: A_04_03_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-003.html new file mode 100644 index 00000000000..0eca071503f --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-003.html @@ -0,0 +1,67 @@ + + + + +Shadow DOM Test: A_04_03_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-004.html new file mode 100644 index 00000000000..f90d8a4a530 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-004.html @@ -0,0 +1,66 @@ + + + + +Shadow DOM Test: A_04_03_04 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-005.html new file mode 100644 index 00000000000..3fca25f375b --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-005.html @@ -0,0 +1,66 @@ + + + + +Shadow DOM Test: A_04_03_05 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-006.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-006.html new file mode 100644 index 00000000000..b6731d5d867 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-006.html @@ -0,0 +1,58 @@ + + + + +Shadow DOM Test: A_04_03_06_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-007.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-007.html new file mode 100644 index 00000000000..f1cf07f1794 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-007.html @@ -0,0 +1,59 @@ + + + + +Shadow DOM Test: A_04_03_06_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-008.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-008.html new file mode 100644 index 00000000000..f90e04b3c40 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-008.html @@ -0,0 +1,59 @@ + + + + +Shadow DOM Test: A_04_03_06_04 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-009.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-009.html new file mode 100644 index 00000000000..1dc5b81625d --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-009.html @@ -0,0 +1,59 @@ + + + + +Shadow DOM Test: A_04_03_06_05 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-010.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-010.html new file mode 100644 index 00000000000..9ad8a6c0909 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-010.html @@ -0,0 +1,59 @@ + + + + +Shadow DOM Test: A_04_03_06_06 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-011.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-011.html new file mode 100644 index 00000000000..4def9a0c648 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-011.html @@ -0,0 +1,61 @@ + + + + +Shadow DOM Test: A_04_03_06_07 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-012.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-012.html new file mode 100644 index 00000000000..a7dd85cd9df --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-012.html @@ -0,0 +1,67 @@ + + + + +Shadow DOM Test: A_04_03_06_08 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-013.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-013.html new file mode 100644 index 00000000000..31e4f310a69 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-013.html @@ -0,0 +1,67 @@ + + + + +Shadow DOM Test: A_04_03_06_09 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-014.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-014.html new file mode 100644 index 00000000000..3f0eaad05bc --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-014.html @@ -0,0 +1,67 @@ + + + + +Shadow DOM Test: A_04_03_06_10 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-015.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-015.html new file mode 100644 index 00000000000..a074086f88e --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-015.html @@ -0,0 +1,67 @@ + + + + +Shadow DOM Test: A_04_03_06_11 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-016.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-016.html new file mode 100644 index 00000000000..919c3262624 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-016.html @@ -0,0 +1,67 @@ + + + + +Shadow DOM Test: A_04_03_06_12 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-017.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-017.html new file mode 100644 index 00000000000..711c8c65add --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-017.html @@ -0,0 +1,67 @@ + + + + +Shadow DOM Test: A_04_03_06_13 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-018.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-018.html new file mode 100644 index 00000000000..93f991fd45e --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-018.html @@ -0,0 +1,67 @@ + + + + +Shadow DOM Test: A_04_03_06_14 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-019.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-019.html new file mode 100644 index 00000000000..8b7a07f5019 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-019.html @@ -0,0 +1,67 @@ + + + + +Shadow DOM Test: A_04_03_06_15 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-020.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-020.html new file mode 100644 index 00000000000..15ad4e620e3 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/satisfying-matching-criteria/test-020.html @@ -0,0 +1,79 @@ + + + + +Shadow DOM Test: A_04_03_06_16 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-001-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-001-ref.html new file mode 100644 index 00000000000..d80fcccbf39 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-001-ref.html @@ -0,0 +1,25 @@ + + + + +Shadow DOM Test: Basic shadow root (reference) + + + + + +

                                                                                                                                                                                                                                                                                        You should see green text saying "PASS" below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        PASS
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-001.html new file mode 100644 index 00000000000..8ab15a1ac3e --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-001.html @@ -0,0 +1,35 @@ + + + + +Shadow DOM Test: Basic shadow root + + + + + + + + + +

                                                                                                                                                                                                                                                                                        You should see green text saying "PASS" below.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        FAIL
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-002-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-002-ref.html new file mode 100644 index 00000000000..77b472d7825 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-002-ref.html @@ -0,0 +1,31 @@ + + + + +Shadow DOM Test: Basic distribution (reference) + + + + + +

                                                                                                                                                                                                                                                                                        +You should see four lines of green text "A", "B", "C" and "D" below, +in this order. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        A
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        B
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        C
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        D
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-002.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-002.html new file mode 100644 index 00000000000..23d0cdd30a2 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/shadow-root-002.html @@ -0,0 +1,49 @@ + + + + + +Shadow DOM Test: Basic distribution + + + + + + + + + +

                                                                                                                                                                                                                                                                                        +You should see four lines of green text "A", "B", "C" and "D" below, +in this order. +

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        B
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        C
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/text-decoration-001-ref.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/text-decoration-001-ref.html new file mode 100644 index 00000000000..db3eede5662 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/text-decoration-001-ref.html @@ -0,0 +1,13 @@ + + + + + Shadow DOM Test + + + + + if NOT underlined, it is success. + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/text-decoration-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/text-decoration-001.html new file mode 100644 index 00000000000..f22c3a3854e --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/text-decoration-001.html @@ -0,0 +1,22 @@ + + + + + Text Decoration Under Line Test + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html new file mode 100644 index 00000000000..c55a6091cfb --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html @@ -0,0 +1,225 @@ + + + + +Shadow DOM Test: Upper-boundary encapsulation: document's DOM tree accessors + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html new file mode 100644 index 00000000000..747ae6749b4 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-002.html @@ -0,0 +1,92 @@ + + + + +Shadow DOM Test: Upper-boundary encapsulation: shadow root's DOM tree accessors + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html new file mode 100644 index 00000000000..69eb0325af5 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-001.html @@ -0,0 +1,109 @@ + + + + +Shadow DOM Test: Upper-boundary encapsuration on ownerDocument: basic tests + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html new file mode 100644 index 00000000000..291b8c89383 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/ownerdocument-002.html @@ -0,0 +1,56 @@ + + + + +Shadow DOM Test: Upper-boundary encapsuration on ownerDocument: with all HTML5 elements + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html new file mode 100644 index 00000000000..5cb990df71c --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-001.html @@ -0,0 +1,81 @@ + + + + +Shadow DOM Test: Upper-boundary encapsulation: document's Selector APIs + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html new file mode 100644 index 00000000000..06f553ac35e --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/selectors-api-002.html @@ -0,0 +1,85 @@ + + + + +Shadow DOM Test: Upper-boundary encapsulation: shadow root's Selector APIs + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html new file mode 100644 index 00000000000..4110efcddaf --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/shadow-root-001.html @@ -0,0 +1,64 @@ + + + + +Shadow DOM Test: Shadow root's parentNode() and parentElement() + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-005.html new file mode 100644 index 00000000000..574a983058c --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-005.html @@ -0,0 +1,74 @@ + + + + +Shadow DOM Test: A_04_01_05 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-007.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-007.html new file mode 100644 index 00000000000..2145374ef41 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-007.html @@ -0,0 +1,75 @@ + + + + +Shadow DOM Test: A_04_01_07 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009.html new file mode 100644 index 00000000000..10260da9ab3 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009.html @@ -0,0 +1,285 @@ + + + + +Shadow DOM Test: A_04_01_09 + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-011.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-011.html new file mode 100644 index 00000000000..18fcfd75e74 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-011.html @@ -0,0 +1,71 @@ + + + + +Shadow DOM Test: A_04_01_11 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html new file mode 100644 index 00000000000..9fbd1ee927a --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html @@ -0,0 +1,91 @@ + + + + +Shadow DOM Test: Window object named properties: Frames + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html new file mode 100644 index 00000000000..cfbf4b5d435 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-002.html @@ -0,0 +1,51 @@ + + + + +Shadow DOM Test: Window object named properties: "name" attribute + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html new file mode 100644 index 00000000000..bde896d9641 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-003.html @@ -0,0 +1,47 @@ + + + + +Shadow DOM Test: Window object named properties: "id" attribute + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/css-variables/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/styles/css-variables/test-001.html new file mode 100644 index 00000000000..8d7b57bd075 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/css-variables/test-001.html @@ -0,0 +1,73 @@ + + + + +Shadow DOM Test: A_06_01_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/deep-combinator/deep-combinator-001.html b/tests/wpt/web-platform-tests/shadow-dom/styles/deep-combinator/deep-combinator-001.html new file mode 100644 index 00000000000..c60403ff58c --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/deep-combinator/deep-combinator-001.html @@ -0,0 +1,157 @@ + + + + +Shadow DOM Test: /deep/ combinator + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/not-apply-in-shadow-root-001-ref.html b/tests/wpt/web-platform-tests/shadow-dom/styles/not-apply-in-shadow-root-001-ref.html new file mode 100644 index 00000000000..fdcc6e5ba21 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/not-apply-in-shadow-root-001-ref.html @@ -0,0 +1,27 @@ + + + + +Shadow DOM Test + + + + +

                                                                                                                                                                                                                                                                                        Test passes if following box is green.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/not-apply-in-shadow-root-001.html b/tests/wpt/web-platform-tests/shadow-dom/styles/not-apply-in-shadow-root-001.html new file mode 100644 index 00000000000..abef32a1811 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/not-apply-in-shadow-root-001.html @@ -0,0 +1,39 @@ + + + + +Shadow DOM Test - Tests CSS rules must not apply in a shadow root + + + + + + + + +

                                                                                                                                                                                                                                                                                        Test passes if following box is green.

                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/shadow-pseudoelement/shadow-pseudoelement-001.html b/tests/wpt/web-platform-tests/shadow-dom/styles/shadow-pseudoelement/shadow-pseudoelement-001.html new file mode 100644 index 00000000000..a0048c8ee3b --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/shadow-pseudoelement/shadow-pseudoelement-001.html @@ -0,0 +1,151 @@ + + + + +Shadow DOM Test: ::shadow pseudo element + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/styles/test-001.html new file mode 100644 index 00000000000..0d4fd2f0737 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/test-001.html @@ -0,0 +1,174 @@ + + + + +Shadow DOM Test: A_06_00_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/styles/test-002.html new file mode 100644 index 00000000000..40d4bd91cda --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/test-002.html @@ -0,0 +1,149 @@ + + + + +Shadow DOM Test: A_06_00_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/styles/test-003.html new file mode 100644 index 00000000000..ac5b34a0f71 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/test-003.html @@ -0,0 +1,69 @@ + + + + +Shadow DOM Test: A_06_00_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-005.html b/tests/wpt/web-platform-tests/shadow-dom/styles/test-005.html new file mode 100644 index 00000000000..313fc104fcc --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/test-005.html @@ -0,0 +1,63 @@ + + + + +Shadow DOM Test: A_06_00_06 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-007.html b/tests/wpt/web-platform-tests/shadow-dom/styles/test-007.html new file mode 100644 index 00000000000..b8553c463a8 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/test-007.html @@ -0,0 +1,134 @@ + + + + +Shadow DOM Test: A_06_00_08 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-008.html b/tests/wpt/web-platform-tests/shadow-dom/styles/test-008.html new file mode 100644 index 00000000000..a248333b374 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/test-008.html @@ -0,0 +1,96 @@ + + + + +Shadow DOM Test: A_06_00_09 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-009.html b/tests/wpt/web-platform-tests/shadow-dom/styles/test-009.html new file mode 100644 index 00000000000..90d565b266f --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/test-009.html @@ -0,0 +1,74 @@ + + + + +Shadow DOM Test: A_06_00_10 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/styles/test-010.html b/tests/wpt/web-platform-tests/shadow-dom/styles/test-010.html new file mode 100644 index 00000000000..97d6e6a2406 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/styles/test-010.html @@ -0,0 +1,56 @@ + + + + +Shadow DOM Test: A_06_00_11 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/testcommon.js b/tests/wpt/web-platform-tests/shadow-dom/testcommon.js new file mode 100644 index 00000000000..4d01f57cd4c --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/testcommon.js @@ -0,0 +1,273 @@ +// Copyright 2012 Google Inc. All Rights Reserved. + +/* +Distributed under both the W3C Test Suite License [1] and the W3C +3-clause BSD License [2]. To contribute to a W3C Test Suite, see the +policies and contribution forms [3]. + +[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license +[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license +[3] http://www.w3.org/2004/10/27-testcases +*/ + +"use strict"; + +var HTML5_ELEMENT_NAMES = [ + 'a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', + 'b', 'base', 'bdi', 'bdo', 'blockquote', 'body', 'br', 'button', + 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'command', + 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', + 'em', 'embed', + 'fieldset', 'figcaption', 'figure', 'footer', 'form', + 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', + 'html', + 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', + 'label', 'legend', 'li', 'link', + 'map', 'mark', 'menu', 'meta', 'meter', + 'nav', 'noscript', + 'object', 'ol', 'optgroup', 'option', 'output', + 'p', 'param', 'pre', 'progress', + 'q', + 'rp', 'rt', 'ruby', + 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', + 'strong', 'style', 'sub', + 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', + 'title', 'tr', 'track', + 'u', 'ul', + 'var', 'video', + 'wbr' +]; + +// http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#form-associated-element +var HTML5_FORM_ASSOCIATED_ELEMENTS = ['button', 'fieldset', 'input', 'keygen', 'label', + 'object', 'output', 'select', 'textarea']; + +// Whether to work around vendor prefixes. +var USE_VENDOR_SPECIFIC_WORKAROUND = true; + +function activateVendorSpecificWorkaround() { + if (Element.prototype.webkitCreateShadowRoot && + !Element.prototype.createShadowRoot) { + Element.prototype.createShadowRoot = + Element.prototype.webkitCreateShadowRoot; + + Object.defineProperty(Element.prototype, 'pseudo', { + get: function () { return this.webkitPseudo; }, + set: function (value) { return this.webkitPseudo = value; } + }); + + Object.defineProperty(Element.prototype, 'shadowRoot', { + get: function () { return this.webkitShadowRoot; } + }); + } +} + +if (USE_VENDOR_SPECIFIC_WORKAROUND) + activateVendorSpecificWorkaround(); + +// ---------------------------------------------------------------------------- +// Deprecated: The code below is preserved only for the existing tests that are +// using it. Now vendor prefixes are handled in a way that does not require +// manual intervention. New tests should just use unprefixed APIs and you +// are all set. +// +// These functions will eventually be removed when no tests use them. + +function ShadowDomNotSupportedError() { + this.message = "Shadow DOM is not supported"; +} + +// To allow using of both prefixed and non-prefixed API we do +// the following hook +function addPrefixed(element) { + if (element && !element.pseudo) { + Object.defineProperty(element, 'pseudo', { + get: function () { return element.webkitPseudo; }, + set: function (value) { return element.webkitPseudo = value; } + }); + } +} + +function addDocumentPrefixed(d) { + if (d) { + if (d.body) { + addPrefixed(d.body); + } + if (d.head) { + addPrefixed(d.head); + } + if (d.documentElement) { + addPrefixed(d.documentElement); + } + d.oldCreate = d.createElement; + d.createElement = function(tagName) { + var el = d.oldCreate(tagName); + addPrefixed(el); + return el; + }; + } +} + + +function rethrowInternalErrors(e) { + if (e instanceof ShadowDomNotSupportedError) { + throw e; + } + +} + +function newDocument() { + var d = document.implementation.createDocument( + 'http://www.w3.org/1999/xhtml', 'html'); + //FIXME remove the call below when non-prefixed API is used + addDocumentPrefixed(d); + return d; +} + +function newHTMLDocument() { + var d = document.implementation.createHTMLDocument('Test Document'); + //FIXME remove the call below when non-prefixed API is used + addDocumentPrefixed(d); + return d; +} + +function newIFrame(ctx, src) { + if (typeof(ctx) == 'undefined' || typeof (ctx.iframes) != 'object') { + assert_unreached('Illegal context object in newIFrame'); + } + + var iframe = document.createElement('iframe'); + if (!ctx.debug) { + iframe.style.display = 'none'; + } + if (typeof(src) != 'undefined') { + iframe.src = src; + } + document.body.appendChild(iframe); + ctx.iframes.push(iframe); + + assert_true(typeof(iframe.contentWindow) != 'undefined' + && typeof(iframe.contentWindow.document) != 'undefined' + && iframe.contentWindow.document != document, 'Failed to create new rendered document' + ); + return iframe; +} +function newRenderedHTMLDocument(ctx) { + var frame = newIFrame(ctx); + var d = frame.contentWindow.document; + //FIXME remove the call below when non-prefixed API is used + addDocumentPrefixed(d); + return d; +} + +// End deprecated. +// ---------------------------------------------------------------------------- + +function newContext() { + return {iframes:[]}; +} + +function cleanContext(ctx) { + if (!ctx.debug) { + ctx.iframes.forEach(function (e) { + e.parentNode.removeChild(e); + }); + } +} + +function unit(f) { + return function () { + var ctx = newContext(); + try { + f(ctx); + } catch(e) { + console.log(e.getMessage()); + } finally { + cleanContext(ctx); + } + } +} + +function step_unit(f, ctx, t) { + return function () { + var done = false; + try { + f(); + done = true; + } finally { + if (done) { + t.done(); + } + cleanContext(ctx); + } + } +} + +function assert_nodelist_contents_equal_noorder(actual, expected, message) { + assert_equals(actual.length, expected.length, message); + var used = []; + for (var i = 0; i < expected.length; i++) { + used.push(false); + } + for (i = 0; i < expected.length; i++) { + var found = false; + for (var j = 0; j < actual.length; j++) { + if (used[j] == false && expected[i] == actual[j]) { + used[j] = true; + found = true; + break; + } + } + if (!found) { + assert_unreached(message + ". Fail reason: element not found: " + expected[i]); + } + } +} + + +//Example taken from http://www.w3.org/TR/shadow-dom/#event-retargeting-example +function createTestMediaPlayer(d) { + d.body.innerHTML = '' + + '
                                                                                                                                                                                                                                                                                        ' + + '' + + '
                                                                                                                                                                                                                                                                                        ' + + '
                                                                                                                                                                                                                                                                                        ' + + '
                                                                                                                                                                                                                                                                                        '; + + var playerShadowRoot = d.querySelector('#player-shadow-root').createShadowRoot(); + playerShadowRoot.innerHTML = '' + + '
                                                                                                                                                                                                                                                                                        ' + + '' + + '' + + '
                                                                                                                                                                                                                                                                                        ' + + '
                                                                                                                                                                                                                                                                                        ' + + '' + + '
                                                                                                                                                                                                                                                                                        ' + + '' + + '
                                                                                                                                                                                                                                                                                        ' + + '
                                                                                                                                                                                                                                                                                        ' + + '' + + '
                                                                                                                                                                                                                                                                                        ' + + '
                                                                                                                                                                                                                                                                                        '; + + var timeLineShadowRoot = playerShadowRoot.querySelector('#timeline-shadow-root').createShadowRoot(); + timeLineShadowRoot.innerHTML = '
                                                                                                                                                                                                                                                                                        '; + + var volumeShadowRoot = playerShadowRoot.querySelector('#volume-shadow-root').createShadowRoot(); + volumeShadowRoot.innerHTML = '
                                                                                                                                                                                                                                                                                        '; + + return { + 'playerShadowRoot': playerShadowRoot, + 'timeLineShadowRoot': timeLineShadowRoot, + 'volumeShadowRoot': volumeShadowRoot + }; +} + +//FIXME This call of initKeyboardEvent works for WebKit-only. +//See https://bugs.webkit.org/show_bug.cgi?id=16735 +// and https://bugs.webkit.org/show_bug.cgi?id=13368. Add check for browser here +function fireKeyboardEvent(doc, element, key) { + var event = doc.createEvent('KeyboardEvent'); + event.initKeyboardEvent("keydown", true, true, doc.defaultView, key, 0, false, false, false, false); + element.dispatchEvent(event); +} diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/active-element/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/active-element/test-001.html new file mode 100644 index 00000000000..8643959917c --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/active-element/test-001.html @@ -0,0 +1,48 @@ + + + + +Shadow DOM Test: A_07_03_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/active-element/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/active-element/test-002.html new file mode 100644 index 00000000000..80382085a8e --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/active-element/test-002.html @@ -0,0 +1,49 @@ + + + + +Shadow DOM Test: A_07_03_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/editing/inheritance-of-content-editable-001.html b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/editing/inheritance-of-content-editable-001.html new file mode 100644 index 00000000000..992a036a8a4 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/editing/inheritance-of-content-editable-001.html @@ -0,0 +1,65 @@ + + + + +Shadow DOM Test: Inheritance of contentEditable attribute + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-001.html new file mode 100644 index 00000000000..d26563b2389 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-001.html @@ -0,0 +1,86 @@ + + + + +Shadow DOM Test: A_07_02_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-002.html new file mode 100644 index 00000000000..2fa3e4eb9ec --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-002.html @@ -0,0 +1,238 @@ + + + + +Shadow DOM Test: A_07_02_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-003.html b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-003.html new file mode 100644 index 00000000000..1abd9e4d373 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-003.html @@ -0,0 +1,237 @@ + + + + +Shadow DOM Test: A_07_02_03 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-004.html b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-004.html new file mode 100644 index 00000000000..0785ef2b8d1 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/focus-navigation/test-004.html @@ -0,0 +1,427 @@ + + + + +Shadow DOM Test: A_07_02_04 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/ranges-and-selections/test-001.html b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/ranges-and-selections/test-001.html new file mode 100644 index 00000000000..ef505610b4b --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/ranges-and-selections/test-001.html @@ -0,0 +1,80 @@ + + + + +Shadow DOM Test: A_07_01_01 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/shadow-dom/user-interaction/ranges-and-selections/test-002.html b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/ranges-and-selections/test-002.html new file mode 100644 index 00000000000..66cea994547 --- /dev/null +++ b/tests/wpt/web-platform-tests/shadow-dom/user-interaction/ranges-and-selections/test-002.html @@ -0,0 +1,80 @@ + + + + +Shadow DOM Test: A_07_01_02 + + + + + + + + + +
                                                                                                                                                                                                                                                                                        + + + diff --git a/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-base64-encoded-sha-digests.js b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-base64-encoded-sha-digests.js new file mode 100644 index 00000000000..8008093e353 --- /dev/null +++ b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-base64-encoded-sha-digests.js @@ -0,0 +1 @@ +loads_scripts_with_base64_encoded_sha_digests=true; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-correct-content-type.js b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-correct-content-type.js new file mode 100644 index 00000000000..6e4eb646f6f --- /dev/null +++ b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-correct-content-type.js @@ -0,0 +1 @@ +loads_scripts_with_correct_content_type=true; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-improper-integrity-uri-scheme.js b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-improper-integrity-uri-scheme.js new file mode 100644 index 00000000000..ccd7fd9f431 --- /dev/null +++ b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-improper-integrity-uri-scheme.js @@ -0,0 +1 @@ +loads_scripts_with_improper_integrity_uri_scheme=true; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-incorrect-content-type.js b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-incorrect-content-type.js new file mode 100644 index 00000000000..20dbc1acafa --- /dev/null +++ b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-incorrect-content-type.js @@ -0,0 +1 @@ +loads_scripts_with_incorrect_content_type=true; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-matching-digest.js b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-matching-digest.js new file mode 100644 index 00000000000..1f57048d90d --- /dev/null +++ b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-matching-digest.js @@ -0,0 +1 @@ +loads_scripts_with_matching_digest=true; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-non-matching-digest.js b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-non-matching-digest.js new file mode 100644 index 00000000000..24db0b83bd6 --- /dev/null +++ b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-non-matching-digest.js @@ -0,0 +1 @@ +loads_scripts_with_non_matching_digest=true; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-unhyphenated-digest-name.js b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-unhyphenated-digest-name.js new file mode 100644 index 00000000000..9dee23b7dc2 --- /dev/null +++ b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-unhyphenated-digest-name.js @@ -0,0 +1 @@ +loads_scripts_with_unhyphenated_digest_name=true; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-weak-digest-algorithms.js b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-weak-digest-algorithms.js new file mode 100644 index 00000000000..ebee868e52c --- /dev/null +++ b/tests/wpt/web-platform-tests/subresource-integrity/loads-scripts-with-weak-digest-algorithms.js @@ -0,0 +1 @@ +loads_scripts_with_weak_digest_algorithms=true; \ No newline at end of file diff --git a/tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html b/tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html new file mode 100644 index 00000000000..74b2d17e71e --- /dev/null +++ b/tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html @@ -0,0 +1,79 @@ + + +Subresource Integrity + + +
                                                                                                                                                                                                                                                                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/wpt/web-platform-tests/subresource-integrity/tools/generate_javascript.py b/tests/wpt/web-platform-tests/subresource-integrity/tools/generate_javascript.py new file mode 100644 index 00000000000..3a28dd437ad --- /dev/null +++ b/tests/wpt/web-platform-tests/subresource-integrity/tools/generate_javascript.py @@ -0,0 +1,45 @@ +from os import path, listdir +from hashlib import sha256, md5 +from base64 import urlsafe_b64encode +import re + +JS_DIR = path.normpath(path.join(__file__, "..", "..")) + +''' +Yield each file in the javascript directory +''' +def js_files(): + for f in listdir(JS_DIR): + if path.isfile(f) and f.endswith(".js"): + yield f + +''' +URL-safe base64 encode a binary digest and strip any padding. +''' +def format_digest(digest): + return urlsafe_b64encode(digest).rstrip("=") + +''' +Generate an encoded sha256 URI. +''' +def sha256_uri(content): + return "ni:///sha-256;%s" % format_digest(sha256(content).digest()) + +''' +Generate an encoded md5 digest URI. +''' +def md5_uri(content): + return "ni:///md5;%s" % format_digest(md5(content).digest()) + +def main(): + for file in js_files(): + print "Generating content for %s" % file + base = path.splitext(path.basename(file))[0] + var_name = re.sub(r"[^a-z0-9]", "_", base) + content = "%s=true;" % var_name + with open(file, "w") as f: f.write(content) + print "\tSHA256 integrity: %s" % sha256_uri(content) + print "\tMD5 integrity: %s" % md5_uri(content) + +if __name__ == "__main__": + main() diff --git a/tests/wpt/web-platform-tests/tools/.gitmodules b/tests/wpt/web-platform-tests/tools/.gitmodules new file mode 100644 index 00000000000..00ffb68b8e6 --- /dev/null +++ b/tests/wpt/web-platform-tests/tools/.gitmodules @@ -0,0 +1,14 @@ +[submodule "tools/wptserve"] + path = wptserve + url = https://github.com/w3c/wptserve.git + ignore = dirty +[submodule "tools/pywebsocket"] + path = pywebsocket + url = https://github.com/w3c/pywebsocket.git + ignore = dirty +[submodule "html5lib"] + path = html5lib + url = https://github.com/html5lib/html5lib-python.git +[submodule "tools/six"] + path = six + url = https://github.com/jgraham/six.git diff --git a/tests/wpt/web-platform-tests/tools/__init__.py b/tests/wpt/web-platform-tests/tools/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/wpt/web-platform-tests/tools/html5lib/.gitignore b/tests/wpt/web-platform-tests/tools/html5lib/.gitignore new file mode 100644 index 00000000000..73d97fec073 --- /dev/null +++ b/tests/wpt/web-platform-tests/tools/html5lib/.gitignore @@ -0,0 +1,20 @@ +# Because we never want compiled Python +__pycache__/ +*.pyc + +# Ignore stuff produced by distutils +/build/ +/dist/ +/MANIFEST + +# Generated by parse.py -p +stats.prof + +# From cover (esp. in combination with nose) +.coverage + +# Because tox's data is inherently local +/.tox/ + +# We have no interest in built Sphinx files +/doc/_build diff --git a/tests/wpt/web-platform-tests/tools/html5lib/.gitmodules b/tests/wpt/web-platform-tests/tools/html5lib/.gitmodules new file mode 100644 index 00000000000..dbca470328d --- /dev/null +++ b/tests/wpt/web-platform-tests/tools/html5lib/.gitmodules @@ -0,0 +1,3 @@ +[submodule "testdata"] + path = html5lib/tests/testdata + url = https://github.com/html5lib/html5lib-tests.git diff --git a/tests/wpt/web-platform-tests/tools/html5lib/.travis.yml b/tests/wpt/web-platform-tests/tools/html5lib/.travis.yml new file mode 100644 index 00000000000..dd3130019e7 --- /dev/null +++ b/tests/wpt/web-platform-tests/tools/html5lib/.travis.yml @@ -0,0 +1,37 @@ +language: python +python: + - "2.6" + - "2.7" + - "3.2" + - "3.3" + - "3.4" + - "pypy" + +env: + - USE_OPTIONAL=true + - USE_OPTIONAL=false + +matrix: + exclude: + - python: "2.7" + env: USE_OPTIONAL=false + - python: "3.4" + env: USE_OPTIONAL=false + include: + - python: "2.7" + env: USE_OPTIONAL=false FLAKE=true + - python: "3.4" + env: USE_OPTIONAL=false FLAKE=true + +before_install: + - git submodule update --init --recursive + +install: + - bash requirements-install.sh + +script: + - nosetests + - bash flake8-run.sh + +after_script: + - python debug-info.py diff --git a/tests/wpt/web-platform-tests/tools/html5lib/AUTHORS.rst b/tests/wpt/web-platform-tests/tools/html5lib/AUTHORS.rst new file mode 100644 index 00000000000..4148a6ed262 --- /dev/null +++ b/tests/wpt/web-platform-tests/tools/html5lib/AUTHORS.rst @@ -0,0 +1,34 @@ +Credits +======= + +``html5lib`` is written and maintained by: + +- James Graham +- Geoffrey Sneddon +- Åukasz Langa + + +Patches and suggestions +----------------------- +(In chronological order, by first commit:) + +- Anne van Kesteren +- Lachlan Hunt +- lantis63 +- Sam Ruby +- Tim Fletcher +- Thomas Broyer +- Mark Pilgrim +- Philip Taylor +- Ryan King +- Edward Z. Yang +- fantasai +- Philip Jägenstedt +- Ms2ger +- Andy Wingo +- Andreas Madsack +- Karim Valiev +- Mohammad Taha Jahangir +- Juan Carlos Garcia Segovia +- Mike West +- Marc DM diff --git a/tests/wpt/web-platform-tests/tools/html5lib/CHANGES.rst b/tests/wpt/web-platform-tests/tools/html5lib/CHANGES.rst new file mode 100644 index 00000000000..1431b3c9b8f --- /dev/null +++ b/tests/wpt/web-platform-tests/tools/html5lib/CHANGES.rst @@ -0,0 +1,171 @@ +Change Log +---------- + +0.9999 +~~~~~~ + +Released on XXX, 2014 + +* XXX + + +0.999 +~~~~~ + +Released on December 23, 2013 + +* Fix #127: add work-around for CPython issue #20007: .read(0) on + http.client.HTTPResponse drops the rest of the content. + +* Fix #115: lxml treewalker can now deal with fragments containing, at + their root level, text nodes with non-ASCII characters on Python 2. + + +0.99 +~~~~ + +Released on September 10, 2013 + +* No library changes from 1.0b3; released as 0.99 as pip has changed + behaviour from 1.4 to avoid installing pre-release versions per + PEP 440. + + +1.0b3 +~~~~~ + +Released on July 24, 2013 + +* Removed ``RecursiveTreeWalker`` from ``treewalkers._base``. Any + implementation using it should be moved to + ``NonRecursiveTreeWalker``, as everything bundled with html5lib has + for years. + +* Fix #67 so that ``BufferedStream`` to correctly returns a bytes + object, thereby fixing any case where html5lib is passed a + non-seekable RawIOBase-like object. + + +1.0b2 +~~~~~ + +Released on June 27, 2013 + +* Removed reordering of attributes within the serializer. There is now + an ``alphabetical_attributes`` option which preserves the previous + behaviour through a new filter. This allows attribute order to be + preserved through html5lib if the tree builder preserves order. + +* Removed ``dom2sax`` from DOM treebuilders. It has been replaced by + ``treeadapters.sax.to_sax`` which is generic and supports any + treewalker; it also resolves all known bugs with ``dom2sax``. + +* Fix treewalker assertions on hitting bytes strings on + Python 2. Previous to 1.0b1, treewalkers coped with mixed + bytes/unicode data on Python 2; this reintroduces this prior + behaviour on Python 2. Behaviour is unchanged on Python 3. + + +1.0b1 +~~~~~ + +Released on May 17, 2013 + +* Implementation updated to implement the `HTML specification + `_ as of 5th May + 2013 (`SVN `_ revision r7867). + +* Python 3.2+ supported in a single codebase using the ``six`` library. + +* Removed support for Python 2.5 and older. + +* Removed the deprecated Beautiful Soup 3 treebuilder. + ``beautifulsoup4`` can use ``html5lib`` as a parser instead. Note that + since it doesn't support namespaces, foreign content like SVG and + MathML is parsed incorrectly. + +* Removed ``simpletree`` from the package. The default tree builder is + now ``etree`` (using the ``xml.etree.cElementTree`` implementation if + available, and ``xml.etree.ElementTree`` otherwise). + +* Removed the ``XHTMLSerializer`` as it never actually guaranteed its + output was well-formed XML, and hence provided little of use. + +* Removed default DOM treebuilder, so ``html5lib.treebuilders.dom`` is no + longer supported. ``html5lib.treebuilders.getTreeBuilder("dom")`` will + return the default DOM treebuilder, which uses ``xml.dom.minidom``. + +* Optional heuristic character encoding detection now based on + ``charade`` for Python 2.6 - 3.3 compatibility. + +* Optional ``Genshi`` treewalker support fixed. + +* Many bugfixes, including: + + * #33: null in attribute value breaks XML AttValue; + + * #4: nested, indirect descendant,